KR102556286B1 - 인터넷 환경에서의 WebRTC 기반 통화 연결 방법 및 그 장치 - Google Patents

인터넷 환경에서의 WebRTC 기반 통화 연결 방법 및 그 장치 Download PDF

Info

Publication number
KR102556286B1
KR102556286B1 KR1020210163155A KR20210163155A KR102556286B1 KR 102556286 B1 KR102556286 B1 KR 102556286B1 KR 1020210163155 A KR1020210163155 A KR 1020210163155A KR 20210163155 A KR20210163155 A KR 20210163155A KR 102556286 B1 KR102556286 B1 KR 102556286B1
Authority
KR
South Korea
Prior art keywords
communication
terminal
customer terminal
computing device
call
Prior art date
Application number
KR1020210163155A
Other languages
English (en)
Other versions
KR20230076330A (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 KR1020210163155A priority Critical patent/KR102556286B1/ko
Publication of KR20230076330A publication Critical patent/KR20230076330A/ko
Application granted granted Critical
Publication of KR102556286B1 publication Critical patent/KR102556286B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/0024Services and arrangements where telephone services are combined with data services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1053IP private branch exchange [PBX] functionality entities or arrangements
    • 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/1108Web based protocols, e.g. webRTC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/009Arrangements for interconnection between switching centres in systems involving PBX or KTS networks

Abstract

일 실시예에 따른 컴퓨팅 장치는, 커뮤니케이터, 메모리 및 상기 메모리에 저장된 프로그램을 실행하는 프로세서를 포함하고, 상기 프로그램은, 고객 단말과 웹 소켓을 연결하여 WebRTC(Web Real-Time Communications) 통신을 하며, IP-PBX(Private Branch Exchange)와 SIP(Session Initiation Protocol) 통신을 하고, 상기 WebRTC 통신을 통하여 고객 단말이 전송한 호 연결을 요청하는 SDP(Session Description Protocol) 메시지를 수신한 것에 응답하여 상기 고객 단말과 통화 세션이 연결되고, 상기 통화 세션이 연결된 것에 응답하여, 상기 IP-PBX를 통해 상담원 단말로 SIP 메시지를 송신함으로써, 상기 상담원 단말과 통화 세션을 연결하여 상기 고객 단말과 상기 상담원 단말 간의 미디어 데이터를 중계하는 명령어들을 포함할 수 있다.

Description

인터넷 환경에서의 WebRTC 기반 통화 연결 방법 및 그 장치{WebRTC-BASED CALL CONNECTION METHOD AND DEVICE IN INTERNET ENVIRONMENT}
본 발명은 인터넷 환경에서의 WebRTC 기반 통화 연결 방법 및 그 장치에 관한 것이다. 보다 구체적으로, 단말 상호간 통신 프로토콜(Communication Protocol)이 상이하거나 코덱(Codec)이 상이해도 통신할 수 있는 방법 및 그 장치에 관한 것이다.
대부분의 기업들은 자사의 서비스 제공 또는 홍보 등을 위해 콜센터를 마련하고, 콜센터로 전화를 걸어 접속해 온 고객들에게 다양한 서비스를 제공한다. 또한, 기업들은 대부분 사설 교환망을 운영하고 있으며, 콜센터는 자사의 사설 교환망을 기반으로 한다. 이에 따라, 고객들은 콜센터에 전화를 걸어 자신을 위한 서비스를 요청하거나 각종 안내를 제공받을 수 있고, 반대로 콜센터의 관리자가 고객에게 전화를 걸어 기업 홍보나 설문 조사 등 기업 운영과 관련된 다양한 활동을 할 수 있다.
WebRTC(Web Real-Time Communication)는 웹브라우저(Web Browser) 및 어플리케이션들을 통해 추가적인 플러그인(Plug-In) 설치 없이 음성 통화(Voice Call), 비디오 채팅(Video Chatting), 비디오 통화(Video Telephone: VT, or Video Call), 비디오 회의(video conference), 파일 전송(File Transfer)을 제공하는 기술이다.
WebRTC는 웹 브라우저를 통해 단말 간 음성/영상 통화를 가능하게 하는 표준 기술로 W3C에서 제정한 표준을 따른다. 단말은 웹 서버로부터 Javascript와 HTML5로 작성된 웹 애플리케이션을 내려 받아 실행하고, 웹 서버를 통하여 호 설정을 위한 시그널링(Signaling)을 하며, RTP packet을 통해 단말 간 음성/영상 미디어 패킷을 주고 받을 수 있다. WebRTC 기반의 통신 방식은 피어투피어(peer to peer) 방식을 기본으로 한다.
한편, 대부분의 콜센터는 발신자 부담 전화를 하게 되는데 고객들은 이러한 부담을 감당해야 하는 문제점이 있다.
본 개시의 일 측면은 콜센터 고객의 통화 비용을 경감할 수 있는 인터넷 환경에서의 WebRTC 기반 통화 연결 방법 및 그 장치를 제공한다.
일 실시예에 따른 컴퓨팅 장치는, 커뮤니케이터, 메모리 및 상기 메모리에 저장된 프로그램을 실행하는 프로세서를 포함하고, 상기 프로그램은, 고객 단말과 웹 소켓을 연결하여 WebRTC(Web Real-Time Communications) 통신을 하며, IP-PBX(Private Branch Exchange)와 SIP(Session Initiation Protocol) 통신을 하고, 상기 WebRTC 통신을 통하여 고객 단말이 전송한 호 연결을 요청하는 SDP(Session Description Protocol) 메시지를 수신한 것에 응답하여 상기 고객 단말과 통화 세션이 연결되고, 상기 통화 세션이 연결된 것에 응답하여, 상기 IP-PBX를 통해 상담원 단말로 SIP 메시지를 송신함으로써, 상기 상담원 단말과 통화 세션을 연결하여 상기 고객 단말과 상기 상담원 단말간의 미디어 데이터를 중계하는 명령어들을 포함할 수 있다.
상기 프로그램은, 상기 상담원 단말로부터 상기 SIP 메시지의 응답을 수신한 것에 응답하여 커뮤니케이터로 NAT(Network Address Translation) 신호를 전달하여 미디어 데이터를 중계하는 명령어들을 포함할 수 있다.
상기 프로그램은, 상기 고객 단말로부터 SRTP(Secure Real-time Transport Protocol) 통신을 통해 수신된 미디어 데이터를 복호화하여 RTP(Real-time Transport Protocol) 통신을 통해 상기 상담원 단말로 전달하는 명령어들을 포함할 수 있다.
상기 프로그램은, 상기 상담원 단말로부터 RTP(Real-time Transport Protocol) 통신을 통해 수신된 미디어 데이터를 암호화하여 SRTP(Secure Real-time Transport Protocol) 통신을 통해 상기 고객 단말로 전달하는 명령어들을 포함할 수 있다.
상기 프로그램은, 상기 고객 단말로부터 SRTP(Secure Real-time Transport Protocol) 통신을 통해 DTMF(Dual Tone Multi Frequency) 데이터가 수신되면, RTP(Real-time Transport Protocol) 통신을 통해 상기 DTMF 데이터를 상기 상담원 단말로 전달하는 명령어들을 포함할 수 있다.
상기 프로그램은, 상기 상담원 단말로부터 호 전환을 위한 SIP 메시지를 수신한 것에 응답하여 다른 상담원 단말과 통화 세션을 연결하도록 상기 커뮤니케이터로 NAT(Network Address Translation) 신호를 송신하는 명령어들을 포함할 수 있다.
상기 프로그램은, 상기 고객 단말로부터 SRTP(Secure Real-time Transport Protocol) 통신을 통해 DTMF(Dual Tone Multi Frequency) 데이터가 수신된 것에 응답하여, 상기 고객 단말과의 통화 세션을 홀드하는 명령어들을 포함할 수 있다.
일 실시예에 따른 컴퓨팅 장치 제어 방법은, 고객 단말과 웹 소켓을 연결하고, 상기 고객 단말로부터 WebRTC(Web Real-Time Communications) 통신을 통하여 호 연결을 요청하는 SDP(Session Description Protocol) 메시지를 수신한 것에 응답하여 상기 고객 단말과 통화 세션을 연결하고, 상기 통화 세션이 연결된 것에 응답하여, IP-PBX(Private Branch Exchange)과 상담원 단말 간 SIP(Session Initiation Protocol) 통신을 통하여 상기 상담원 단말과 통화 세션을 연결하고, 상기 상담원 단말과 통화 세션이 연결된 것에 응답하여, 상기 고객 단말과 상기 상담원 단말 간의 미디어 데이터를 중계할 수 있다.
본 개시의 일 측면은 콜센터 고객의 통화 비용을 경감할 수 있는 인터넷 환경에서의 WebRTC 기반 통화 연결 방법 및 그 장치를 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 인터넷 환경에서의 WebRTC 기반 통화 연결 시스템의 구성을 나타낸 블록도이다.
도 2는 본 발명의 일 실시예에 의한 컴퓨팅 장치와 고객 단말 간의 통화 세션 연결을 설명하기 위한 순서도이다.
도 3은 본 발명의 일 실시예에 의한 컴퓨팅 장치와 상담원 단말 간의 통화 세션 연결을 설명하기 위한 순서도이다.
도 4는 본 발명의 일 실시예에 의한 고객 단말이 대표 번호로 전화한 경우 컴퓨팅 장치와 고객 단말간의 통화 세션 연결을 설명하기 위한 순서도이다.
도 5는 본 발명의 일 실시예에 의한 컴퓨팅 장치가 상담원 단말과 통화 세션 연결을 설명하기 위한 순서도이다.
도 6은 본 발명의 일 실시예에 의한 컴퓨팅 장치가 고객 단말과 상담원 단말간의 미디어 중계를 설명하기 위한 순서도이다.
도 7은 본 발명의 일 실시예에 의한 컴퓨팅 장치의 통화 세션을 전환하여 연결하는 것을 설명하기 위한 순서도이다.
본 명세서에 기재된 실시예와 도면에 도시된 구성은 개시된 발명의 바람직한 일 예에 불과할 뿐이며, 본 출원의 출원시점에 있어서 본 명세서의 실시예와 도면을 대체할 수 있는 다양한 변형 예들이 있을 수 있다.
본 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 간접적으로 연결되어 있는 경우를 포함하고, 간접적인 연결은 무선 통신망을 통해 연결되는 것을 포함한다.
또한, 본 명세서에서 사용한 용어는 실시예를 설명하기 위해 사용된 것으로, 개시된 발명을 제한 및/또는 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는다.
또한, 본 명세서에서 사용한 "제1", "제2" 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않으며, 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
또한, "~부", "~기", "~블록", "~부재", "~모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미할 수 있다. 예를 들어, 상기 용어들은 FPGA(field-programmable gate array) / ASIC(application specific integrated circuit) 등 적어도 하나의 하드웨어, 메모리에 저장된 적어도 하나의 소프트웨어 또는 프로세서에 의하여 처리되는 적어도 하나의 프로세스를 의미할 수 있다.
각 단계들에 붙여지는 부호는 각 단계들을 식별하기 위해 사용되는 것으로 이들 부호는 각 단계들 상호 간의 순서를 나타내는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다.
WebRTC(Web Real-Time Communication)는 웹 브라우저(Web Browser) 간에 별도 플러그인의 도움 없이도 서로 통신할 수 있도록 설계된 API(Application Programming Interface)이다. WebRTC는 웹 브라우저 상에서의 음성 통화, 영상 통화, P2P (peer to peer) 파일 공유 등으로 활용될 수 있다. WebRTC 기술은 HTML(Hyper Text Markup Language) 5와 자바스크립트(Javascript)만을 이용하여 실시간 통신을 구현하므로, WebRTC 통신을 위한 별도의 플러그인을 웹브라우저에 설치하지 않는다
한편, 대부분의 콜센터는 발신자 부담 전화를 하게 되는데 고객들은 이러한 부담을 감당해야 하는 문제점이 있다.
또한, 기존의 콜센터 방식은, 서로 다른 규격의 통신 프로토콜(Communication Protocol)을 사용하는 경우, 서로 호환하여 미디어 데이터를 중계할 수 없게 되고, 이를 해결하기 위하여 새로운 장비를 설치해야 하는 등 추가적인 비용이 발생하는 문제점이 있다.
본원의 일 실시예에 따른 WebRTC 기반 통화 연결 방법 및 그 장치는 이러한 문제점을 해결할 수 있는 컴퓨팅 장치 및 그 제어 방법을 제공할 수 있다.
이하에서는 본 발명에 따른 실시예를 첨부된 도면을 참조하여 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 인터넷 환경에서의 WebRTC 기반 통화 연결 시스템의 구성을 나타낸 블록도이다.
도 1을 참조하면, 통화 연결 시스템은 고객 단말(1), 컴퓨팅 장치(100), WebRTC 서버(200), IP-PBX(300) 및 상담원 단말(2)을 포함할 수 있다.
고객 단말(1)과 WebRTC 서버(200)는 네트워크를 통해 통신을 제공할 수 있다. 네트워크의 일 예에는, 3GPP(3rd Generation Partnership Project) 네트워크, LTE(Long Term Evolution) 네트워크, 5G 네트워크, WIMAX(World Interoperability for Microwave Access) 네트워크, 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), 블루투스(Bluetooth) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다. 다른 실시예로, 통화 연결을 제공하는 통신 사업자의 망으로서, 전화망(PSTN, public switched telephone network) 및/또는 데이터망(PSDN, Public Switched Data Network)을 포함할 수 있다.
고객 단말(1)의 일 예에는 네트워크를 통해 원격지의 서버에 접속하거나, 타 단말 및 서버와 연결 가능하면서, 음성통화가 가능한 컴퓨터나 휴대용 단말기, 텔레비전으로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop) 등을 포함하고, 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(Smart Phone) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다. 또한, 텔레비전은 IPTV(Internet Protocol Television), 인터넷 TV(Internet Television), 지상파 TV, 케이블 TV 등을 포함할 수 있다.
한편, 상담원 단말(2)은 IP-PBX(Internet Protocol Private Brach Exchange)(300)로부터 전달된 고객의 음성 호가 연결되어 상담원과 고객 간에 음성 통화를 제공하는 단말이 될 수 있으며, 또한 IP-PBX(300)로부터 전달된 고객의 고객 정보를 수신하고 표시하는 단말이 될 수 있다. 여기에서, 고객 정보는 음성 호를 식별하기 위한 음성 호 식별정보를 포함할 수 있는데, 예를 들어 음성 호 식별정보는 음성 호의 발신자 번호 또는 음성 호의 IP주소일 수 있다.
상담원 단말(2)은 IP Network에 연결되고, IP 통화를 위한 VoIP 프로토콜(예를 들어, H.323, SIP, Skinny 등)을 이용하여 IP-PBX(300)을 통해 통화 절차를 진행할 수 있고, 이에 따라 통화 세션이 연결(설립)될 수 있다.
이에 따라서, 상담원 단말(2)은 IP-PBX(300)에 포함되거나 IP-PBX(300)의 외부에 위치하면서 IP-PBX(300)와 통신할 수 있다. 즉, 상담원 단말(2)은 어플리케이션 설치가 가능한 IP Phone으로서, IP Network에 연결되어 다양한 형태로 구현될 수 있다. 상담원 단말(2)의 형태에 제한되는 것은 아니다.
IP-PBX(300)은 인터넷 프로토콜 기반의 사설 교환기로서, VoIP(Voice Over Internet Protocol) 서비스를 제공할 수 있다. 이러한 VoIP서비스는 공지의 서비스이므로 자세한 설명은 생략하도록 한다.
IP-PBX(300)는 IP 주소를 가진 컴퓨팅 장치(100)와 상담원 단말(2)간의 회선 교환을 수행한다.
IP-PBX(300)는 컴퓨팅 장치(100)로부터 호 연결 요청이 수신되면, 링백톤(Ringback Tone)을 컴퓨팅 장치(100)로 송출할 수 있다. IP-PBX(300)는 컴퓨팅 장치(100)로 링백톤(Ringback Tone)을 송출하면서 동시에 상담원 단말(2)과 호 설립(Call Establishment)를 수행할 수 있다. 이 경우, 호 설립이 완료(통화 세션이 연결)되면(상담원 단말(2)로부터 응답 메시지가 수신)되면 컴퓨팅 장치(100)로의 링백톤(Ringback Tone) 송출을 중단하고, RTP 통신을 위한 절차를 진행할 수 있다.
한편, IP-PBX(300)는 데이터 네트워크를 통해 보이스와 비디오를 컴퓨팅 장치(100) 및/또는 상담원 단말(2)로 전달할 수 있다. 또한 PSTN과 연동될 수 있다. IP-PBX(300)는 Voice Gateway를 포함할 수 있다. Voice gateway는 서로 다른 미디어인 SPTN과 IP Network간 상호 데이터를 교환할 수 있다. 예를 들어, 전화국에 연결되는 E1/T1(ISDN Trunk), FSX/FXO 및 상담원 단말(2)과 연결될 수 있다. 이에 따라서, IP-PBX(300)는 상담원 단말(2)과 컴퓨팅 장치(100)간의 네트워크 통신을 수행할 수 있다.
또한, IP-PBX(300)는 RTP통신을 지원할 수 있다. 이에 따라서, 인터넷 프로토콜 네트워크에서 미디어 데이터를 송수신하기 위한 범용 데이터 형식 및 네트워크 프로토콜을 지정할 수 있다. 보다 상세하게, IP-PBX(300)는 신호의 샘플링 속도, 프레임의 크기 및 인터벌(타이밍)(Interval)과 같은 미디어 인코딩의 세부 사항을 지정할 수 있다.
WebRTC 서버(200)는 웹 브라우저(Web Browser)와 웹소켓(WebSocket) 통신을 수행하여 연결을 유지한 상태로 데이터를 교환하는 웹소켓 서버(210), STUN 서버(220) 및 TURN 서버(230)를 포함한다. WebRTC 서버(200)는 예를 들어, 웹소켓 서버(210), STUN 서버(220) 및/또는 TURN 서버(230)와 동일한 하드웨어에서 구현되거나, 다른 하드웨어에서 구현될 수 있는 서버일 수 있다.
STUN(Session Traversal Utilities for NAT) 서버(210)는 IETF RFC 5389에 정의된 네트워크 프로토콜/패킷 포맷으로, 어떤 피어이 NAT/Firewall 뒤에 있는지 판단하거나 어떤 피어에 대한 Public IP Address를 결정하고, NAT/Firewall의 유형에 대해서 파악하여 고객 단말(1) 및/또는 컴퓨팅 장치(100)로 알려주는 것을 수행한다. 즉, STUN 서버(210)는 P2P(Peer-to-Peer) 연결을 위한 IP 정보를 제공할 수 있다.
다시 말하면, 고객 단말(1) 및/또는 컴퓨팅 장치(100)는 STUN 서버(220)를 통해 각각의 공인 IP 주소를 확인하고, 상대방에게 P2P로 직접적인 연결을 막는 다른 요소들을 알려줄 수 있다.
TURN(Traversal Using Relay NAT) 서버(230)는 Symmetric NAT를 회피하기 위한 서버이다. 즉, TURN 서버(230)와 연결된 각 피어 사이의 미디어 데이터를 중계하여 각 피어 간의 통화를 중계할 수 있다. 보다 구체적으로, TURN 서버(230)는 고객 단말(1)과 컴퓨팅 장치(100)간의 Symmetric NAT을 회피하기 위하여, 고객 단말(1) 및 컴퓨팅 장치(100) 각각 연결되어 상호간의 패킷은 전달함으로써, 통화를 중계할 수 있다.
TURN 서버(230)는 일반적으로 STUN(Session Traversal Utilities for NAT) 및 TURN을 모두 지원할 수 있다. 일 실시예에 있어서, TURN 서버(230)는 고객 단말(1)이 ICE(Interactive Connectivity Establishment) 프로토콜(protocol)을 이용하여 피어(peer) 간의 직접 미디어 연결에 실패할 경우, 미디어를 중계(relay)하여 피어 간 미디어 통신을 수행할 수 있도록 할 수 있다.
WebRTC 서버(200)는 ICE(Interactive Connectivity Establishment) 프로토콜을 이용하여 고객 단말(1)과 컴퓨팅 장치(100)간(즉, 피어 간) P2P(Peer To Peer) 연결을 수행하여 미디어의 전송을 수행할 수 있다. 또한, 고객 단말(1)은 ICE 프로토콜에 따라 STUN의 실패 시, WebRTC 서버(200)에 의해 할당된 TURN 서버(230)를 통해 미디어의 전송을 수행할 수 있다. 한편, 고객 단말(1)은 미디어 전송이 완료되면, WebRTC 미디어 품질 정보(이하, 간단히 "미디어 품질 정보"라 함), 고객 단말(1)의 공인(public) IP 정보, 할당된 TURN 서버(230)의 IP 정보를 WebRTC 서버(200)로 전송할 수 있다. 일 실시예에 있어서, 미디어 품질 정보는 RTT(Round-Trip Time), 패킷 손실(Packet Loss), 지터(Jitter) 등을 포함할 수 있다.
WebRTC 서버(200)는 고객 단말(1)과 웹소켓(WebSocket) 통신을 한다. 또한, WebRTC 서버(200)의 세션 컨트롤러는 WebRTC 통신을 위한 호 처리를 한다. 호 처리는 SIP(Session Initiation Protocol)와 자체 규격(websocket 기반의 json 형태) 간에 변환을 포함할 수 있다. WebRTC 서버(200)는 웹소켓 서버(210)를 통해 상담원 단말(123)과 고객 단말(303) 각각에게 서로 간의 WebRTC 세션에 필요한 정보를 전달할 수 있다.
WebRTC 서버(200)는 고객 단말(1) 및 TURN 서버(230)와 연관되는 관리 정보를 포함하도록 생성된 데이터베이스를 저장할 수 있다. 관리 정보는 예를 들어, 고객 단말(1)의 공인 IP 정보 및 TURN 서버(230)에 대응하는 TURN 서버 정보를 포함할 수 있다. 예를 들면, TURN 서버 정보는 TURN 서버(230)의 IP 정보를 포함할 수 있다. 일 실시예에 있어서, 관리 정보는 TURN 서버(230)에 각각 대응하는 복수의 미디어 품질 정보 및 복수의 부하 상태 정보를 더 포함할 수 있다. 즉, 관리 정보는 TURN 서버(230)에 해당하는 TURN 서버 정보에 대해 미디어 품질 정보 및 부하 상태 정보를 더 포함할 수 있다. 예를 들면, 미디어 품질 정보는 미디어 품질값을 포함할 수 있다.
WebRTC 서버(200)는 고객 단말(1) 및/또는 컴퓨팅 장치(100)와 연결되어, 고객 단말(1) 및 컴퓨팅 장치(100)와 정보의 송수신을 수행할 수 있다. 일 실시예에 있어서, WebRTC 서버(200)는 고객 단말(1) 및/또는 컴퓨팅 장치(100)로부터 ICE 서버 요청 정보를 수신하고, 수신된 ICE 서버 요청 정보를 상호간 전송할 수 있다. 또한, WebRTC 서버(200)는 고객 단말(1) 및/또는 컴퓨팅 장치(100)로부터 미디어 품질 정보, 고객 단말(1) 및/또는 컴퓨팅 장치(100)의 공인 IP 정보 및 TURN 서버(230)의 IP 정보를 수신하고, 수신된 미디어 품질 정보, 공인 IP 정보 및 IP 정보를 상호간 전송할 수 있다. 또한, WebRTC 서버(200)는 고객 단말(1) 및/또는 컴퓨팅 장치(100)로부터 ICE 서버 정보를 수신하고, 수신된 ICE 서버 정보를 고객 단말(1) 및/또는 컴퓨팅 장치(100)로 전송할 수 있다.
한편, ICE 서버는 예를 들어, STUN 서버(220) 및/또는 TURN 서버(230)와 동일한 서버일 수 있다. ICE는 고객 단말(1)이 페이지 요청을 송수신한 웹 브라우저(Web browser)가 Peer가 될 수 있도록 하여 P2P 연결이 가능하게 해주는 프레임 워크일 수 있다. 이는 ICE가 피어간 연결을 시도하는 방화벽을 통과할 필요가 있거나 고객 단말(1)에 퍼블릭 IP가 없는 경우, 고유 주소값을 할당해야 할 필요가 있거나 라우터가 피어 간의 직접 연결을 허용하지 않는 경우 데이터를 중계해야 하므로 STUN 서버(220) 및/또는 TURN 서버(230)를 이용할 수 있다.
통화 연결 시스템은, 적어도 하나의 프로세서(110)에 의해 동작하는 컴퓨팅 장치(100)에서 본 발명의 동작을 실행하도록 기술된 명령들(instructions)이 포함된 프로그램을 실행할 수 있다.
컴퓨팅 장치(100)의 하드웨어는 적어도 하나의 프로세서(110), 메모리(120), 스토리지(130), 커뮤니케이터(140)를 포함할 수 있고, 버스(bus)를 통해 연결될 수 있다. 이외에도 입력 장치 및 출력 장치 등의 하드웨어가 포함될 수 있다. 컴퓨팅 장치(100)는 프로그램을 구동할 수 있는 운영 체제(Operating System, OS)를 비롯한 각종 소프트웨어가 탑재될 수 있다.
프로세서(110)는 컴퓨팅 장치(100)의 동작을 제어하는 장치로서, 프로그램에 포함된 명령들을 처리하는 다양한 형태의 프로세서일 수 있다.
예를 들어, 프로세서(110)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 등 일 수 있다. 메모리(120)는 본 발명의 동작을 실행하도록 기술된 명령들이 프로세서(110)에 의해 처리되도록 해당 프로그램을 로드할 수 있다. 메모리(120)는 예를 들면, ROM(read only memory), RAM(random access memory) 등 일 수 있다. 스토리지(130)는 본 발명의 동작을 실행하는데 요구되는 각종 데이터, 프로그램 등을 저장할 수 있다. 커뮤니케이터(140)는 유/무선 통신 모듈일 수 있다.
컴퓨팅 장치(100)에 의하여 실행되는 프로그램은, 고객 단말(1)과 웹소켓 서버(210)를 연결하여 WebRTC 통신을 하도록 명령어를 포함할 수 있다. 또한, 프로그램은 IP-PBX(300)과 SIP 통신을 하도록 명령어를 포함할 수 있다.
프로그램은, WebRTC 통신을 통하여 고객 단말(1)이 전송한 호 연결을 요청하는 SDP 메시지를 수신한 것에 응답하여, 고객 단말(1)과 호 설립(통화 세션 연결)하도록 명령어를 포함할 수 있다.
또한 프로그램은, 고객 단말(1)과 호 설립이 된 것에 응답하여, IP-PBX(300)을 통해 상담원 단말(2)로 SIP 메시지를 송신하도록 명령어를 포함할 수 있다. 이에 따라, 프로그램은 상담원 단말(2)과 호 설립(통화 세션 연결)하여 고객 단말(1)과 상담원 단말(2)간의 미디어 데이터를 중계하도록 명령어를 포함할 수 있다.
프로그램은, 상담원 단말(2)로부터 SIP 메시지의 응답을 수신한 것에 응답하여 커뮤니케이터(140)로 NAT(Network address Translation) 신호를 전달하여 미디어 데이터를 중계하는 명령어를 포함할 수 있다
프로그램은 고객 단말(1)로부터 SRTP 통신을 통해 수신된 미디어 데이터를 복호화하여 RTP 통신을 통해 상담원 단말(2)로 전달하는 명령어들을 포함할 수 있다. 또한, 프로그램은 상담원 단말(2)로부터 RTP 통신을 통해 수신된 미디어 데이터를 암호화하여 SRTP 통신을 통해 고객 단말(1)로 전달하는 명령어를 포함할 수 있다.
프로그램은, 고객 단말로부터 SRTP 통신을 통해 DTMF(Dual Tone Multi Frequency) 데이터가 수신되면, RTP 통신을 통해 상기 DTMF 데이터를 상담원 단말(2)로 전달하는 명령어를 포함할 수 있다.
프로그램은 제1 상담원 단말(2a)로부터 호 전환을 위한 SIP 메시지를 수신한 것에 응답하여, 제2 상담원 단말(2b)과 호 설립(통화 세션을 연결)하도록 커뮤니케이터(14)로 NAT(Network Address Translation) 신호를 송신하는 명령어를 포함할 수 있다.
또한 프로그램은, 고객 단말(1)로부터 SRTP 통신을 통해 DTMF 데이터가 수신된 것에 응답하여 고객 단말(1)과의 통화 세션을 홀드하는 명령어를 포함할 수 있다.
도 2는 본 발명의 일 실시예에 의한 컴퓨팅 장치와 고객 단말 간의 통화 세션 연결을 설명하기 위한 순서도이다.
고객 단말(1)과 웹소켓 서버(210) 및 컴퓨팅 장치(100)는 SDP를 통해 통신할 수 있다.
도 2를 참조하면, 고객 단말(1)은 S101 단계에서 STUN 서버(220)로 IP 정보를 요청하는 메시지를 송신할 수 있다. 이에 따라, 고객 단말(1)은 S102 단계에서 P2P(Peer-to-Peer) 연결을 위한 IP 정보를 STUN 서버(220)로부터 수신할 수 있다.
컴퓨팅 장치(100)는 S103 단계에서 STUN 서버(220)로 IP 정보를 요청하는 신호를 송신할 수 있다. 이에 따라, 컴퓨팅 장치(100)는 S104단계에서 P2P(Peer-to-Peer) 연결을 위한 IP 정보를 STUN 서버(220)로부터 수신할 수 있다.
이에 따라서, 고객 단말(1)은 S105 단계에서 SDP 정보를 최초 전달 혹은 변경하고자 하는 메시지를 포함하는 Offer SDP를 웹소켓 서버(210)로 송신할 수 있다.
웹소켓 서버(210)는 S106 단계에서 Offer SDP를 컴퓨팅 장치(100)로 송신할 수 있다.
컴퓨팅 장치(100)는 S107 단계에서 상기 S106 단계에서 수신한 Offer SDP를 참조하여 만든 응답 메시지을 포함하는 Answer SDP를 웹소켓 서버(210)로 송신할 수 있다.
웹소켓 서버(210)는 S108 단계에서 Anser SDP를 고객 단말(1)로 전달할 수 있다.
고객 단말(1)은 S109 단계에서 고객 단말(1)과 컴퓨팅 장치(100)간 연결성 체크(Connectivity Checks)를 위한 ICE Candidate(A)를 웹소켓 서버(210)로 송신할 수 있다.
웹소켓 서버(210)는 S110 단계에서 ICE Candidate(A)를 컴퓨팅 장치(100)로 전달할 수 있다.
컴퓨팅 장치(100)는 S111 단계에서 고객 단말(1)과 컴퓨팅 장치(100)간 연결성 체크(Connectivity Checks)를 위한 ICE Candidate(B)를 웹소켓 서버(210)로 송신할 수 있다.
웹소켓 서버(210)는 S112 단계에서 ICE Candidate(B)를 고객 단말(1)로 전달할 수 있다.
이에 따라서, 고객 단말(1) 및 컴퓨팅 장치(100)는 사용 가능한 주소를 결정하고, S113 단계에서 상호 간의 SRTP-DTLS 통신을 통해 미디어 데이터를 송수신할 수 있다. 즉, 고객 단말(1) 및 컴퓨팅 장치(100)는 SRTP/DTLS 통신을 통해 TURN 서버(230)와 미디어 데이터를 송수신할 수 있다.
보다 구체적으로, 고객 단말(1)은 S114 단계에서 TURN 서버(230)와 SRTP-DTLS 통신을 통해 미디어 데이터를 송수신할 수 있으며, 컴퓨팅 장치(100)는 S115 단계에서 TURN 서버(230)와 SRTP/DTLS 통신을 통해 미디어 데이터를 송수신할 수 있다.
이에 따라, 이상의 S101 내지 S115 단계를 통해 호 설립(Call Establish) 과정이 완료되면, 고객 단말(1)과 컴퓨팅 장치(100)는 WebRTC 서버(200)의 WebRTC 통신으로 미디어를 송수신할 수 있다. 즉, 고객 단말(1)은 WebRTC 서버(200)와 SRTP-DTLS 통신을 한다. 또한, 컴퓨팅 장치(100)는 WebRTC 서버(200)와 SRTP-DTLS 통신을 한다.
도 3은 본 발명의 일 실시예에 의한 컴퓨팅 장치와 상담원 단말 간의 통화 세션 연결을 설명하기 위한 순서도이다.
도 3을 참조하면, 컴퓨팅 장치(100)는 S201 단계에서 IP-PBX(300)과 SIP/SDP 통신을 통해 상기 IP-PBX(300)로 SIP/SDP INVITE 메시지를 송신할 수 있다.
IP-PBX(300)는 S202 단계에서 상담원 단말(2)과 SIP/SDP 통신을 통해 상기 상담원 단말(2)로 SIP/SDP INVITE 메시지를 전달할 수 있다.
이에 따라 IP-PBX(300)는 S203 단계에서 컴퓨팅 장치(100)로 Status: 100 Trying 메시지를 전송한다
상담원 단말(2)은 S204 단계에서 IP-PBX(300)로 183 Session Progress 상태 메시지를 송신할 수 있다.
IP-PBX(300)는 S204 단계에서 컴퓨팅 장치(100)로 183 Session Progress 상태 메시지를 전달할 수 있다.
상담원 단말(2)은 S206 단계에서 200 OK 상태 메시지를 IP-PBX(300)로 송신할 수 있다.
IP-PBX(300)는 S207 단계에서 200 OK 상태 메시지를 컴퓨팅 장치(100)로 전달할 수 있다.
컴퓨팅 장치(100)는 S208 단계에서 ACK 메시지를 IP-PBX(300)로 송신할 수 있다.
IP-PBX(300)는 S209 단계에서 ACK 메시지를 상담원 단말(2)로 전달할 수 있다.
이상의 S201 내지 S209 단계를 통해 호 설립(Call Establish) 과정이 완료되면, 컴퓨팅 장치(100)와 상담원 단말(2)은 S210 단계에서 RTP 통신으로 미디어를 송수신한다. 즉, 컴퓨팅 장치(100)와 상담원 단말(2)은 UDP/RTP 통신을 한다
이후 상담원 단말(2)은 S211 단계에서 Bye 메시지를 IP-PBX(300)로 송신할 수 있다
IP-PBX(300)는 S212 단계에서 Bye 메시지를 컴퓨팅 장치(100)로 전달할 수 있다.
이에 따라서 컴퓨팅 장치(100)는 S213 단계에서 IP-PBX(300)로 200 OK 상태 메시지를 송신할 수 있다.
IP-PBX(300)는 S214단계에서 상담원 단말(2)로 200 OK 상태 메시지를 전달함으로써, 통화 세션이 종료될 수 있다.
도 4는 본 발명의 일 실시예에 의한 고객 단말이 대표 번호로 전화한 경우 컴퓨팅 장치와 고객 단말간의 통화 세션 연결을 설명하기 위한 순서도이다.
도 4의 각 단계들은 도 2에서 설명한 내용과 유사하므로, 유사한 단계들에 대해서는 자세한 설명은 생략하고 차별되는 구성 위주로 설명하도록 한다.
도 4를 참조하면, 고객 단말(1)은 S301 단계에서 웹 브라우저(3)로 페이지 요청을 할 수 있다. 즉, 고객 단말(1)은 웹 브라우저(3)를 통해 콜센터 대표 전화번호로 발신할 수 있다.
웹 브라우저(3)는 S302 단계에서, S301 단계에서 수신한 페이지 요청에 따라 페이지 응답을 고객 단말(1)로 송신할 수 있다.
이에 따라 고객 단말(1)은 S303 단계에서 WebRTC 통신을 통해 WebRTC SDP를 웹소켓 서버(210)로 송신할 수 있다.
이 경우, 웹 소켓 서버(210)는 S304 단계에서 WebRTC 통신을 통해 WebRTC SDP를 컴퓨팅 장치(100)로 전달할 수 있다.
컴퓨팅 장치(100)는 S305 단계에서, 상기 S304 단계에서 수신한 WebRTC SDP에 대한 응답 메시지를 웹 소켓 서버(210)로 송신할 수 있다.
웹소켓 서버(210)는 S306 단계에서, 상기 S305 단계에서 수신한 WebRTC SDP에 대한 응답 메시지를 고객 단말(1)로 전달할 수 있다.
이에 따라서, 고객 단말(1)은 S307 단계에서 UDP 통신을 통해 TURN 서버(220)로 ICE 요청 메시지를 송신할 수 있다. 또한, 컴퓨팅 장치(100)는 S308 단계에서 UDP 통신을 통해 TURN 서버(220)로 ICE 요청 메시지를 송신할 수 있다.
TURN 서버(220)는 S309단계에서, 상기 S307 단계에서 수신한 ICE 요청 메시지에 대한 응답 메시지를 UDP 통신을 통해 고객 단말(1)로 송신할 수 있다.
TURN 서버(220)는 S310 단계에서, 상기 S308 단계에서 수신한 ICE 요청 메시지에 대한 응답 메시지를 UDP 통신을 통해 TURN 서버(220)로 송신할 수 있다
이상 S301 내지 S310 단계를 통해 호 설립 과정(통화 세션 연결)이 완료되면, 고객 단말(1)은 컴퓨팅 장치(100)와 S311 단계에서 WebRTC 통신으로 미디어 송수신할 수 있다. 즉, 고객 단말(1)은 WebRTC 서버(200)와 TURN/SRTP/DTLS 통신을 하고, WebRTC 서버(200)는 컴퓨팅 장치(100)와 TURN/SRTP/DTLS 통신을 할 수 있다.
도 5는 본 발명의 일 실시예에 의한 컴퓨팅 장치가 상담원 단말과 통화 세션 연결을 설명하기 위한 순서도이다.
도 5의 각 단계들은 도 3에서 설명한 내용과 유사하므로, 유사한 단계들에 대해서는 자세한 설명은 생략하고 차별되는 구성 위주로 설명하도록 한다.
도 5를 참조하면, 컴퓨팅 장치(100)는 S401 단계에서 IP-PBX(300)로 SIP INVITE 메시지를 SIP/SDP 통신을 통해 송신할 수 있다. 보다 상세하게, 컴퓨팅 장치(100)는 상술한 고객 단말(1)과 컴퓨팅 장치(100)간의 호 설립(통화 세션 연결)이 완료된 것에 응답하여, S401 단계에서 IP-PBX(300)로 전화 연결을 시도하는 SIP INVITE 메시지를 송신할 수 있다.
이에 따라서 IP-PBX(300)는 S402 단계에서 상담원 단말(2)로 S401 단계에서 컴퓨팅 장치(100)로부터 수신한 SIP INVITE 메시지를 전달할 수 있다.
상담원 단말(2)은 S403 단계에서, 상기 S402에서 수신한 SIP INVITE 메시지에 대한 응답 메시지를 SIP/SDP 통신을 통해 IP-PBX(300)로 송신할 수 있다.
IP-PBX(300)는 S404 단계에서, 상기 S403 단계에서 수신한 SIP INVITE 메시지에 대한 응답 메시지를 컴퓨팅 장치(100)로 전달할 수 있다.
이에 따라서, 컴퓨팅 장치(100)는 S405단계에서 커뮤니케이터(140)로 IP/PORT 지정 명령을 송신할 수 있다. 커뮤니케이터(140)는 S406 단계에서 상기 S405 단계에서 수신한 IP/PORT 지정 명령에 기초하여, 상담원 단말(2)과 호 설립(통화 세션을 연결)할 수 있다. 여기에서 IP/PORT 지정 명령은 예를 들어, NAT(Network Address Translation) 신호일 수 있다.
즉, 상술한 S401 내지 S405 단계를 통해 호설립 과정이 완료되면, 컴퓨팅 장치(100)의 커뮤니케이터(140)는 상담원 단말(2)과 RTP통신을 통해 미디어 데이터를 송수신할 수 있다.
도 6은 본 발명의 일 실시예에 의한 컴퓨팅 장치가 고객 단말과 상담원 단말간의 미디어 중계를 설명하기 위한 순서도이다.
도6의 각 단계들은 도 4 및 도 5에서 설명한 내용과 유사하므로, 유사한 단계들에 대해서는 자세한 설명은 생략하고 차별되는 구성 위주로 설명하도록 한다.
도 6을 참조하면, 고객 단말(1)과 컴퓨팅 장치(100)의 커뮤니케이터(140)는 S501단계에서 호 설립(통화 세션 연결)될 수 있다. 이에 따라, 고객 단말(1)과 컴퓨팅 장치(100)의 커뮤니케이터(140)는 상호간 SRTP/DTLS 통신을 통해 미디어 데이터를 송수신할 수 있다.
컴퓨팅 장치(100)의 커뮤니케이터(140)는 S502 단계에서 상담원 단말(2)과 호 설립(통화 세션 연결)될 수 있다. 이에 따라, 컴퓨팅 장치의 커뮤니케이터(140) 및 상담원 단말(2)은 상호간 RTP 통신을 통해 미디어 데이터를 송수신할 수 있다.
이에 따라서, 커뮤니케이터(140) 및/또는 TURN 서버(230)는 고객 단말(1) 및/또는 상담원 단말(2)과 미디어 데이터를 송수신하거나 미디어 데이터를 중계할 수 있도록 상기 미디어 데이터를 전달할 수 있다.
보다 상세하게, 고객 단말(1)과 TURN 서버(230)는 S503 단계에서 SRTP 통신을 통해 미디어 데이터를 송수신하고, TURN 서버(230)와 커뮤니케이터(140)는 S504단계에서 SRTP 통신을 통해 미디어 데이터를 송수신할 수 있다. 즉, TURN 서버(230)는 고객 단말(1)과 커뮤니케이터(140)간의 미디어 데이터를 중계할 수 있다.
또한, 커뮤니케이터(140)와 상담원 단말(2)은 상술한 바와 같이 단계 S505에서 RTP 통신을 통해 미디어 데이터를 송수신할 수 있다.
이에 따라서, 컴퓨팅 장치(100)의 커뮤니케이터(140)는 고객 단말(1)과 상담원 단말(2) 사이의 미디어 데이터를 송수신하여 미디어 데이터를 중계할 수 있다.
정리하면, 컴퓨팅 장치(100)의 커뮤니케이터(140)는 고객 단말(1)로부터 TURN 서버(230)를 거쳐 수신된 SRTP 데이터를 복호화하여 상담원 단말(2)로 RTP 데이터로 송신할 수 있으며, 상담원 단말(2)로부터 수신된 RTP 데이터를 암호화하여 고객 단말(1)로 SRTP 데이터로 송신할 수 있다. 즉, 커뮤니케이터(140)는 예시적으로 MediaRelay Module일 수 있다.
도 7은 본 발명의 일 실시예에 의한 컴퓨팅 장치의 통화 세션을 전환하여 연결하는 것을 설명하기 위한 순서도이다.
도 7의 각 단계들은 도 4 및 도 5에서 설명한 내용과 유사하므로, 유사한 단계들에 대해서는 자세한 설명은 생략하고 차별되는 구성 위주로 설명하도록 한다.
도 7을 참조하면, 고객 단말(1)과 컴퓨팅 장치(100)의 커뮤니케이터(140)는 S601 단계에서 호 설립(통화 세션 연결)될 수 있다.
또한, 컴퓨팅 장치(100)의 커뮤니케이터(140)와 제1 상담원 단말(2a)은 S602 단계에서 호 설립(통화 세션 연결)될 수 있다.
이에 따라서, 고객 단말(1)과 제1 상담원 단말(2a)은 TURN 서버(230) 및 IP-PBX(300)을 통해 미디어 데이터를 송수신할 수 있다.
고객 단말(1)은 S603 단계에서 호전환을 요청하는 메시지를 DTMF/SRTP 통신을 통해 TURN 서버(230)로 송신할 수 있다.
이에 따라서, TURN 서버(230)는 S604 단계에서 상기 S603 단계에서 수신한 호 전화 메시지를 DTMF/SRTP 통신을 통해 커뮤니케이터(140)로 전달할 수 있다.
커뮤니케이터(140)는 도면에는 도시되지 않았으나, 호 전환을 요청하는 메시지를 고객 단말(1)로부터 수신한 경우, 고객 단말(1)과 커뮤니케이터(140)의 통화 세션을 홀드할 수 있다.
커뮤니케이터(140)는 S605 단계에서 DTMF/SRTP 통신을 통해 제1 상담원 단말(2a)로 호전환 요청 메시지를 전달할 수 있다. 보다 상세하게, 커뮤니케이터(140)는 IP-PBX(300)를 거쳐, IP-PBX(300)가 지정한 Payload 형식에 따라서 DTMF Tone으로 제1 상담원 단말(2a)로 호전환 요청 메시지를 전달할 수 있다.
이 경우, 제1 상담원 단말(2a)은 S606 단계에서 SIP통신을 통해 IP-PBX(300)로 호 전환을 요청하는 메시지를 송신할 수 있다. 여기에서 제1 상담원 단말(2a)은 예를 들어, ARS 서비스를 제공하는 것일 수 있다.
IP-PBX(300)은 S607단계에서 상기 S606단계에서 수신한 호 전환 요청 메시지를 컴퓨팅 장치(100)로 전달할 수 있다.
이에 따라서, 컴퓨팅 장치(100)는 S608 단계에서 컴퓨팅 장치(100)의 커뮤니케이터(140)로 IP/Port 변경 명령을 송신할 수 있다. 여기에서 IP/Port 변경 명령은 예를 들어, NAT(Network Address Translation) 신호일 수 있다.
상술한 S601 내지 S608 단계를 통해 커뮤니케이터(140) 및 제2 상담원 단말(2b)은 S609 단계에서 호 설립(통화 세션 연결)할 수 있고 이에 따라 미디어 데이터를 상호간 송수신할 수 있다.
고객 단말(1)과 컴퓨팅 장치(100)의 커뮤니케이터(140)는 호 설립(통화 세션 연결)될 수 있다. 이에 따라, 고객 단말(1)과 컴퓨팅 장치(100)의 커뮤니케이터(140)는 상호간 SRTP/DTLS 통신을 통해 미디어 데이터를 송수신할 수 있다.
컴퓨팅 장치(100)의 커뮤니케이터(140)는 제2 상담원 단말(2b)과 호 설립(통화 세션 연결)될 수 있다. 이에 따라, 컴퓨팅 장치의 커뮤니케이터(140) 및 제2 상담원 단말(2b)은 상호간 RTP 통신을 통해 미디어 데이터를 송수신할 수 있다.
이에 따라서, 커뮤니케이터(140) 및/또는 TURN 서버(230)는 고객 단말(1) 및/또는 제2 상담원 단말(2b)과 미디어 데이터를 송수신하거나 미디어 데이터를 중계할 수 있도록 상기 미디어 데이터를 전달할 수 있다.
보다 상세하게, 고객 단말(1)과 TURN 서버(230)는 S610 단계에서 SRTP 통신을 통해 미디어 데이터를 송수신하고, TURN 서버(230)와 커뮤니케이터(140)는 S611단계에서 SRTP 통신을 통해 미디어 데이터를 송수신할 수 있다. 즉, TURN 서버(230)는 고객 단말(1)과 커뮤니케이터(140)간의 미디어 데이터를 중계할 수 있다.
또한, 커뮤니케이터(140)와 제2 상담원 단말(2)은 상술한 바와 같이 단계 S612에서 RTP 통신을 통해 미디어 데이터를 송수신할 수 있다.
이에 따라서, 컴퓨팅 장치(100)의 커뮤니케이터(140)는 고객 단말(1)과 상담원 단말(2) 사이의 미디어 데이터를 송수신하여 미디어 데이터를 중계할 수 있다.
정리하면, 컴퓨팅 장치(100)의 커뮤니케이터(140)는 고객 단말(1)로부터 TURN 서버(230)를 거쳐 수신된 SRTP 데이터를 복호화하여 상담원 단말(2)로 RTP 데이터로 송신할 수 있으며, 제2 상담원 단말(2b)로부터 수신된 RTP 데이터를 암호화하여 고객 단말(1)로 SRTP 데이터로 송신할 수 있다.
컴퓨팅 장치 제어 방법은 앞서 설명된 컴퓨팅 장치(100)에 의하여 수행될 수 있다. 따라서, 이하 생략된 내용이라고 하더라도, 컴퓨팅 장치(100)에 대하여 설명된 내용은 컴퓨팅 장치 제어 방법에 대한 설명에도 동일하게 적용될 수 있다.
컴퓨팅 장치(100)는 고객 단말(1)과 웹 소켓을 연결할 수 있다.
컴퓨팅 장치(100)는 고객 단말(1)로부터 WebRTC 통신을 통하여 호 연결을 요청하는 SDP 메시지를 수신한 것에 응답하여 상기 고객 단말(1)과 통화 세션을 연결할 수 있다.
컴퓨팅 장치(100)는 상기 고객 단말(1)과 통화 세션이 연결된 것에 응답하여, IP-PBX(300)과 상담원 단말(2) 간 SIP 통신을 통하여 상기 상담원 단말(2)과 통화 세션을 연결할 수 있다.
컴퓨팅 장치(100)는 상담원 단말(2)과 통화 세션이 연결된 것에 응답하여, 상기 고객 단말(1)과 상담원 단말(2) 간의 미디어 데이터를 중계할 수 있다.
한편, 개시된 실시예들은 컴퓨터에 의해 실행 가능한 명령어를 저장하는 기록매체의 형태로 구현될 수 있다. 명령어는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 프로그램 모듈을 생성하여 개시된 실시예들의 동작을 수행할 수 있다. 기록매체는 컴퓨터로 읽을 수 있는 기록매체로 구현될 수 있다.
컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터에 의하여 해독될 수 있는 명령어가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(read only memory), RAM(random access memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치 등이 있을 수 있다.
이상에서와 같이 첨부된 도면을 참조하여 개시된 실시예들을 설명하였다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고도, 개시된 실시예들과 다른 형태로 본 발명이 실시될 수 있음을 이해할 것이다. 개시된 실시예들은 예시적인 것이며, 한정적으로 해석되어서는 안 된다.
1: 고객 단말 2: 상담원 단말
100: 컴퓨팅 장치 200: WebRTC 서버
300: IP-PBX

Claims (15)

  1. 커뮤니케이터;
    메모리; 및
    상기 메모리에 저장된 프로그램을 실행하는 프로세서;를 포함하고,
    상기 프로그램은,
    고객 단말과 웹 소켓을 연결하여 WebRTC(Web Real-Time Communications) 통신을 하며, IP-PBX(Private Branch Exchange)와 SIP(Session Initiation Protocol) 통신을 하고,
    상기 WebRTC 통신을 통하여 고객 단말이 전송한 호 연결을 요청하는 SDP(Session Description Protocol) 메시지를 수신한 것에 응답하여 상기 고객 단말과 통화 세션이 연결되고, 상기 통화 세션이 연결된 것에 응답하여, 상기 IP-PBX를 통해 상담원 단말로 SIP 메시지를 송신함으로써, 상기 상담원 단말과 통화 세션을 연결하여 상기 고객 단말과 상기 상담원 단말 간의 미디어 데이터를 중계하는 명령어들을 포함하고,
    상기 고객 단말로부터 SRTP(Secure Real-time Transport Protocol) 통신을 통해 DTMF(Dual Tone Multi Frequency) 데이터가 수신되면, RTP(Real-time Transport Protocol) 통신을 통해 상기 DTMF 데이터를 상기 상담원 단말로 전달하는 명령어들을 포함하고,
    호 전환을 요청하는 메시지를 상기 고객 단말로부터 수신한 경우, 상기 커뮤니케이터가 상기 IP-PBX를 통해 DTMF/SRTP 통신으로 상기 상담원 단말로 상기 호 전환 요청 메시지를 전달하고, 상기 상담원 단말로부터 호 전환을 위한 SIP 메시지를 수신한 것에 응답하여 다른 상담원 단말과 통화 세션을 연결하도록 상기 커뮤니케이터로 NAT(Network Address Translation) 신호를 송신하는 명령어들을 포함하는 컴퓨팅 장치.
  2. 제1항에 있어서,
    상기 프로그램은,
    상기 상담원 단말로부터 상기 SIP 메시지의 응답을 수신한 것에 응답하여 커뮤니케이터로 NAT(Network Address Translation) 신호를 전달하여 미디어 데이터를 중계하는 명령어들을 포함하는 컴퓨팅 장치.
  3. 제1항에 있어서,
    상기 프로그램은,
    상기 고객 단말로부터 SRTP(Secure Real-time Transport Protocol) 통신을 통해 수신된 미디어 데이터를 복호화하여 RTP(Real-time Transport Protocol) 통신을 통해 상기 상담원 단말로 전달하는 명령어들을 포함하는 컴퓨팅 장치.
  4. 제1항에 있어서,
    상기 프로그램은,
    상기 상담원 단말로부터 RTP(Real-time Transport Protocol) 통신을 통해 수신된 미디어 데이터를 암호화하여 SRTP(Secure Real-time Transport Protocol) 통신을 통해 상기 고객 단말로 전달하는 명령어들을 포함하는 컴퓨팅 장치.
  5. 삭제
  6. 삭제
  7. 제1항에 있어서,
    상기 프로그램은,
    상기 고객 단말로부터 SRTP(Secure Real-time Transport Protocol) 통신을 통해 DTMF(Dual Tone Multi Frequency) 데이터가 수신된 것에 응답하여, 상기 고객 단말과의 통화 세션을 홀드하는 명령어들을 포함하는 컴퓨팅 장치.
  8. 고객 단말과 웹 소켓을 연결하고,
    상기 고객 단말로부터 WebRTC(Web Real-Time Communications) 통신을 통하여 호 연결을 요청하는 SDP(Session Description Protocol) 메시지를 수신한 것에 응답하여 상기 고객 단말과 통화 세션을 연결하고,
    상기 통화 세션이 연결된 것에 응답하여, IP-PBX(Private Branch Exchange)과 상담원 단말 간 SIP(Session Initiation Protocol) 통신을 통하여 상기 상담원 단말과 통화 세션을 연결하고,
    상기 상담원 단말과 통화 세션이 연결된 것에 응답하여, 상기 고객 단말과 상기 상담원 단말 간의 미디어 데이터를 중계하고,
    상기 고객 단말로부터 SRTP(Secure Real-time Transport Protocol) 통신을 통해 DTMF(Dual Tone Multi Frequency) 데이터가 수신되면, RTP(Real-time Transport Protocol) 통신을 통해 상기 DTMF 데이터를 상기 상담원 단말로 전달하고,
    호 전환을 요청하는 메시지를 상기 고객 단말로부터 수신한 경우, 상기 커뮤니케이터가 상기 IP-PBX를 통해 DTMF/SRTP 통신으로 상기 상담원 단말로 상기 호 전환 요청 메시지를 전달하고, 상기 상담원 단말로부터 호 전환을 위한 SIP 메시지를 수신한 것에 응답하여 다른 상담원 단말과 통화 세션을 연결하도록 상기 커뮤니케이터로 NAT(Network Address Translation) 신호를 송신하는 컴퓨팅 장치 제어 방법.
  9. 제8항에 있어서,
    상기 상담원 단말과 통화 세션을 연결하는 것은,
    상기 상담원 단말로부터 SIP 메시지의 응답을 수신한 것에 응답하여, 커뮤니케이터로 NAT(Network Address Translation) 신호를 전달하여 연결하는 컴퓨팅 장치 제어 방법.
  10. 제8항에 있어서,
    상기 미디어 데이터를 중계하는 것은,
    상기 고객 단말로부터 SRTP(Secure Real-time Transport Protocol) 통신을 통해 수신된 미디어 데이터를 복호화하여 RTP(Real-time Transport Protocal) 통신을 통해 상기 상담원 단말로 전달하는 컴퓨팅 장치 제어 방법.
  11. 제8항에 있어서,
    상기 미디어 데이터를 중계하는 것은,
    상기 상담원 단말로부터 RTP(Real-time Transport Protocol) 통신을 통해 수신된 미디어 데이터를 암호화하여 SRTP(Secure Real-time Transport Protocol) 통신을 통해 상기 고객 단말로 전달하는 컴퓨팅 장치 제어 방법.
  12. 삭제
  13. 삭제
  14. 제8항에 있어서,
    상기 상담원 단말과 통화 세션을 연결하는 것은,
    상기 고객 단말로부터 SRTP(Secure Real-time Transport Protocol) 통신을 통해 DTMF(Dual Tone Multi Frequency) 데이터가 수신된 것에 응답하여, 상기 고객 단말과의 통화 세션을 홀드하는 컴퓨팅 장치 제어 방법.
  15. 제8항에 따른 컴퓨팅 장치 제어 방법을 실행시킬 수 있는 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체.
KR1020210163155A 2021-11-24 2021-11-24 인터넷 환경에서의 WebRTC 기반 통화 연결 방법 및 그 장치 KR102556286B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210163155A KR102556286B1 (ko) 2021-11-24 2021-11-24 인터넷 환경에서의 WebRTC 기반 통화 연결 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210163155A KR102556286B1 (ko) 2021-11-24 2021-11-24 인터넷 환경에서의 WebRTC 기반 통화 연결 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20230076330A KR20230076330A (ko) 2023-05-31
KR102556286B1 true KR102556286B1 (ko) 2023-07-17

Family

ID=86543639

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210163155A KR102556286B1 (ko) 2021-11-24 2021-11-24 인터넷 환경에서의 WebRTC 기반 통화 연결 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR102556286B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102646144B1 (ko) * 2023-10-13 2024-03-11 에이비케이 주식회사 개인 정보 보호를 위한 음성 통신 플랫폼

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102107197B1 (ko) 2018-12-27 2020-05-28 효성아이티엑스(주) 스마트 컨택 관리 서버 및 이를 이용한 스마트 컨택 서비스 시스템

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4243371A3 (en) * 2015-05-05 2023-09-27 Ipalive AB Establishing media paths in real time communications
KR20200045648A (ko) * 2018-10-23 2020-05-06 삼성에스디에스 주식회사 Sip 기반 통화 서비스에서 암호키 생성을 위한 장치 및 방법
KR102240904B1 (ko) * 2019-01-24 2021-04-15 주식회사 브리지텍 WebRTC 기반 콜센터 서비스 방법 및 그 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102107197B1 (ko) 2018-12-27 2020-05-28 효성아이티엑스(주) 스마트 컨택 관리 서버 및 이를 이용한 스마트 컨택 서비스 시스템

Also Published As

Publication number Publication date
KR20230076330A (ko) 2023-05-31

Similar Documents

Publication Publication Date Title
US10536490B2 (en) Apparatus and method for communications involving a legacy device
US20150271445A1 (en) Advanced real-time ip communication in a mobile terminal
EP3292675B1 (en) Establishing media paths in real time communications
US8861510B1 (en) Dynamic assignment of media proxy
US9473581B2 (en) Integrated web-enabled session border controller
CN106850399B (zh) 一种基于WebRTC技术即时消息的通信方法
CN105099897B (zh) 一种在浏览器和电信网络之间进行通信的方法和网关
US20160149836A1 (en) Communication and Messaging Architecture for Affiliated Real-Time Rich Communications Client Devices
JP2006254402A (ja) マルチメディア会議システム,それを用いた会議方法、およびコンピューターの判読可能メディア
US20180255182A1 (en) Web Real-Time Client Communication Over a Stimulus Based Network
JP2007282230A (ja) データ変換
US20230269279A1 (en) Communication method, communication apparatus, and communication system
US10506000B2 (en) Mesh conferencing
KR102556286B1 (ko) 인터넷 환경에서의 WebRTC 기반 통화 연결 방법 및 그 장치
US20070058611A1 (en) Method and system to proxy mobile and network originated call sessions
CN104320403A (zh) 通信方法及装置
US9035993B2 (en) Method and system for bypassing an anchor point
KR101455365B1 (ko) 영상 통화 데이터를 전송하는 장치 및 방법
El-Amine et al. A webrtc-voip communication platform
Kuwadekar et al. Real time video adaptation in next generation networks

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant