KR20200092272A - Metho and apparstus for providing for call center service - Google Patents
Metho and apparstus for providing for call center service Download PDFInfo
- Publication number
- KR20200092272A KR20200092272A KR1020200009900A KR20200009900A KR20200092272A KR 20200092272 A KR20200092272 A KR 20200092272A KR 1020200009900 A KR1020200009900 A KR 1020200009900A KR 20200009900 A KR20200009900 A KR 20200009900A KR 20200092272 A KR20200092272 A KR 20200092272A
- Authority
- KR
- South Korea
- Prior art keywords
- terminal
- message
- agent terminal
- call
- webrtc
- Prior art date
Links
- 238000004891 communication Methods 0.000 claims abstract description 69
- 238000000034 method Methods 0.000 claims abstract description 48
- 230000004044 response Effects 0.000 claims abstract description 22
- 230000000977 initiatory effect Effects 0.000 claims abstract description 6
- 230000006870 function Effects 0.000 claims description 26
- 238000012546 transfer Methods 0.000 claims description 15
- 230000010354 integration Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 7
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 description 23
- 230000008569 process Effects 0.000 description 20
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 description 3
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000008685 targeting Effects 0.000 description 2
- 230000002730 additional effect Effects 0.000 description 1
- 238000009223 counseling Methods 0.000 description 1
- 230000009365 direct transmission Effects 0.000 description 1
- 230000009349 indirect transmission Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/487—Arrangements for providing information services, e.g. recorded voice services or time announcements
- H04M3/493—Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/50—Business processes related to the communications industry
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/247—Telephone sets including user guidance or feature selection means facilitating their use
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/51—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
- H04M3/5183—Call or contact centers with computer-telephony arrangements
- H04M3/5191—Call or contact centers with computer-telephony arrangements interacting with the Internet
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- General Health & Medical Sciences (AREA)
- Strategic Management (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Resources & Organizations (AREA)
- Primary Health Care (AREA)
- Human Computer Interaction (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Telephonic Communication Services (AREA)
Abstract
Description
본 발명은 WebRTC(Web Real-Time Communications) 기반 콜센터 서비스 방법 및 그 장치에 관한 것이다.The present invention relates to a WebRTC (Web Real-Time Communications) based call center service method and apparatus.
최근, 공공 기관 등 많은 기관들은 이용 고객의 편의를 제공하거나, 은행이나 증권사 등의 금융기관은 곳곳에 지점이 분포되어 운영되는 사업체에서는 해당 지점에서만 처리 가능한 업무를 제외한 나머지 업무 즉, 일반적인 정보 또는 서비스를 요청하는 업무에 대한 고객의 전화를 응대하기 위하여 고객 콜센터를 운영하고 있다. 고객 콜센터는 고객으로부터 상담 전화가 걸려오면, 다수의 상담원 중에서 현재 응답이 가능한 상담원을 연결하여 줌으로써 고객 서비스를 제공하게 된다.In recent years, many organizations, such as public institutions, provide the convenience of customers, or financial institutions such as banks and securities companies, etc., where business is distributed and operated in branches, other than the tasks that can be handled only at that branch, that is, general information or services We operate a customer call center in order to respond to customer calls for work requests. The customer call center provides customer service by connecting a counselor who is currently available to respond from a number of counselors when a call is made from the customer.
콜센터를 물리적인 전화단말이 없이도 소프트웨어만으로도 구성할 수 있는 콜센터 시스템이 필요하다. 이동 중이거나 외근, 재택 근무 등 고정적인 업무 환경뿐만 아니라 유동적인 업무환경에서도 쉽고 간단히 콜센터 서비스를 수행할 수 있는 콜센터 시스템이 필요하다.There is a need for a call center system that can be configured with only software without a physical telephone terminal. There is a need for a call center system that can easily and simply perform call center services in a flexible work environment as well as in a fixed work environment, such as on the go, working from home or working from home.
콜센터는 고객의 전화를 수신하여 서비스를 제공하는 인바운드 콜(inbound call) 서비스 및 고객에게 전화를 발신하여 서비스를 제공하는 아웃바운드 콜(outbound call) 서비스를 제공한다.The call center provides an inbound call service that provides a service by receiving a call from a customer and an outbound call service that provides a service by calling a customer.
최근 콜센터는 기업의 중요한 이익창출 역할을 수행하게 되면서 기업마다 콜센터의 규모도 점점 커져 가고 있다. 이에 따라 콜센터의 기능을 제고할 수 있는 콜센터 시스템의 필요성이 증가하였다.Recently, as call centers play an important role in creating profits for companies, the size of call centers is increasing for each company. Accordingly, the need for a call center system that can enhance the function of a call center has increased.
본 발명이 해결하고자 하는 과제는 콜센터를 물리적인 전화단말이 없이도 소프트웨어만으로도 구성할 수 있는 WebRTC 기반 콜센터 서비스 방법 및 그 장치를 제공하는 것이다.The problem to be solved by the present invention is to provide a WebRTC-based call center service method and apparatus that can configure a call center with only software without a physical telephone terminal.
본 발명의 하나의 특징에 따르면, 컴퓨팅 장치가 WebRTC(Web Real-Time Communications) 통신을 이용한 콜센터 서비스를 제공하는 방법으로서, 고객 단말의 호 연결을 요청하는 SIP(Session Initiation Protocol) 메시지를 IP-PBX(Private Branch Exchange)로부터 수신하는 단계, 상기 호 연결을 요청하는 SIP 메시지를 WebRTC 메시지로 변환하여 상담원 단말에게 전송하는 단계, 상기 상담원 단말로부터 호 연결에 응답하는 WebRTC 메시지를 수신하면, 상기 WebRTC 메시지를 SIP 메시지로 변환하여 상기 고객 단말로 전송하는 단계, 그리고 상기 고객 단말과 SIP 프로토콜 통신을 수행하고, 상기 상담원 단말과 WebRTC 통신을 수행하여, 상기 고객 단말과 상기 상담원 단말 간의 통화 데이터를 중계(Relay)하는 단계를 포함한다.According to one feature of the present invention, as a method for a computing device to provide a call center service using WebRTC (Web Real-Time Communications) communication, a SIP (Session Initiation Protocol) message requesting a call connection of a customer terminal is IP-PBX. Step of receiving from (Private Branch Exchange), converting the SIP message requesting the call connection to a WebRTC message and transmitting it to an agent terminal, and receiving the WebRTC message responding to the call connection from the agent terminal, the WebRTC message Converting to a SIP message and transmitting to the customer terminal, and performing SIP protocol communication with the customer terminal, and performing WebRTC communication with the agent terminal, relaying call data between the customer terminal and the agent terminal (Relay) It includes the steps.
상기 IP-PBX는, 상기 고객 단말로부터 호 연결 요청 메시지가 수신되면, 상기 고객 단말과 음성 호를 임시로 연결하여 상기 고객 단말에게 링백톤을 송출하고, CTI(Computer Telephony Integration) 게이트웨이에게 상담원 단말의 배정을 요청하여 배정된 상담원 단말의 정보를 획득하며, 상기 수신하는 단계는, 상기 CTI 게이트웨이로부터 배정받은 상담원 단말로 호 연결을 요청하는 메시지를 상기 IP-PBX로부터 수신할 수 있다.The IP-PBX, when a call connection request message is received from the customer terminal, temporarily connects the customer terminal and a voice call to transmit a ring back tone to the customer terminal, and the agent terminal of the agent terminal to a computer telephony integration (CTI) gateway. Requesting an assignment acquires information of the assigned agent terminal, and the receiving step may receive a message requesting a call connection to the assigned agent terminal from the CTI gateway from the IP-PBX.
상기 수신하는 단계 이전에, 상기 상담원 단말로부터 가입자 전화번호가 포함된 등록 요청 메시지를 수신하는 단게, 그리고 상기 등록 요청 메시지를 SIP 메시지로 변환하여 상기 IP-PBX에 전송하는 단계를 더 포함하고, 상기 IP-PBX로부터 수신되는 호 연결 요청 메시지는, 상기 상담원 단말의 가입자 전화번호가 수신자 필드에 포함될 수 있다.Prior to the step of receiving, further comprising the step of receiving a registration request message containing a subscriber phone number from the agent terminal, and converting the registration request message to a SIP message and transmitting to the IP-PBX, In the call connection request message received from the IP-PBX, the subscriber phone number of the agent terminal may be included in the recipient field.
상기 상담원 단말은 웹 단말을 포함하고, 상기 등록 요청 메시지는, 상기 고객 단말로부터 호 연결 요청 메시지를 수신하기 전에 상기 상담원 단말로부터 수신될 수 있다.The agent terminal includes a web terminal, and the registration request message can be received from the agent terminal before receiving a call connection request message from the customer terminal.
상기 상담원 단말은 모바일 단말을 포함하고, 상기 IP-PBX는, 상기 배정받은 상담원 단말의 정보를 포함하는 푸쉬 메시지를 상기 상담원 단말로 전송하도록 푸쉬 서버에게 요청하고, 상기 등록 요청 메시지는, 상기 링백톤을 송출한 이후에 상기 상담원 단말이 상기 푸쉬 메시지를 클릭한 경우, 상기 상담원 단말로부터 수신될 수 있다.The agent terminal includes a mobile terminal, and the IP-PBX requests a push server to transmit a push message including information of the assigned agent terminal to the agent terminal, and the registration request message is the ring back tone When the push button is clicked by the agent terminal after sending the data, it may be received from the agent terminal.
상기 고객 단말로부터 수신한 호 연결 요청 메시지는, 콜센터 대표 전화번호를 포함하고, 상기 IP-PBX로부터 수신하는 호 연결 요청 메시지는, CTI(Computer Telephony Integration) 게이트웨이로부터 상기 IP-PBX가 배정받은 상담원 단말의 전화번호를 수신자로 포함할 수 있다.The call connection request message received from the customer terminal includes a call center representative phone number, and the call connection request message received from the IP-PBX is an agent terminal assigned by the IP-PBX from a computer telephony integration (CTI) gateway. It may include the phone number of the recipient.
상기 고객 단말로부터 수신한 호 연결 요청 메시지는, 특정 상담원 단말의 전화번호를 포함하고, 상기 IP-PBX로부터 수신하는 호 연결 요청 메시지는, 상기 특정 상담원 단말의 전화번호를 그대로 포함할 수 있다.The call connection request message received from the customer terminal includes the phone number of a specific agent terminal, and the call connection request message received from the IP-PBX may include the phone number of the specific agent terminal as it is.
상기 중계하는 단계 이후, 제1 상담원 단말로부터 수신한 호 전환을 요청하는 WebRTC 메시지를 재연결 메시지(reINVITE)로 변환하여 상기 고객 단말에게 전송하고, 상기 고객 단말로부터 수신한 상기 재연결 메시지에 대한 응답 메시지를 상기 WebRTC 메시지로 변환하여 상기 제1 상담원 단말에게 전송하여, 상기 제1 상담원 단말과 상기 고객 단말 간의 세션을 홀드(Hold)하는 단계, 그리고 상기 제1 상담원 단말이 요청한 제2 상담원 단말에게 호 연결을 요청하여 응답이 수신되면, 상기 홀드한 세션을 종료하고 상기 제2 상담원 단말과 상기 고객 단말 간의 세션을 생성하는 단계를 더 포함할 수 있다.After the step of relaying, a WebRTC message requesting call transfer received from the first agent terminal is converted into a reconnection message (reINVITE), transmitted to the customer terminal, and a response to the reconnection message received from the customer terminal Converting a message to the WebRTC message and sending it to the first agent terminal, holding a session between the first agent terminal and the customer terminal, and calling the second agent terminal requested by the first agent terminal When a response is requested by requesting a connection, the method may further include ending the held session and creating a session between the second agent terminal and the customer terminal.
상기 홀드하는 단계와 상기 세션을 생성하는 단계 사이에, 상기 제2 상담원 단말에게 세션 전환 요청이 발생하였음을 알리는 메시지를 전송하여 응답을 수신하는 단계를 더 포함할 수 있다.Between the holding and creating the session, the method may further include receiving a response by transmitting a message informing the second agent terminal that a session switching request has occurred.
본 발명의 다른 특징에 따르면, 컴퓨팅 장치는 통신 장치, 메모리, 그리고 상기 메모리에 저장된 프로그램을 실행하는 프로세서를 포함하고, 상기 프로그램은, IP-PBX(Private Branch Exchange)와 SIP(Session Initiation Protocol) 통신을 하고, 상담원 단말과 웹소켓을 연결하여 WebRTC(Web Real-Time Communications) 통신을 하며, 고객 단말과 상기 상담원 단말 간의 콜센터 서비스를 위한 호 처리 및 통화 데이터를 통화 데이터를 중계(Relay)하는 명령어들(Instructions)을 포함한다.According to another aspect of the present invention, a computing device includes a communication device, a memory, and a processor that executes a program stored in the memory, the program comprising: Private Branch Exchange (IP-PBX) and Session Initiation Protocol (SIP) communication. , WebRTC (Web Real-Time Communications) communication by connecting the agent terminal and the web socket, and relaying call data and call data for call center service between the customer terminal and the agent terminal. (Instructions).
상기 프로그램은, 전화망을 통해 상기 고객 단말이 전송한 호 연결 요청 메시지를 상기 IP-PBX로부터 수신하여 상기 상담원 단말로 전달하거나, 또는 데이터망을 통해 상기 고객 단말로부터 수신한 호 연결 요청 메시지를 상기 IP-PBX로 전달하고 상기 IP-PBX로부터 수신한 호 연결 요청 메시지를 상기 상담원 단말로 전달하는 명령어들을 포함하고, 상기 IP-PBX로부터 수신한 호 연결 요청 메시지는, 상기 고객 단말이 설정한 특정 상담원 단말의 전화번호를 포함하거나 또는 상기 IP-PBX가 CTI(Computer Telephony Integration) 게이트웨이로부터 배정받은 상담원 단말의 전화번호를 수신자 정보로 포함할 수 있다.The program receives the call connection request message transmitted by the customer terminal through the telephone network from the IP-PBX and delivers it to the agent terminal, or the call connection request message received from the customer terminal through the data network is the IP. -Contains commands to deliver to the PBX and deliver the call connection request message received from the IP-PBX to the agent terminal, and the call connection request message received from the IP-PBX is a specific agent terminal set by the customer terminal. It may include a phone number of the IP-PBX, or the telephone number of the agent terminal assigned from the Computer Telephony Integration (CTI) gateway as recipient information.
상기 프로그램은, 상기 고객 단말 및 상기 상담원 단말과 웹 소켓으로 연결한 후, 상기 고객 단말 및 상기 상담원 단말로부터 수신한 토큰 ID가 기 발급한 토큰 ID와 일치하는지 비교하여 불일치하면, 세션을 초기화하며, 상기 고객 단말 및 상기 상담원 단말과 주기적으로 핑퐁을 교환하고 핑퐁 교환에 실패하면, 기 연결된 세션을 종료하는 명령어들을 포함할 수 있다.The program, after connecting to the customer terminal and the agent terminal via a web socket, compares and matches if the token ID received from the customer terminal and the agent terminal matches the previously issued token ID, and initializes the session, It may include instructions for periodically exchanging ping-pong with the customer terminal and the agent terminal, and ending the pre-connected session if the ping-pong exchange fails.
상기 프로그램은, 제1 상담원 단말 및 상기 고객 단말 간의 통화 세션이 연결된 상태에서, 상기 제1 상담원 단말의 호 전환 요청이 수신되면, 연결되 통화 세션을 홀드(Hold)하고, 상기 제1 상담원 단말이 요청한 제2 상담원 단말과 호 설립 절차를 수행한 후, 상기 홀드 상태의 통화 세션을 종료하고 상기 고객 단말과 상기 제2 상담원 단말 간의 통화 세션으로 전환하는 명령어들을 포함할 수 있다.The program, when a call transfer request of the first agent terminal is received while the call session between the first agent terminal and the customer terminal is connected, holds the connected call session and holds the first agent terminal. After performing the call establishment procedure with the requested second agent terminal, it may include instructions for ending the call session in the hold state and switching to a call session between the customer terminal and the second agent terminal.
상기 프로그램은, 상기 상담원 단말에서 실행된 전용 앱과 통신하는 명령어들을 포함하고, 상기 전용 앱은, 수신 이력, 발신 이력, 상담 내역 관리, 녹음 청취, 모니터링 및 통계 중 적어도 하나를 포함하는 CRM(Customer Relationship Management) 기능과, 전화 기능, 전화 수신을 알리는 푸쉬 메시지 팝업 기능을 포함할 수 있다.The program includes commands for communicating with a dedicated app executed in the agent terminal, and the dedicated app includes CRM (Customer) including at least one of a reception history, a calling history, consultation history management, recording listening, monitoring, and statistics. Relationship Management) function, a telephone function, and a push message pop-up function informing of a call reception.
실시예에 따르면, 상담원 단말을 WebRTC 기반 소프트웨어로 제공함으로써 다양하고 유연한 콜센터 서비스 환경을 제공할 수 있다. 따라서, 초기 과도한 시스템 투자없이 소프트웨어만으로 쉽고 간단하게 콜센터 환경을 구성할 수 있고, 비용절감 및 상담업무 환경 개선 등을 기대할 수 있다.According to the embodiment, various and flexible call center service environments can be provided by providing the agent terminal with WebRTC-based software. Therefore, it is possible to easily and simply configure a call center environment with only software without initial excessive system investment, and it is expected to reduce costs and improve the consultation environment.
또한, 전통적인 물리적 기반의 콜센터가 아닌 소프트웨어 기반의 클라우드 콜센터 서비스를 제공할 수도 있다. 클라우드 기반이기 때문에 고객은 비용절감 및 관리인력 감소 등의 추가적인 효과를 기대할 수 있다.It can also provide software-based cloud call center services rather than traditional physical-based call centers. Because it is cloud-based, customers can expect additional effects such as cost reduction and reduced manpower.
또한, 상담원이 이동 중이거나 외근, 재택 근무 등 고정적인 업무 환경뿐만 아니라 유동적인 업무환경에서도 쉽고 간단히 콜센터 서비스를 수행할 수 있다.In addition, the call center service can be easily and simply performed in a flexible work environment as well as in a fixed work environment, such as when the agent is on the move or working outside the office or working from home.
또한, 전화 기능 외에 콜센터 상담사에게 필요한 수/발신 콜이력, 상담내용 저장/관리/조회, 수신전화정보 팝업, 녹음청취 등의 다양한 기능을 제공하고 콜센터 실시간 현황을 모니터링하고 집계하여 제공할 수 있다.In addition, in addition to the telephone function, it can provide various functions such as number/outgoing call history required for call center counselors, storage/management/request of consultation contents, pop-up of incoming call information, and listening to recording, and monitor and aggregate the call center real-time status.
도 1은 본 발명의 실시예에 따른 WebRTC 기반의 콜센터 시스템의 구성을 나타낸 블록도이다.
도 2는 본 발명의 한 실시예에 따른 고객 전화 단말이 대표번호로 전화한 경우, 콜 플로우(Call Flow)를 나타낸다.
도 3은 본 발명의 다른 실시예에 따른 고객 전화 단말이 대표번호로 전화한 경우, 콜 플로우를 나타낸다.
도 4는 도 2 및 도 3의 실시예에 적용되는 콜 플로우를 나타낸다.
도 5는 본 발명의 또 다른 실시예에 따른 고객 WebRTC 단말이 대표번호로 전화한 경우, 콜 플로우를 나타낸다.
도 6은 본 발명의 실시예에 따른 고객 WebRTC 단말과 WebRTC 미디어 서버 간의 통신 세션 설립 및 해제 플로우를 나타낸다.
도 7은 본 발명의 실시예에 따른 상담원 단말과 WebRTC 미디어 서버 간의 통신 세션 설립 및 해제 플로우를 나타낸다.
도 8은 본 발명의 한 실시예에 따른 고객 전화 단말이 상담원 전화번호로 전화한 경우, 콜 플로우를 나타낸다.
도 9는 본 발명의 다른 실시예에 따른 고객 WebRTC 단말이 상담원 전화번호로 전화한 경우, 콜 플로우를 나타낸다.
도 10은 본 발명의 실시예에 따른 협의 호 전환을 위한 홀드(Hold) 및 신규 호 생성 플로우를 나타낸다.
도 11은 본 발명의 실시예에 따른 협의 호 전환을 위한 플로우를 나타낸다.
도 12는 본 발명의 실시예에 따른 즉시 호 전환을 위한 플로우를 나타낸다.
도 13은 본 발명의 한 실시예에 따른 상담원 단말에 알림을 푸시하는 과정을 나타낸 흐름도이다.
도 14는 본 발명의 다른 실시예에 따른 상담원 단말에 알림을 푸시하는 과정을 나타낸 흐름도이다.
도 15는 본 발명의 실시예에 따른 콜센터 상담사를 위한 어플리케이션의 기능을 설명하는 화면이다.
도 16은 본 발명의 실시예에 따른 컴퓨팅 장치의 하드웨어 구성을 나타낸 블록도이다.1 is a block diagram showing the configuration of a WebRTC-based call center system according to an embodiment of the present invention.
2 shows a call flow when a customer telephone terminal according to an embodiment of the present invention calls a representative number.
3 shows a call flow when a customer telephone terminal according to another embodiment of the present invention calls a representative number.
4 shows a call flow applied to the embodiments of FIGS. 2 and 3.
5 shows a call flow when a customer WebRTC terminal according to another embodiment of the present invention calls a representative number.
6 shows a flow of establishing and releasing a communication session between a customer WebRTC terminal and a WebRTC media server according to an embodiment of the present invention.
7 illustrates a flow of establishing and releasing a communication session between an agent terminal and a WebRTC media server according to an embodiment of the present invention.
8 shows a call flow when a customer telephone terminal according to an embodiment of the present invention calls an agent telephone number.
9 shows a call flow when a customer WebRTC terminal according to another embodiment of the present invention calls an agent telephone number.
10 shows a hold and a new call generation flow for negotiation call switching according to an embodiment of the present invention.
11 shows a flow for negotiation call switching according to an embodiment of the present invention.
12 shows a flow for immediate call transfer according to an embodiment of the present invention.
13 is a flowchart illustrating a process of pushing a notification to an agent terminal according to an embodiment of the present invention.
14 is a flowchart illustrating a process of pushing a notification to an agent terminal according to another embodiment of the present invention.
15 is a screen for explaining the function of an application for a call center counselor according to an embodiment of the present invention.
16 is a block diagram showing a hardware configuration of a computing device according to an embodiment of the present invention.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art to which the present invention pertains may easily practice. However, the present invention can be implemented in many different forms and is not limited to the embodiments described herein. In addition, in order to clearly describe the present invention in the drawings, parts irrelevant to the description are omitted, and like reference numerals are assigned to similar parts throughout the specification.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. Throughout the specification, when a part “includes” a certain component, this means that other components may be further included rather than excluding other components unless specifically stated to the contrary.
또한, 명세서에 기재된 "…부", "…기", "…모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.In addition, terms such as “…unit”, “…group”, “…module” described in the specification mean a unit that processes at least one function or operation, which may be implemented by hardware or software or a combination of hardware and software. Can.
본 명세서에서 "전송 또는 제공" 은 직접적인 전송 또는 제공하는 것 뿐만 아니라 다른 장치를 통해 또는 우회 경로를 이용하여 간접적으로 전송 또는 제공도 포함할 수 있다. As used herein, "transfer or provide" may include not only direct transmission or provision, but also indirect transmission or provision through another device or by using a bypass path.
본 명세서에서 단수로 기재된 표현은 "하나" 또는 "단일" 등의 명시적인 표현을 사용하지 않은 이상, 단수 또는 복수로 해석될 수 있다.In the present specification, expressions expressed in singular may be interpreted as singular or plural unless explicit expressions such as “one” or “single” are used.
본 명세서에서 도면에 관계없이 동일한 도면번호는 동일한 구성요소를 지칭하며, "및/또는" 은 언급된 구성 요소들의 각각 및 하나 이상의 모든 조합을 포함할 수 있다. In the present specification, the same reference numerals refer to the same components regardless of the drawings, and “and/or” may include each and every combination of one or more of the mentioned components.
WebRTC(Web Real-Time Communication)는 웹 브라우저 간에 별도 플러그인의 도움 없이도 서로 통신할 수 있도록 설계된 API(Application Programming Interface)이다. WebRTC는 웹 브라우저 상에서의 음성 통화, 영상 통화, P2P (peer to peer) 파일 공유 등으로 활용될 수 있다. WebRTC 기술은 HTML(Hyper Text Markup Language) 5와 자바스크립트(Javascript)만을 이용하여 실시간 통신을 구현하므로, WebRTC 통신을 위한 별도의 플러그인을 웹브라우저에 설치하지 않는다.WebRTC (Web Real-Time Communication) is an API (Application Programming Interface) designed to communicate with each other without the help of a separate plug-in between web browsers. WebRTC can be used for voice calls, video calls, and peer-to-peer (P2P) file sharing on a web browser. Since WebRTC technology implements real-time communication using only HTML (Hyper Text Markup Language) 5 and JavaScript, a separate plug-in for WebRTC communication is not installed in the web browser.
본 발명의 실시예는 이러한 WebRTC 기술을 이용하는 콜센터 시스템을 구현한다. 이에 대하여 도면을 참조하여 설명하기로 한다.The embodiment of the present invention implements a call center system using such WebRTC technology. This will be described with reference to the drawings.
도 1은 본 발명의 실시예에 따른 WebRTC 기반의 콜센터 시스템의 구성을 나타낸 블록도이다.1 is a block diagram showing the configuration of a WebRTC-based call center system according to an embodiment of the present invention.
도 1을 참조하면, 콜센터 시스템(100)은 통신망(201, 203)을 통해 고객 단말(301, 303)과 연결된다. Referring to FIG. 1, the
콜센터 시스템(100)은 고객 단말(301, 303)과 호를 연결하여 고객 단말(301, 303)에게 콜센터 서비스를 제공한다. 콜센터 서비스는 공지의 서비스이므로, 자세한 설명은 생략한다.The
통신망(201, 203)은 콜센터 시스템(100)과 고객 단말(301, 303) 간의 통화 연결을 제공하는 통신사업자의 망으로서, 전화망(PSTN, public switched telephone network)(201)과 데이터망(PSDN, Public Switched Data Network)(203)을 포함한다.The
고객 단말(301, 303)은 콜센터 서비스를 제공받기를 원하는 사용자의 단말로서, 고객 전화 단말(301)과 고객 WebRTC 단말(303)을 포함한다. The
고객 전화 단말(301)과 고객 WebRTC 단말(303)은 유선 전화기, PC, 노트북, 휴대폰, 스마트폰, 태블릿 PC 등을 포함할 수 있다.The
이때, 고객 전화 단말(301)은 전화망(PSTN)(201)을 통해 콜센터 시스템(100)과 연결된다. 고객 전화 단말(301)은 일반적인 통화 연결 방식을 사용하여 콜센터 시스템(101) 내의 IP-PBX(103)와 호 세션을 연결한다. At this time, the
고객 WebRTC 단말(303)은 데이터망(PSDN)(203)을 통해 콜센터 시스템(100)과 연결된다. 고객 WebRTC 단말(303)은 WebRTC를 지원하는 웹 브라우저를 구동하여 콜센터 시스템(101) 내의 국선 WebRTC 서버(109)와 호 세션을 연결한다.The
콜센터 시스템(100)은 IP(Internet Protocol) 트렁크(Trunk) 게이트웨이(101), IP-PBX(Private Branch Exchange)(103), CTI(Computer Telephony Integration) 게이트웨이(105), 내선 WebRTC 서버(107), 국선 WebRTC 서버(109), 내선 프록시(Proxy) 서버(111), 내선 TURN(Traversal Using Relay NAT) 서버(113), 국선 프록시 서버(115), 국선 TURN 서버(117), 푸쉬(Push) 서버(119), 푸쉬 중개 서버(121), 상담원 단말(123) 및 운용 관리 서버(125)를 포함한다.The
IP 트렁크 게이트웨이(101)는 IP-PBX(103)에 할당된 콜센터 대표 전화번호와 IP-PBX(103)에 할당된 IP 주소 정보를 매핑하여 저장한다. The
IP 트렁크 게이트웨이(101)는 PSTN(201)으로부터 수신한 호 연결 요청에 포함된 전화번호를 기초로 IP-PBX(103)의 IP 주소 정보를 확인하고, 확인한 IP 주소 정보를 이용하여 IP-PBX(103)로 호 연결 요청을 전달한다. The
IP 트렁크 게이트웨이(101)는 NAT(Network Address Translation) 기능 및 방화벽 기능을 포함할 수 있다.The
IP-PBX(103)는 IP 주소를 가진 고객 단말(301, 303)과 상담원 단말(123) 간의 회선 교환을 수행한다.IP-
IP-PBX(103)는 고객 단말(301, 303)로부터 호 연결 요청이 수신되면, 링백톤(Ringback Tone)을 고객 단말(301, 303)로 송출하고, CTI 게이트웨이(105)로 호 연결 요청을 전달한다.When the IP-
IP-PBX(103)는 링백톤(Ringback Tone)을 고객 단말(301, 303)로 송출하면서, 동시에 상담원 단말(123)과 호 설립(Call Establishment)을 수행한다. 이때, 호 설립이 완료되면, 즉, 상담원 단말(123)로부터 응답 메시지가 수신되면, 링백톤을 중단하고, 고객 단말(301, 303)로 재연결(re-invite)을 통해 RTP 통신을 위한 절차를 진행한다.The IP-
CTI 게이트웨이(105)는 IP-PBX(103)와 상담원 단말(123) 사이에 연결되어, IP-PBX(103)로부터 수신된 고객 단말(301, 303)의 호 연결 요청에 따라 상담원 단말(123)과 고객 단말(301, 303) 간의 통화로를 연결한다. The
CTI 게이트웨이(105)는 IP-PBX(103)를 통해 고객 단말(301, 303)로부터 수신되는 고객 정보를 상담원 단말(123)로 전달할 수 있다. The
CTI 게이트웨이(105)는 상담원 단말(123)들의 통화 연결 상태를 확인한 후, 통화 대기 중인 상담원 단말(123)을 선택하여 고객 단말(301, 303)과 통화 호를 연결할 수 있다. After confirming the call connection state of the
CTI 게이트웨이(105)는 복수의 상담원 단말(123) 중에서 고객 단말(301, 303)과 통화 세션을 연결할 상담원 단말(123)을 고객 단말(301, 303)에게 분배한다.The
고객 단말(301, 303)이 콜센터 대표 전화번호로 호 연결 요청을 하면, 이러한 호 연결 요청은 IP-PBX(105)로 인입된다. When the
IP-PBX(105)는 CTI 게이트웨이(105)로 상담원 분배를 요청하고, CTI 게이트웨이(105)는 이미 알고 있는, 즉, 로그인 등록된 복수의 상담원 단말(123) 중에 하나의 상담원 단말(123)을 선택한다.The IP-
이때, PSTN(201)을 통해 전달되는 호 연결 요청은 IP-PBX(105)로 먼저 유입된다. PSDN(203)을 통해 전달되는 호 연결 요청은 국선 프록시 서버(115)를 거쳐 국선 WebRTC 서버(109)로 유입된 후, 다시, IP-PBX(105)로 라우팅된다.At this time, the call connection request transmitted through the
상담원 단말(123)이 분배에 참여하려면, 상담원 단말(123)은 CTI 게이트웨이(105)에 로그인하여 자신의 상태를 통화 대기 상태로 설정해야 한다. 그리고 상담원 단말(123)은 자신의 가입자 전화번호(DN, Direct Number)를 IP-PBX(105)에 등록(Register)하고, 이러한 DN이 CTI 게이트웨이(105)로 공유되어야 한다.In order for the
내선 WebRTC 서버(107)는 상담원 단말(123)과 웹소켓(WebSocket) 통신을 한다. 국선 WebRTC 서버(109)는 고객 WebRTC 단말(303)과 웹소켓(WebSocket) 통신을 한다.The
내선 WebRTC 서버(107) 및 국선 WebRTC 서버(109)의 세션 컨트롤러(107A, 109A)는 WebRTC 통신을 위한 호 처리를 한다. 호 처리는 SIP(Session Initiation Protocol)와 자체 규격(websocket 기반의 json 형태) 간에 변환을 포함한다. 세션 컨트롤러(107A, 109A)는 웹소켓을 통해 상담원 단말(123)과 고객 단말(303) 각각에게 서로 간의 WebRTC 세션에 필요한 정보를 전달한다. The
내선 WebRTC 서버(107) 및 국선 WebRTC 서버(109)의 미디어 컨트롤러(107B, 109B)는 UDP(User Datagram Protocol) 기반의 RTP(Real-time Transport Protocol) 와 DTLS(Datagram Transport Layer Security)-SRTP(Secure Real-time Transport Protocol)(WebRTC 기반)간의 변환을 한다. 미디어 컨트롤러(107B, 109B)는 상담원 단말(123)과 고객 단말(303) 간에 ICE(Interactive Connectivity Establishment) 협상을 위해 STUN(Session Traversal Utilities for NAT) 통신을 하고 WebRTC 미디어 스트림을 전달한다.The
세션 컨트롤러(107A, 109A)는 고객 단말(303) 및 상담원 단말(123) 간의 웹 소켓 시그널(websocket signal)을 SIP로 변환하여 IP-PBX(105)로 호를 라우팅한다. 그리고 미디어 컨트롤러(107B, 109B)는 WebRTC(DTLS-SRTP)를 RTP로 상호 변환하여 중계한다.The
내선 프록시(Proxy) 서버(111), 국선 프록시 서버(115)는 HTTP(HyperText Transfer Protocol) 프록시 기능을 수행할 수 있다. The
내선 프록시(Proxy) 서버(111)는 상담원 단말(123)의 가입자 번호(DN, Dialing Number)를 내선 WebRTC 서버(107)에 등록한다. 가입자 번호(DN)는 상담원을 구분하기 위한 내선번호이다.The
내선 프록시 서버(111)는 상담원 단말(123)과 웹소켓의 연결 및 해제를 수행한다. 상담원 단말(123)과 연결된 웹 소켓을 통해 상담원 단말(123)과 내선 WebRTC 서버(107) 간의 WebRTC 통신을 위한 시그널링을 중계한다.The
국선 프록시 서버(115)는 고객 WebRTC 단말(303)과 웹소켓의 연결 및 해제를 수행한다. 고객 WebRTC 단말(303과 연결된 웹 소켓을 통해 고객 WebRTC 단말(303과 국선 WebRTC 서버(109) 간의 WebRTC 통신을 위한 시그널링을 중계한다.The trunk
내선 TURN 서버(113) 및 국선 TURN 서버(117)는 공인 또는 사설 IP를 가지는 상담원 단말(123)과 고객 단말(303) 사이의 미디어 스트림을 중계한다.The
이와 같이, PSTN(201)으로부터 전송된 호 연결 요청은 IP-PBX(103)로 먼저 유입된다. 그러나, PSDN(203)으로부터 전송된 호 연결 요청은 국선 프록시 서버(115)를 거쳐 국선 WebRTC 서버(109)로 유입이 된 후, IP-PBX(103)로 라우팅된다.As such, the call connection request transmitted from the
또한, 내선 WebRTC 서버(107)와 국선 WebRTC 서버(109), 내선 프록시(Proxy) 서버(111)와 국선 프록시 서버(115), 내선 TURN 서버(113) 및 국선 TURN 서버(117)는 별개의 서버로 설명하였지만, 물리적으로 단일 서버 장치로 구현될 수도 있다.In addition, the
PSTN(201)을 통해 유입되는 호는 고객 단말(301) ↔ IP 트렁크 게이트웨이(101) ↔ IP-PBX(103) ↔ 내선 WebRTC 서버(107) ↔ 내선 프록시 서버(111) ↔ 상담원 단말(123)의 경로로 전달된다.Calls coming in through the
PSTN(201)을 통해 유입되는 통화 데이터(미디어)는 고객 단말(301) ↔ IP 트렁크 게이트웨이(101) ↔ 내선 WebRTC 서버(107) ↔ 내선 TURN 서버(113) ↔ 상담원 단말(123)의 경로로 전달된다.Call data (media) flowing through the
PSDN(203)을 통해 유입되는 호는 고객 단말(303) ↔ 국선 프록시 서버(115) ↔ 국선 WebRTC 서버(109) ↔ IP-PBX(103) ↔ 내선 WebRTC 서버(107) ↔ 내선 프록시 서버(111) ↔ 상담원 단말(123)의 경로로 전달된다.Calls coming in through the PSDN (203) are customer terminals (303) ↔ trunk proxy servers (115) ↔ trunk WebRTC servers (109) ↔ IP-PBX (103) ↔ extension WebRTC servers (107) ↔ extension proxy servers (111) ↔ It is delivered to the path of the
PSDN(203)을 통해 유입되는 통화 데이터(미디어)는 고객 단말(301) ↔ 국선 TURN 서버(117) ↔ 국선 WebRTC 서버(109) ↔ 내선 WebRTC 서버(107) ↔ 내선 TURN 서버(113) ↔ 상담원 단말(123)의 경로로 전달된다.The call data (media) flowing through
한 실시예에 따르면, 상담원 단말(123)이 모바일 단말인 경우, ICAPI를 통해 CTI 게이트웨이(105)로 로그인한다. PSTN(201), PSDN(203)을 통해 IP-PBX(103)에 호 인입되면, 고객 단말(301, 303)에게 큐대기음(링백톤)을 송출한다. IP-PBX(103)는 CTI 게이트웨이(105)로 상담원 분배를 요청한다. According to one embodiment, when the
CTI 게이트웨이(105)는 라우팅 정책에 기초하여 최적 상담원을 헌팅하고, 그 결과를 IP-PBX(103)로 제공한다. IP-PBX(103)는 푸쉬 서버(119)를 통해 호 라우팅 정보를 상담원 단말(123)에게 전달(Push Notification)한다. 상담원 단말(123)이 푸쉬 메시지를 터치하면, CTI 게이트웨이(105)로 ICAPI Call Deliver Event가 전달된다. 또한, 상담원 단말(123)은 자신의 DN을 내선 WebRTC 서버(107) 및 IP-PBX(103)에 등록(Register)한다.The
IP-PBX(103)는 등록(register)된 상담원 단말(123)로 내선 WebRTC 서버(107)를 거쳐 호 라우팅을 한다. 상담원 단말(123)이 전화를 받은 후(Call Establish 후) 미디어를 webRTC를 통해 통신한다. 고객 단말(301, 303)과 상담원 단말(123)간에 호/미디어 세션을 지속시킨 후 호 종료 절차를 진행한다.The IP-
다른 실시예에 따르면, 상담원 단말(123)이 웹 단말인 경우, ICAPI를 통해 CTI 게이트웨이(105)로 로그인하고, 자신의 DN을 내선 WebRTC 서버(107) 및 IP-PBX(103)에 등록(Register)한다. PSTN(201), PSDN(203)을 통해 IP-PBX(103)에 호 인입되면, 고객 단말(301, 303)에게 큐대기음(링백톤)을 송출한다. IP-PBX(103)는 CTI 게이트웨이(105)로 상담원 분배를 요청한다. CTI 게이트웨이(105)는 라우팅 정책에 기초하여 최적 상담원을 헌팅하고, 그 결과를 IP-PBX(103)로 제공한다. IP-PBX(103)는 등록(register)된 상담원 단말(123)로 내선 WebRTC 서버(107)를 거쳐 호 라우팅을 한다. 상담원 단말(123)이 전화를 받은 후(Call Establish 후) 미디어를 webRTC를 통해 통신한다. 고객 단말(301, 303)과 상담원 단말(123)간에 호/미디어 세션을 지속시킨 후 호 종료 절차를 진행한다.According to another embodiment, when the
IP-PBX(103)와 WebRTC 서버(107, 109)는 하나의 주소 구간으로 연동한다. IP-PBX(103)는 인입된 호를 라우팅하기 위해서 내부적으로 메모리에 관리하는 상담원 내선 번호(to, 상담원 단말이 register 했을때의 DN) 테이블을 조회하여 해당 상담원의 웹소켓(websocket) 세션을 탐색하여 인입된 호를 상담원 단말(123)로 라우팅한다.IP-PBX (103) and WebRTC server (107, 109) interwork with one address section. IP-PBX (103) searches the agent's websocket session by querying the agent extension number (to, DN when the agent terminal registers) table internally managed in memory to route the incoming call. And route the incoming call to the
푸쉬 서버(119)는 CTI 게이트웨이(105)가 고객 단말(301, 303)과 연결할 상담원 단말(123)을 선택하면, 그 선택된 상담원 단말(123)에게 호 연결을 요청하는 푸쉬 메시지를 생성한다.When the
푸쉬 알림 전송 장치(121)는 푸쉬 서버(119)가 생성한 푸쉬 메시지를 상담원 단말(123)에게 전송한다. 이때, 푸쉬 알림 전송 장치(121)는 상담원 단말(123)의 단말 규격에 따라 복수개 존재할 수 있다. 예를들어, 안드로이드 OS(Operating System)를 사용하는 상담원 단말(123)과 iOS를 사용하는 상담원 단말(123) 별로 각각의 푸쉬 알림 전송 장치(121)가 존재할 수 있다. The push
푸쉬 서버(119)는 사전에 상담원 단말(123)의 식별 정보 별로 단말 규격 정보를 저장하고 있기에 단말 규격에 맞는 푸쉬 알림 전송 장치(121)를 지정하여 푸쉬 메시지를 전송 할 수 있다. 따라서, 푸쉬 서버(119)는 CTI 게이트웨이(105)로부터 상담원 단말(123)의 선택 정보가 수신되면, 그 선택 정보로부터 확인한 식별 정보를 기초로 확인한 단말 규격에 해당하는 푸쉬 알림 전송 장치(121)를 선택할 수 있다.Since the
상담원 단말(123)은 복수개이나, 설명의 편의를 위하여 고객 단말(301, 303)과 호 연결되도록 분배된 하나의 상담원 단말(123)을 도시하였다.Although there are a plurality of
상담원 단말(123)은 WebRTC 콜센터 서비스를 제공하는 전용 앱이 설치된 단말로서, PC 등과 같은 유선 단말 또는 태블릿 PC, 스마트폰, 노트북 등과 같은 모바일 단말을 포함할 수 있다. 상담원 단말(123)은 고객 단말(301, 303)과 달리 WebRTC 통신만 수행한다. 즉, 기존의 SIP 물리 단말에서 WebRTC 기반의 단말로 교체되었다.The
전용 앱은 WebRTC 통신 기능, CRM(Customer Relationship Management) 기능을 구비하며, WebRTC 통신 기능을 위한 에이전트를 포함할 수 있다.The dedicated app has a WebRTC communication function, a CRM (Customer Relationship Management) function, and may include an agent for the WebRTC communication function.
상담원 단말(123)은 콜센터 서비스를 제공하기 위한 등록 절차를 수행한다. The
등록 절차는 두가지로 구분할 수 있는데, 상담원을 분배하기 위한 CTI 등록(로그인)과 호를 상담원 단말(123)로 라우팅하기 위한 PBX 등록(register)으로 구분된다. 상담원 단말(123)이 CTI 게이트웨이(105)에 로그인되어있다 하더라도 IP-PBX(103)에 등록(register)되어있지 않으면 상담원 분배가 되지 않는다. 따라서, IP-PBX(103)는 등록(register)된 DN을 CTI 게이트웨이(105)와 실시간 공유한다.The registration procedure can be divided into two types: CTI registration (login) for distributing agents and PBX registration (rou) for routing calls to
상담원 단말(123)이 모바일 단말이 아닌 웹 단말(예, PC, 노트북 등)일 경우, 등록(register)은 CTI 게이트웨이(105)에 로그인한 시점과 동시에 이루어진다.When the
상담원 단말(123)이 모바일 단말일 경우, 등록(register)은 고객 단말(301, 303)로부터 발신이 시도되고 상담원이 분배된 시점에 이루어진다. 구체적으로, 상담원 단말(123)이 호 라우팅이 요청된 푸쉬 메시지가 팝업되고 사용자가 푸쉬 메시지를 클릭한 경우, 등록(register)은 이루어진다.When the
상담원 단말(123)이 모바일 단말일 경우, IP-PBX(103)와 항상 접속 상태를 유지할 수는 없다. CTI 게이트웨이(105)는 로그인시 상담원 단말(123)의 정보를 취득한 후, IP-PBX(103)에 등록(register)되어 있지 않은 상담원 단말(123)도 상담원 분배시 참여시킨다. 다만, 상담원 단말(123)이 IP-PBX(103)에 미등록 상태이므로, IP-PBX(103)는 호를 라우팅하기 위하여 상담원 단말(123)에게 푸쉬 메시지를 전송하여 등록(register)하도록 유도한다.When the
운용 관리 서버(125)는 세션이 종료되면, 내선 WebRTC 서버(107)로부터 통화상세기록(Call Detaial Record, CDR)을 수신하여 저장한다. 운용 관리 서버(125)는 CDR을 가공한 통계 정보 등을 생성하여 상담원 단말(123)로 제공할 수 있다.When the session ends, the
도 2, 3, 4는 고객 전화 단말(301)과 상담원 단말(123) 간의 콜 플로우(Call Flow)를 나타내고, 도 5, 6, 7은 고객 WebRTC 단말(303)과 상담원 단말(123) 간의 콜 플로우를 나타낸다.2, 3, and 4 show a call flow between the
도 2는 본 발명의 한 실시예에 따른 고객 전화 단말이 콜센터 대표 전화번호로 전화한 경우, 콜 플로우(Call Flow)를 나타낸다.2 shows a call flow when a customer telephone terminal according to an embodiment of the present invention calls a representative telephone number of a call center.
특히, 상담원 단말(123)이 모바일 단말인 경우의 실시예에 해당된다.In particular, this corresponds to an embodiment in the case where the
도 2를 참조하면, 상담원 단말(123)은 ICAPI(CTI Application Programming Interface)를 통해 CTI 게이트웨이(105)에 로그인(S101)하여 자신의 상태를 통화 대기 상태로 설정한다(S103). 여기서, ICAPI는 CTI 연동 인터페이스로 정의된다.Referring to FIG. 2, the
상담원 단말(123)은 자신의 상태 정보 전달 또는 정보 조회를 위해 CTI 게이트웨이(105)와 직접 연동한다. 예를들어, 상담원이 현재 전화를 받을 수 없는 상태인 경우 CTI 게이트웨이(105)에 현재 상태를 통화 보류 상태 또는 통화 거절 상태로 설정하여 자신의 단말이 분배되지 않도록 한다.The
상담원 단말(123)이 로그인시 CTI 게이트웨이(105)는 해당 상담원의 상태 정보를 초기화한다. CTI 게이트웨이(105)는 상담원 단말(123)과의 연결 및 해제가 반복되더라도 통화 상태는 이전 설정을 유지할 수 있다.When the
이때, 상담원 단말(123)은 호 처리 연동을 위하여 내선 프록시 서버(111) → 내선 WebRTC 서버(107) → IP-PBX(103)로 연결된다.At this time, the
고객 전화 단말(301)이 콜센터 대표 번화번호로 발신하면, 인바이트(INVITE) 메시지가 IP-PBX(103)로 전송된다(S105). When the
여기서, 인바이트(INVITE) 메시지는 고객 전화 단말(301)의 전화번호를 비롯한 고객 정보와, 고객 전화 단말(301)에서 요청하는 M1 SDP(Session Description Protocol)를 포함할 수 있다. M1 SDP는 고객 전화 단말(301)의 미디어 정보를 포함한다.Here, the INVITE message may include customer information including the telephone number of the
IP-PBX(103)는 상담원 단말(123)과 연결되기 전까지 큐대기음(링백)을 고객 전화 단말(301)로 송출하기 위하여 음성호를 임시로 연결한다. 이를 위하여 IP-PBX(103)는 음성호 연결을 위한 SDP(SDP-audio)를 포함하는 200 OK 메시지를 고객 전화 단말(301)로 전송한다(S107). The IP-
IP-PBX(103)는 고객 전화 단말(301)로부터 ACK 메시지를 수신(S109)하면, 고객 전화 단말(301)에게 RTP(Real-time Transport Protocol) 방식으로 큐대기음을 송출한다(S111).When the IP-
이어서, IP-PBX(103)는 CTI 게이트웨이(105)에게 상담원 연결 요청을 전송한다(S113). CTI 게이트웨이(105)는 통화 대기 상태로 설정된 복수의 상담원 단말(123) 중에서 라우팅 정책에 기초하여 최적의 상담원 단말을 헌팅한다(S115).Subsequently, the IP-
CTI 게이트웨이(105)는 헌팅(S115)한 상담원 단말(123)의 내선번호(DN, Dialing Number)를 포함하는 상담원 분배 응답을 IP-PBX(103)로 전송한다(S117).The
IP-PBX(103)는 푸쉬 서버(119)에게 헌팅(S115)된 상담원 단말(123)에게 호 라우팅 정보를 푸쉬하도록 요청한다(S119). 그러면, 푸쉬 서버(119)는 상담원 단말(123)에게 푸쉬 메시지를 전송한다(S121). The IP-
상담원 단말(123)에는 전용 앱이 백그라운드(Background) 상태로 실행되어 있다. 이 상태에서 푸쉬 메시지가 수신되면, 상담원 단말(123)은 푸쉬 메시지를 팝업하는데, 상담원이 팝업창을 클릭(터치 등)(S123)하면, 전용 앱은 포어그라운드(Foreground)로 상태 변환된다. 포어그라운드는 사용자와 인터랙티브가 가능한 상태를 의미하므로, 전용 앱이 휴면 상태에서 활성화 상태가 되었음을 의미한다. A dedicated app is executed in the background of the
상담원 단말(123)은 푸쉬 메시지가 클릭(S123)되면, CTI 게이트웨이(105)로부터 상담원 분배, 호의 상태 정보 등이 포함된 Call Deliver Event를 수신한다(S125). When the push message is clicked (S123), the
상담원 단말(123)은 등록 요청 메시지(req-register)를 내선 WebRTC 서버(107)로 전송한다(S127). 이때, 등록 요청 메시지(req-register)는 상담원 단말(123)의 DN을 필수적으로 포함하고, 기타 정보를 포함할 수 있다. 기타 정보는 상담원 단말(123)이 속한 상담원 그룹, 상담원 로그인 정보(ID/Password), 상담원명등을 포함할 수 있다. DN 및 기타 정보는 상담 완료 후 WebRTC 서버(107)가 운용 관리 서버(125)로 전송할 CDR 정보를 생성하는데 사용된다.The
이때, 상담원 로그인 정보(ID/Password)는 IP-PBX(105)가 등록(register)을 위한 MD5(Message-Digest algorithm 5) 인증을 요구할 경우, MD5 인증을 위해 사용될 수 있다.At this time, the agent login information (ID/Password) may be used for MD5 authentication when the IP-
내선 WebRTC 서버(107)는 S127 단계에서 수신한 DN을 포함하는 등록 메시지(Register)를 IP-PBX(105)로 전송한다(S129).The
IP-PBX(105)는 DN을 등록하고, 200 OK 메시지를 내선 WebRTC 서버(107)로 전송한다(S131). 내선 WebRTC 서버(107)는 200 OK 메시지가 수신되면, 등록 응답 메시지(event-registered)를 상담원 단말(123)로 전송한다(S133).The IP-
상담원 단말(123)이 등록 응답 메시지(event-registered)를 수신하면, 발/착신이 가능하게 된다.When the
도 3은 본 발명의 다른 실시예에 따른 고객 전화 단말이 콜센터 대표 전화번호로 전화한 경우, 콜 플로우를 나타낸다.3 shows a call flow when a customer telephone terminal according to another embodiment of the present invention calls a representative telephone number of a call center.
특히, 상담원 단말(123)이 PC 또는 노트북 등과 같은 웹 단말인 경우의 실시예에 해당된다.Particularly, this corresponds to an embodiment when the
도 3의 단계들은 대부분 도 2와 유사하므로, 도 2와 유사한 동작에 대해서는 상세한 설명을 생략한다.Since most of the steps in FIG. 3 are similar to FIG. 2, a detailed description of the operation similar to FIG. 2 is omitted.
도 3을 참조하면, 도 2와 마찬가지로, 상담원 단말(123)은 ICAPI(CTI Application Programming Interface)를 통해 CTI 게이트웨이(105)에 로그인(S201)하여 자신의 상태를 통화 대기 상태로 설정한다(S203). Referring to FIG. 3, as in FIG. 2, the
또한, 상담원 단말(123)은 등록 요청 메시지(req-register)를 내선 WebRTC 서버(107)로 전송한다(S205). In addition, the
내선 WebRTC 서버(107)는 S205 단계에서 수신한 DN을 포함하는 등록 메시지(Register)를 IP-PBX(105)로 전송한다(S207).The
IP-PBX(105)는 DN을 등록하고, 200 OK 메시지를 내선 WebRTC 서버(107)로 전송한다(S209). The IP-
내선 WebRTC 서버(107)는 200 OK 메시지가 수신되면, 등록 응답 메시지(event-registered)를 상담원 단말(123)로 전송한다(S211).The
이후, 고객 전화 단말(301)이 콜센터 대표 번화번호로 발신하면, M1 SDP를 포함하는 인바이트(INVITE) 메시지가 IP-PBX(103)로 전송된다(S213). Thereafter, when the
IP-PBX(103)는 음성호 연결을 위한 SDP(SDP-audio)를 포함하는 200 OK 메시지를 고객 전화 단말(301)로 전송한다(S215).The IP-
IP-PBX(103)는 고객 전화 단말(301)로부터 ACK 메시지를 수신(S217)하면, 고객 전화 단말(301)에게 RTP 방식으로 큐대기음(링백)을 송출한다(S219).When the IP-
이어서, IP-PBX(103)는 CTI 게이트웨이(105)에게 상담원 연결 요청을 전송한다(S221). CTI 게이트웨이(105)는 통화 대기 상태로 설정된 복수의 상담원 단말(123) 중에서 라우팅 정책에 기초하여 최적의 상담원 단말을 헌팅한다(S223).Subsequently, the IP-
CTI 게이트웨이(105)는 헌팅(S223)한 상담원 단말(123)의 DN을 포함하는 상담원 분배 응답을 IP-PBX(103)로 전송한다(S225).The
상담원 단말(123)은 CTI 게이트웨이(105)의 요청에 따라 Call Deliver Event를 통해 상담원 분배, 호의 상태 정보 등을 CTI 게이트웨이(105)로부터 수신한다(S227).The
도 4는 도 2 및 도 3의 실시예에 적용되는 콜 플로우를 나타내며, 특히, 도 2의 S131 단계 이후, 또는 도 3의 S225 단계 이후 수행되는 콜 플로우를 나타낸다.4 shows a call flow applied to the embodiments of FIGS. 2 and 3, and particularly, shows a call flow performed after step S131 of FIG. 2 or after step S225 of FIG. 3.
도 4를 참조하면, IP-PBX(103)는 상담원 분배가 완료되면, 헌팅된 상담원 단말(123)의 DN을 SIP 헤더 필드에 수록한 인바이트(INVITE) 메시지를 내선 WebRTC 서버(107)로 전송한다(S301). 이때, 인바이트 메시지는 SDP를 포함하지 않는다(No-SDP).Referring to FIG. 4, when the agent distribution is completed, the IP-
내선 WebRTC 서버(107)는 인바이트(INVITE) 메시지의 헤더 필드에 수록된 DN에 해당하는 상담원 단말(123)로 event-newcall 메시지를 전송한다(S303). 여기서, event-newcall은 전화가 왔음을 알리는 이벤트 메시지이다.The
내선 WebRTC 서버(107)는 상담원 단말(123)로부터 응답 메시지(req-accepted)를 수신(S305)하면, IP-PBX(103)에게 180 Ringing 메시지를 전송한다(S307).When the
상담원 단말(123)은 상담원 단말(123)이 요청하는 Ag-SDP를 포함하는 응답 요청 메시지(req-answered)를 내선 WebRTC 서버(107)로 전송한다(S309). 그러면, 내선 WebRTC 서버(107)는 내선 WebRTC 서버(107)가 요청하는 미디어 정보를 기술한 M2-SDP를 포함하는 200 0K 메시지를 IP-PBX(103)에게 전송한다(S311).The
IP-PBX(103)는 S311 단계에서 수신한 M2-SDP를 포함하는 리인바이트(re-invite) 메시지를 고객 전화 단말(301)로 전송한다(S313). 이어서 IP-PBX(103)는 IP-PBX(103)가 설정한 IE-SDP를 포함하는 ACK 메시지를 내선 WebRTC 서버(107)로 전송한다(S315). The IP-
내선 WebRTC 서버(107)는 상담원 단말(123)로 내선 WebRTC 서버(107)가 설정한 M3-SDP를 포함하는 event-connected 메시지를 전송한다(S317). The
고객 전화 단말(301)은 S313 단계의 리인바이트(re-invite) 메시지에 대한 200 OK 메시지를 IP-PBX(103)로 전송한다(S319). 이때, 200 OK 메시지는 S313 단계에서 수신한 M2-SDP를 고려해서 수정한 M1'-SDP를 포함한다.The
IP-PBX(103)는 S319 단계에서 수신한 M1'-SDP를 포함하는 리인바이트(re-invite) 메시지를 내선 WebRTC 서버(107)로 전송한다(S321).The IP-
내선 WebRTC 서버(107)는 M1'-SDP를 고려해서 수정한 M2'-SDP를 포함하는 200 OK 메시지를 IP-PBX(103)로 전송한다(S323). The
IP-PBX(103)는 ACK 메시지를 고객 전화 단말(301)로 전송(S325)하고, 내선 WebRTC 서버(107)에게 전송한다(S327). The IP-
이상의 S301 단계 ~ S327 단계를 통해 호 설립(Call Establish) 과정이 완료되면, 고객 전화 단말(301)은 상담원 단말(123)과 WebRTC 통신으로 미디어를 송수신한다. 즉, 고객 전화 단말(301)은 내선 WebRTC 서버(107)와 UDP/RTP 통신을 한다(S329). 내선 WebRTC 서버(107) 및 상담원 단말(123)은 STUN(Session Traversal Utilities for NAT)/DTLS(Datagram Transport Layer Security)/SRTP(Secure Real-time Transport Protocol) 통신을 한다(S331).When the call establishment process is completed through steps S301 to S327, the
이후, IP-PBX(103)는 고객 전화 단말(301)로부터 Bye 메시지가 수신(S333)되면, 내선 WebRTC 서버(107)로 Bye 메시지를 전송한다(S335). Thereafter, when the Bye message is received from the customer phone terminal 301 (S333), the IP-
내선 WebRTC 서버(107)는 세션 종료 메시지(event-endcall)를 상담원 단말(123)로 전송한다(S337). The
상담원 단말(123)은 req-disconnect 메시지를 내선 WebRTC 서버(107)로 전송한다(S339). The
내선 WebRTC 서버(107)는 200 OK 메시지를 IP-PBX(103)로 전송한다(S341). The
IP-PBX(103)는 200 OK 메시지를 고객 전화 단말(301)로 전송한다(S343). 이상의 S333 단계~S343 단계를 통하여 WebRTC 통신 세션이 종료된다.The IP-
도 5는 본 발명의 또 다른 실시예에 따른 고객 WebRTC 단말이 대표번호로 전화한 경우, 콜 플로우를 나타낸다.5 shows a call flow when a customer WebRTC terminal according to another embodiment of the present invention calls a representative number.
이때, 도 5는 도 2의 실시예에서 설명한 상담원 단말(123)이 모바일 단말인 경우와 도 3의 실시예에서 설명한 상담원 단말(123)이 웹 단말인 경우가 각각 적용될 수 있다. In this case, FIG. 5 may be applied to the case where the
또한, 도 5의 각 단계들은 도 2, 3, 4에서 설명한 내용과 유사하므로, 유사한 단계들에 대해서는 자세한 설명은 생략하고, 차별되는 구성 위주로 설명한다.In addition, since each step in FIG. 5 is similar to the contents described in FIGS. 2, 3, and 4, detailed descriptions of similar steps will be omitted, and the description will be focused mainly on differentiated components.
도 5를 참조하면, 고객 WebRTC 단말(303)이 콜센터 대표 전화번호로 발신하면, 국선 WebRTC 서버(109)로 호 요청 메시지(req-newcall)를 전송한다(S401). 이때, req-newcall에는 고객 WebRTC 단말(303)이 설정한 Cu-SDP가 포함된다.Referring to FIG. 5, when the
국선 WebRTC 서버(109)는 IP-PBX(103)로 국선 WebRTC 서버(109)가 설정한 미디어 정보인 M1-SDP를 포함하는 인바이트 메시지를 전송한다(S403). 그리고 고객 WebRTC 단말(303)에게 호 수락 메시지(event-accepted)를 전송한다(S405). The trunk
IP-PBX(103)는 국선 WebRTC 서버(109)에게 IP-PBX(103)가 설정한 IE SDP-audio를 포함하는 200 OK 메시지를 전송한다(S407).IP-
국선 WebRTC 서버(109)는 국선 WebRTC 서버(109)가 설정한 미디어 정보인 M2 SDP를 포함하는 event-answered 메시지를 고객 WebRTC 단말(303)에게 전송한다(S409). The trunk
고객 WebRTC 단말(303)는 국선 WebRTC 서버(109)에게 req-connect 메시지를 전송한다(S411). The
국선 WebRTC 서버(109)는 ACK 메시지를 IP-PBX(103)에게 전송한다(S413). The trunk
S401 단계~ S413 단계를 통해 임시 호가 연결되면, 고객 WebRTC 단말(303)은 국선 WebRTC 서버(109)와 STUN/DTLS/SRTP 통신을 하고, 국선 WebRTC 서버(109)는 IP-PBX(103)와 UDP/RTP 통신을 한다. 그리고 이러한 통신을 통해 고객 WebRTC 단말(303)은 IP-PBX(103)로부터 큐대기음(링백)을 수신한다(S415, S417).When a temporary call is connected through steps S401 to S413, the
이때, 상담원 단말(123)이 모바일 단말인 경우, 도 2의 S101 단계, S103 단계는 ⓑ 이전에 수행되고, 도 2의 S113 단계~ S133 단계는 ⓒ에서 수행된다.At this time, if the
또한, 상담원 단말(123)이 웹 단말인 경우, 도 3의 S201 단계 ~ S211 단계는 ⓑ 이전에 수행되고, 도 3의 S221 단계 ~ S227 단계는 ⓒ에서 수행된다.In addition, when the
IP-PBX(103)는 상담원 분배가 완료되면, SDP를 포함하지 않고 헌팅된 상담원 단말(123)의 DN을 SIP 헤더 필드에 수록한 인바이트(INVITE) 메시지를 내선 WebRTC 서버(107)로 전송한다(S419). When the agent distribution is completed, the IP-
내선 WebRTC 서버(107)는 인바이트(INVITE) 메시지의 헤더 필드에 수록된 DN에 해당하는 상담원 단말(123)로 전화가 왔음을 알리는 메시지(event-newcall)를 전송한다(S421).The
내선 WebRTC 서버(107)는 상담원 단말(123)로부터 전화 응답 메시지(req-accepted)를 수신(S423)하면, IP-PBX(103)에게 180 Ringing 메시지를 전송한다(S425).When the
상담원 단말(123)은 상담원 단말(123)이 요청하는 Ag-SDP를 포함하는 전화 응답 요청 메시지(req-answered)를 내선 WebRTC 서버(107)로 전송한다(S427). The
그러면, 내선 WebRTC 서버(107)는 내선 WebRTC 서버(107)가 설정한 미디어 정보인 M3-SDP를 포함하는 200 0K 메시지를 IP-PBX(103)에게 전송한다(S429).Then, the
IP-PBX(103)는 S429 단계에서 수신한 M3-SDP를 포함하는 리인바이트(re-invite) 메시지를 국선 WebRTC 서버(109)로 전송한다(S431). The IP-
국선 WebRTC 서버(109)는 event-recall 메시지를 고객 WebRTC 단말(303)로 전송한다(S433). The trunk
고객 WebRTC 단말(303)은 S401 단계에서 설정한 미디어 정보를 수정한 Cu' SDP를 포함하는 req-answered 메시지를 국선 WebRTC 서버(109)로 전송한다(S435). The
국선 WebRTC 서버(109)는 S403 단계에서 전송한 미디어 정보를 수정한 M1' SDP를 포함하는 200 OK 메시지를 IP-PBX(103)로 전송한다(S437). The trunk
IP-PBX(103)는 내선 WebRTC 서버(107)에게 M1' SDP를 포함하는 리인바이트(re-invite) 메시지를 전송한다(S439). 그러면, 내선 WebRTC 서버(107)로부터 수정된 M3'-SDP를 포함하는 200 OK 메시지를 수신한다(S441). The IP-
IP-PBX(103)는 국선 WebRTC 서버(109)에게 ACK 메시지를 전송한다(S443). 그리고 내선 WebRTC 서버(107)로 ACK 메시지를 전송한다(S445). IP-
국선 WebRTC 서버(109)는 고객 WebRTC 단말(303)에게 수정한 M2'-SDP를 포함하는 event-connected 메시지를 전송한다(S447). The trunk
이상의 S419 단계 ~ S447 단계를 통해 호 설립 과정이 완료되면, 고객 WebRTC 단말(303)은 상담원 단말(123)과 WebRTC 통신으로 미디어를 송수신한다. 즉, 고객 WebRTC 단말(303)은 국선 WebRTC 서버(109)와 STUN/ DTLS/SRTP 통신(S449)을 하고, 상담원 단말(123)은 내선 WebRTC 서버(107)와 STUN/ DTLS/SRTP 통신(S451)을 하고, 국선 WebRTC 서버(109)와 내선 WebRTC 서버(107)는 UDP/RTP 통신을 한다(S453). When the call establishment process is completed through steps S419 to S447, the
이후, 국선 WebRTC 서버(109)는 고객 WebRTC 단말(303)로부터 req-endcall 메시지를 수신(S455)하면, IP-PBX(103)에게 Bye 메시지를 전송한다(S457). Thereafter, the trunk
IP-PBX(103)는 내선 WebRTC 서버(107)에게 Bye 메시지를 전송한다(S459). The IP-
내선 WebRTC 서버(107)는 상담원 단말(123)에게 event-endcall 메시지를 전송한다(S461). The
내선 WebRTC 서버(107)는 상담원 단말(123)로부터 req-disconnect 메시지를 수신(S463)하면, IP-PBX(103)에게 200 OK 메시지를 전송한다(S465). When the
IP-PBX(103)는 200 OK 메시지를 국선 WebRTC 서버(109)에게 전달한다(S467). 그리고 국선 WebRTC 서버(109)는 고객 WebRTC 단말(303)에게 event-disconnect 메시지를 전달한다(S469).The IP-
도 6은 본 발명의 실시예에 따른 고객 WebRTC 단말과 국선 WebRTC 서버 간의 통신 세션 설립 및 해제 플로우를 나타낸다.6 shows a flow of establishing and releasing a communication session between a customer WebRTC terminal and a trunk line WebRTC server according to an embodiment of the present invention.
도 6을 참조하면, 고객 WebRTC 단말(303)이 국선 WebRTC 서버(109)와 웹 소켓(websocket) 접속(socketconnect)된다(S501).Referring to FIG. 6, the
고객 WebRTC 단말(303)은 S501 단계 이후, t0 시간 이내에 req-ws-init 메시지를 국선 WebRTC 서버(109)로 전송한다(S503). After the step S501, the
고객 WebRTC 단말(303)은 네트워크 또는 단말/서버의 이상으로 소켓(socket) 접속이 해제되었다가 다시 연결된 경우, 고객 WebRTC 단말(303)은 기존에 발급받은 token_ID를 포함하는 req-ws-init 메시지를 국선 WebRTC 서버(109)로 전송한다(S503).When the
국선 WebRTC 서버(109)는 req-ws-init 메시지를 수신하면, 고객 WebRTC 단말(303)에게 event-ws-init 메시지를 전송한다(S505). 이때, event-ws-init 메시지는 발급한 token_ID, ka_interval, timeout 값을 포함할 수 있다.When the trunk
국선 WebRTC 서버(109)는 S503 단계에서 수신한 req-ws-init 메시지에 token_ID가 포함되지 않은 경우, 고유한 token_ID를 발급한다. 반면, S503 단계에서 수신한 req-ws-init 메시지에 token_ID가 포함된 경우, event-ws-init 메시지에는 S503 단계에서 수신한 token_ID를 포함시킨다. 다만, 타이머(timer)에 의해 모든 세션이 이미 종료되어 기존 token_ID가 소멸된 경우, 새로운 token_ID를 발급한다.If the token_ID is not included in the req-ws-init message received in step S503, the trunk
고객 WebRTC 단말(303)은 기 저장한 token_ID와 S505 단계에서 수신한 token_ID가 일치하는지 판단한다(S507).The
불일치하면, 고객 WebRTC 단말(303)은 기존 세션을 모두 초기화(S509)하고, 새로운 세션의 생성을 요청(req-newcall)한다(S511). If there is a mismatch, the
여기서, 초기화(S509)는 웹 소켓 초기화로서, 고객 WebRTC 단말(303) 및 상담원 단말(123)이 웹소켓으로 WebRTC 서버(107, 109)에 접속하여 hand-shake 과정(일반적인 웹접속 과정)을 거치고 SSL 사용시 SSL 인증절차를 거친 후 req-ws-init 메시지 및 event-ws-init 메시지를 교환하는 과정에 해당된다.Here, the initialization (S509) is a web socket initialization, and the
여기서, event-ws-init 메시지는 token id(websocket 구분자, 재접속시 동일한 token id 사용), keep alive interval(ping 메시지 전송주기), keep alive timeout(ping 메시지 타임아웃), owms id(재접속시 사용) 등을 포함할 수 있다.Here, the event-ws-init message is token id (websocket delimiter, the same token id is used when reconnecting), keep alive interval (ping message sending cycle), keep alive timeout (ping message timeout), owms id (used when reconnecting) And the like.
상담원 단말(123)은 웹소켓 초기화가 완료되면 단말 등록 절차(register)를 수행하고, 고객 WebRTC 단말(303)은 호 발신을 수행한다.When the web socket initialization is completed, the
이때, 국선 WebRTC 서버(109)는 소켓 연결후 t1 시간 이내에 req-newcallD이수신되지 않으면 S501 단계에서 설정된 socket 연결을 해제한다.At this time, if the req-newcallD is not received within t1 hour after the socket connection, the trunk
고객 WebRTC 단말(303)은 S507 단계에서 일치로 판단되거나 또는 S511 단계 이후, S505 단계에서 수신한 인터벌 주기(ka_interval)가 도래하는지 판단한다(S513).The
고객 WebRTC 단말(303)은 인터벌 주기가 도래하면, 국선 WebRTC 서버(109)에게 req_ws_ping을 전송(S515)한다.When the interval period arrives, the
국선 WebRTC 서버(109)는 타임아웃(Timeout)이 만료(S517)하기 전에 event_ws_pong을 고객 WebRTC 단말(303)에게 전송한다(S519). The trunk
고객 WebRTC 단말(303)은 타임아웃(Timeout)이 만료하기 전에 event_ws_pong을 수신하지 못하면, 소켓 접속을 해제한다(socket close)(S521).If the
이때, 국선 WebRTC 서버(109)는 항상 타임아웃(Timeout)을 인터벌 주기(ka_interval)보다 크게 설정한다. At this time, the trunk
도 7은 본 발명의 실시예에 따른 상담원 단말과 내선 WebRTC 서버 간의 통신 세션 설립 및 해제 플로우를 나타낸다.7 shows a flow of establishing and releasing a communication session between an agent terminal and an extension WebRTC server according to an embodiment of the present invention.
도 7을 참조하면, 상담원 단말(123)이 내선 WebRTC 서버(107)와 websocket 접속(socketconnect)된 상태(S601)에서 t0 시간 이내에 내선 WebRTC 서버(107)에게 req-ws-init 메시지를 전송한다(S603).Referring to FIG. 7, the
이때, 상담원 단말(123)이 네트워크 또는 시스템의 이상으로 소켓이 끊어졌다 재접속한 경우 기존 token_id 값을 포함하는 req-ws-init 메시지를 전송한다(S603).At this time, when the socket is disconnected and reconnected due to an abnormality in the network or the system, the
내선 WebRTC 서버(107)는 req-ws-init 메시지를 수신하면, token_id, ka_interval, timeout 값을 포함하는 event-ws-init 메시지를 상담원 단말(123)에게 전송한다(S605).Upon receiving the req-ws-init message, the
내선 WebRTC 서버(107)는 S603 단계에서 수신한 req-ws-init 메시지에 token_ID가 포함되지 않은 경우, 고유한 token_ID를 발급한다. 반면, S603 단계에서 수신한 req-ws-init 메시지에 token_ID가 포함된 경우, event-ws-init 메시지에는 S603 단계에서 수신한 token_ID를 포함시킨다. 다만, 타이머(timer)에 의해 모든 세션이 이미 종료되어 기존 token_ID가 소멸된 경우, 새로운 token_ID를 발급한다.The
상담원 단말(123)은 기 저장한 token_ID와 S605 단계에서 수신한 token_ID가 일치하는지 판단한다(S607).The
불일치하면, 상담원 단말(123)은 기존 세션을 모두 초기화(S609)한다. 상담원 단말(123)은 내선 WebRTC 서버(107)에게 DN이 포함된 req-register 메시지를 전송한다(S611). If there is a discrepancy, the
상담원 단말(123)은 웹소켓이 잠시 끊어졌다 재연결되었을때 현재 상태가 세션 연결 중인 상태도 아니고 세션 연결을 위해 어떤 메시지도 주고 받은 상태가 아니면 반드시 기존에 사용한 call_id를 포함하여 req-register 메시지를 전송한다.When the web socket is disconnected and reconnected for a while, the
이때, 내선 WebRTC 서버(107)는 상담원 단말(123)과 소켓 연결후 t1 시간 이내에 req-register 메시지가 수신되지 않으면 S601 단계에서 설정된 socket 연결을 해제한다.At this time, the
내선 WebRTC 서버(107)는 IP-PBX(105)로 register 메시지를 전송(S613)하고 200 OK 메시지를 수신한다(S615). 그리고 상담원 단말(123)에게 event-registered 메시지를 전송한다(S617). 이러한 S613 단계 ~ S617 단계는 도 2의 S127 ~ S133, 도 3의 S205 ~ S211와 동일하다. The
이때, S617 단계에는 내선 WebRTC 서버(107)가 상담원 단말(123)의 register을 거절 하고자 할 경우 사유를 포함하여 event-rejected 메시지를 전송할 수 있다.At this time, in step S617, when the
또한, 상담원 단말(123)은 내선 WebRTC 서버(107)로 DN의 등록 해제를 요청하는 req-unregister 메시지를 전송할 수 있다(S619). 내선 WebRTC 서버(107)는 IP-PBX(105)로 unregister 메시지를 전송(S621)하고 200 OK 메시지를 수신한다(S623). 그리고 상담원 단말(123)에게 event-unregistered 메시지를 전송한다(S625). In addition, the
한편, 상담원 단말(123)은 S607 단계에서 일치로 판단되거나 또는 S617 단계 이후, S605 단계에서 수신한 인터벌 주기(ka_interval)가 도래하는지 판단한다(S627).On the other hand, the
상담원 단말(123)은 인터벌 주기가 도래하면, 내선 WebRTC 서버(107)에게 req_ws_ping을 전송(S629)한다.When the interval period arrives, the
내선 WebRTC 서버(107)는 타임아웃(Timeout)이 만료(S631)하기 전에 event_ws_pong을 상담원 단말(123)에게 전송한다(S633). The
상담원 단말(613)은 타임아웃(Timeout)이 만료하기 전에 event_ws_pong을 수신하지 못하면, 소켓 접속을 해제한다(socket close)(S635).If the agent terminal 613 does not receive event_ws_pong before the timeout expires, the socket connection is released (socket close) (S635).
이때, 내선 WebRTC 서버(107)는 항상 타임아웃(Timeout)을 인터벌 주기(ka_interval)보다 크게 설정한다. At this time, the
도 8는 본 발명의 한 실시예에 따른 고객 전화 단말이 상담원 전화번호로 전화한 경우, 콜 플로우를 나타낸다.8 shows a call flow when a customer telephone terminal calls an agent telephone number according to an embodiment of the present invention.
도 8을 참조하면, 고객 전화 단말(301)이 특정 DN을 포함하고 고객 전화 단말(301)이 설정한 미디어 정보인 M1 SDP를 포함하는 인바이트 메시지를 IP-PBX(103)로 전송한다(S701).Referring to FIG. 8, the
IP-PBX(103)는 내선 WebRTC 서버(107)에게 M1 SDP를 포함하는 인바이트 메시지를 전송한다(S703). The IP-
내선 WebRTC 서버(107)는 인바이트 메시지의 수신자 필드에 수록된 DN에 대응하는 상담원 단말(123)에게 SDP 없이 event-newcall을 요청한다(S705).The
상담원 단말(123)은 req-accept를 내선 WebRTC 서버(107)에게 전송한다(S707). The
내선 WebRTC 서버(107)는 180 Ringing 메시지를 IP-PBX(103)에게 전송한다(S709). The
이때, 내선 WebRTC 서버(107)는 event-newcall을 요청한 이후, t2 시간이내에 req-accept가 수신되지 않으면, IP-PBX(103)에게 408 메시지(Request Time-out)를 전송하고 상담원 단말(123)에게 event-cancel을 보내서 세션 생성을 중지할 수 있다.At this time, after requesting the event-newcall, the
IP-PBX(103)는 180 Ringing 메시지를 고객 전화 단말(301)에게 전송한다(S711).IP-PBX (103) transmits a 180 Ringing message to the customer phone terminal (301) (S711).
상담원 단말(123)은 S707 단계 이후, 미디어 자원을 생성하고 코덱 정보와 함께 B SDP를 포함하는 req-answer 메시지를 내선 WebRTC 서버(107)에게 전송한다(S713). After step S707, the
내선 WebRTC 서버(107)는 내선 WebRTC 서버(107)가 설정한 미디어 정보인 M2 SDP를 포함하는 200 OK 메시지를 IP-PBX(103)에게 전송(S715)하고, IP-PBX(103)는 고객 전화 단말(301)에게 M2 SDP를 포함하는 200 OK 메시지를 전송(S717)한다. The
고객 전화 단말(301)은 ACK 메시지를 IP-PBX(103)에게 전송한다(S719).The
IP-PBX(103)는 내선 WebRTC 서버(107)에게 ACK 메시지를 전송한다(S721). IP-
내선 WebRTC 서버(107)는 내선 WebRTC 서버(107)가 설정한 미디어 정보인 M4 SDP를 포함하는 event-connected 메시지를 상담원 단말(123)에게 전송한다(S723).The
이때, 상담원 단말(123)은 S713 단계에서 req-answer 메시지를 전송한 이후, t4 시간 이내에 event-connected 메시지가 수신되지 않으면, 내선 WebRTC 서버(107)로 event-cancel을 전송하여 세션 생성을 중지할 수 있다.At this time, after transmitting the req-answer message in step S713, if the event-connected message is not received within t4 hours, the
S701 단계 ~ S723 단계를 통해 호 설립이 완료되면, 고객 전화 단말(301)은 상담원 단말(123)과 WebRTC 통신으로 미디어를 송수신한다. 즉, 고객 전화 단말(301)은 내선 WebRTC 서버(107)와 UDP/RTP 통신을 한다(S725). 그리고 내선 WebRTC 서버(107)는 상담원 단말(123)과 STUN/ DTLS/SRTP 통신을 한다(S727).When the call establishment is completed through steps S701 to S723, the
도 9은 본 발명의 다른 실시예에 따른 고객 WebRTC 단말이 상담원 전화번호로 전화한 경우, 콜 플로우를 나타낸다.9 illustrates a call flow when a customer WebRTC terminal according to another embodiment of the present invention calls an agent telephone number.
도 9을 참조하면, 고객 WebRTC 단말(303)이 상담원 단말(123) 간의 통신 세션 생성은 3-way handshaking 원칙을 따른다.Referring to FIG. 9, the creation of a communication session between the
고객 WebRTC 단말(303)은 설정한 미디어 정보인 A SDP를 포함하는 req-newcall 메시지를 국선 WebRTC 서버(109)에게 전송한다(S801). 이때, req-newcall 메시지는 특정 상담원 단말(123)의 DN을 포함한다. 이러한 DN은 S803, S805의 인바이트 메시지의 수신자 필드에 수록되며, 내선 WebRTC 서버(107)는 인바이트 메시지의 수신자 필드의 DN에 해당하는 상담원 단말(123)로 호 연결을 요청한다(S807). The
이때, 국선 WebRTC 서버(109)는 고객 WebRTC 단말(303)과 웹소켓 연결된 후, t1 시간 이내에 req-newcall 메시지가 수신되지 않으면, 웹소켓 연결을 해제한다.At this time, the trunk
국선 WebRTC 서버(109)는 설정한 미디어 정보인 M1 SDP를 포함하는 인바이트 메시지를 IP-PBX(103)에게 전송한다(S803). The trunk
IP-PBX(103)는 내선 WebRTC 서버(107)에게 M1 SDP를 포함하는 인바이트 메시지를 전송한다(S805). The IP-
내선 WebRTC 서버(107)는 인바이트 메시지의 수신자 필드에 수록된 DN에 대응하는 상담원 단말(123)에게 SDP 없이 event-newcall을 요청한다(S807).The
상담원 단말(123)은 req-accept를 내선 WebRTC 서버(107)에게 전송한다(S809). The
이때, 내선 WebRTC 서버(107)는 event-newcall을 요청한 이후, t2 시간 이내에 req-accept가 수신되지 않으면 IP-PBX(103)에게 408 메시지(Request Time-out)를 전송하고 상담원 단말(123)에게 event-cancel을 보내서 세션 생성을 중지할 수 있다.At this time, after requesting the event-newcall, the
내선 WebRTC 서버(107)는 180 Ringing 메시지를 IP-PBX(103)에게 전송한다(S811). IP-PBX(103)는 180 Ringing 메시지를 국선 WebRTC 서버(109)에게 전송한다(S813).The
국선 WebRTC 서버(109)는 event-accepted 메시지를 고객 WebRTC 단말(303)에게 전송한다(S815).The trunk
고객 WebRTC 단말(303)은 S801 단계 이후, t2 시간 이내에 event-accepted 메시지가 수신되지 않으면, 국선 WebRTC 서버(109)에게 req-cancel 전송하여 세션 생성을 중지할 수 있다.If the event-accepted message is not received within t2 hours after step S801, the
상담원 단말(123)은 S809 단계 이후, 미디어 자원을 생성하고 코덱 정보와 함께 설정한 미디어 정보인 B-SDP를 포함하는 req-answer 메시지를 내선 WebRTC 서버(107)에게 전송한다(S817). After the step S809, the
내선 WebRTC 서버(107)는 IP-PBX(103)에게 설정 미디어 정보인 M2 SDP를 포함하는 200 OK 메시지를 전송(S819)하고, IP-PBX(103)는 국선 WebRTC 서버(109)에게 M2 SDP를 포함하는 200 OK 메시지를 전송(S821)한다. The
국선 WebRTC 서버(109)는 IP-PBX(103)로부터 200 OK를 수신(S821)하면 고객 WebRTC 단말(303)로 설정 미디어 정보인 M3 SDP를 포함하는 event-answered를 전송한다(S823). When the trunk
이때, 내선 WebRTC 서버(107)는 S809 단계에서 req-accept를 수신한 이후 t3 시간 이내에 req-answer를 수신하지 못하면 IP-PBX(103)로 408 메시지(Request Time-out)를 전송하고 상담원 단말(123)에게 event-cancel을 전송하여 세션 생성을 중지할 수 있다.At this time, if the
또한, 고객 WebRTC 단말(303)은 S815 단계에서 event-accept를 수신한 이후 t3 시간 이내에 event-answered를 수신하지 못하면 국선 WebRTC 서버(109)로 event-cancel을 전송하여 세션 생성을 중지할 수 있다. In addition, if the
고객 WebRTC 단말(303)은 국선 WebRTC 서버(109)와 세션 협상에 문제가 없으면, 국선 WebRTC 서버(109)로 req-connect를 전송한다(S825).The
여기서, 세션 협상은 req-newcall의 SDP와 event-answered의 SDP 간에 미디어 협상을 의미한다. 이를 테면 일치하는 코덱이 없거나 일치하는 영상 해상도가 없는 경우 협상에 실패하고 그 경우 고객 WebRTC 단말(303)은 국선 WebRTC 서버(109)로 req-cancel 메시지를 보내 취소한다.Here, session negotiation means media negotiation between SDP of req-newcall and SDP of event-answered. For example, if there is no matching codec or there is no matching video resolution, negotiation fails. In this case, the
이때, 국선 WebRTC 서버(109)는 S823 단계에서 event-answered를 전송한 이후, t4 시간 이내에 req-connect를 수신하지 못하는 경우, IP-PBX(103)에게 Bye 메시지를 전송하고 고객 WebRTC 단말(303)에게는 event-endcall을 보내서 세션을 종료할 수 있다.At this time, after transmitting the event-answered in step S823, the trunk
S825 단계 이후, 국선 WebRTC 서버(109)는 ACK 메시지를 IP-PBX(103)에게 전송한다(S827). IP-PBX(103)는 내선 WebRTC 서버(107)에게 ACK 메시지를 전송한다(S829). After step S825, the trunk
내선 WebRTC 서버(107)는 상담원 단말(123)에게 설정 미디어 정보인 M4 SDP를 포함하는 event-connected 메시지를 전송한다(S831). The
이때, 상담원 단말(123)은 S817 단계에서 req-answer 메시지를 전송한 이후, t4 시간 이내에 event-connected 메시지가 수신되지 않으면, 내선 WebRTC 서버(107)로 req-endcall을 전송하여 세션 생성을 중지할 수 있다.At this time, after transmitting the req-answer message in step S817, if the event-connected message is not received within t4 hours, the
S801 단계 ~ S831 단계를 통해 호 설립이 완료되면, 고객 WebRTC 단말(303)은 상담원 단말(123)과 WebRTC 통신으로 미디어를 송수신한다. 즉, 고객 WebRTC 단말(303)은 국선 WebRTC 서버(109)와 STUN/ DTLS/SRTP 통신(S833)을 하고, 상담원 단말(123)은 내선 WebRTC 서버(107)와 STUN/ DTLS/SRTP 통신(S835)을 하고, 국선 WebRTC 서버(109)와 내선 WebRTC 서버(107)는 UDP/RTP 통신을 한다(S837).When the call establishment is completed through steps S801 to S831, the
한편, 상담원 단말 A가 고객 단말(303)과 통화 세션이 연결된 상태에서 상담원 단말 A에 의해 홀드(hold) 요청이 발생하는 경우, 상담원 단말 B와의 협의 호 전환 과정에 대하여 도 10 및 도 11을 참고하여 설명하고, 즉시 호 전환 과정에 대하여 도 12를 참고하여 설명한다.On the other hand, when a hold request is generated by the agent terminal A in the state where the agent terminal A is connected to the
여기서, 협의 호 전환 및 즉시 호 전환은 적어도 두 상담원 단말이 참여하는 다중 세션을 생성하는 과정이다. 이러한 호 전환은 고객 단말(303)이 상담원 단말 A와 통화하다가 상담원 단말 B로 호를 전환하여 상담원 단말 A와의 호를 종료하고 상담원 단말 B와 호를 연결한다.Here, the negotiation call switching and the immediate call switching is a process of generating multiple sessions in which at least two agent terminals participate. In the call switching, the
도 10는 본 발명의 실시예에 따른 협의 호 전환을 위한 홀드(Hold) 및 신규 호 생성 플로우를 나타낸다.10 shows a hold and a new call generation flow for negotiation call switching according to an embodiment of the present invention.
도 10을 참조하면, 도 5 내지 도 9에서 설명한 바와 같이, 상담원 단말 A(123)이 고객 WebRTC 단말(303)과 통화 중인 상태에서 시작된다. 이때, 상담원 단말(123)이 새로운 세션을 생성하고자 할 경우, 상담원 단말 A(123)이 내선 WebRTC 서버(107)에게 req-newcall을 전송한다(S901).Referring to FIG. 10, as described with reference to FIGS. 5 to 9, the
이때, 기존 통화 세션의 미디어를 일시적으로 중단시키기 위해서 hold 기능이 필요한 경우, 상담원 단말 A(123)는 미디어 모드를 sendonly 또는 inactive로 변경한 req-recall을 내선 WebRTC 서버(107)에게 전송한다.At this time, if a hold function is required to temporarily stop the media of the existing call session, the
미디어 모드의 종류는 sendrecv, sendonly, recvonly, inactive 중 하나일 수 있다. Sendrecv는 미디어(음성/영상)을 주고 받는 모드이다. Sendonly는 미디어(음성/영상)을 송신만 하는 모드이다. Recvonly는 미디어(음성/영상)를 수신만 하는 모드이다. Inactive는 미디어(음성/영상)을 보내지도 받지도 않는 모드이다.The media mode can be one of sendrecv, sendonly, recvonly, and inactive. Sendrecv is a mode for sending and receiving media (voice/video). Sendonly is a mode that only transmits media (voice/video). Recvonly is a mode that only receives media (voice/video). Inactive is a mode that neither sends nor receives media (voice/video).
이때, S901 단계는 SDP에 포함되는 정보로 새로운 호 생성시 기존 호로부터 미디어가 수신되지 않도록 하기위해 재협상하는 과정으로서, 후술할 전환(Hold) 과정과 동일하다.In this case, step S901 is a process of renegotiating to prevent media from being received from an existing call when creating a new call with information included in the SDP, which is the same as the hold process, which will be described later.
내선 WebRTC 서버(107)는 sendonly 또는 inactive를 포함한 reINVITE를 IP-PBX(103)에게 전송한다(S903).The
IP-PBX(103)는 IP-PBX(103)의 보류음을 보내줄 IP-PBX(103)의 SDP를 포함하는 reINVITE를 국선 WebRTC 서버(109)에게 전송한다(S905). The IP-
국선 WebRTC 서버(109)는 국선 WebRTC 서버(109)가 설정한 미디어 정보인 M3' SDP를 포함하는 event-recall을 고객 WebRTC 단말(303)에게 전송한다(S907). The trunk
고객 WebRTC 단말(303)은 국선 WebRTC 서버(109)에게 설정 미디어 정보인 A' SDP를 포함하는 req-answer을 전송한다(S909).The
국선 WebRTC 서버(109)는 S907 단계 이후 t3 시간 이내에 S909 단계가 이루어지지 않으면, 고객 단말(303)에게 event-cancel을 전송하여 세션 생성을 중지할 수 있다.If the step S909 is not performed within t3 hours after the step S907, the trunk
국선 WebRTC 서버(109)는 IP-PBX(103)에게 국선 WebRTC 서버(109)가 설정한미디어 정보인 M1 SDP를 포함하는 200 OK 메시지를 전송한다(S911). The trunk
IP-PBX(103)는 inactive를 포함하는 200 OK 메시지를 내선 WebRTC 서버(107)에게 전송한다(S913). IP-
내선 WebRTC 서버(107)는 상담원 단말 A(123)에게 inactive를 포함하는 event-answer를 전송한다(S915).The
상담원 단말 A(123)는 req-reconnect를 내선 WebRTC 서버(107)에게 전송한다(S917). The
이때, 상담원 단말 A(123)는 S901 단계 이후, t3 시간 이내에 S915 단계가 이루어지지 않으면, 내선 WebRTC 서버(107)로 event-cancel을 전송하여 세션 재협상을 취소할 수 있다.At this time, the
내선 WebRTC 서버(107)는 ACK를 IP-PBX(103)에게 전송한다(S919). IP-PBX(103)는 ACK를 국선 WebRTC 서버(109)에게 전송한다(S921). The
이때, 내선 WebRTC 서버(107)는 t4 시간 이내에 req-reconnect가 수신되지 않으면, 세션 재협상을 중지하고 기존 미디어 상태로 돌아간다.At this time, if the req-reconnect is not received within t4 hours, the
국선 WebRTC 서버(109)는 고객 WebRTC 단말(303)에게 event-reconnected를 전송한다(S923). The trunk
그러면, 고객 WebRTC 단말(303)은 국선 WebRTC 서버(109)와 STUN/DTLS/RTP 통신을 하고(S925), 국선 WebRTC 서버(109)는 IP-PBX(103)와 UDP/RTP 통신을 한다(S927). 이때, S925 단계 및 S927 단계에서 통화 홀드에 따른 보류음을 고객 WebRTC 단말(303)로 송출한다. S901 단계 ~ S927 단계를 통해 상담원 단말 A(123)은 설정한 미디어 정보 고객 WebRTC 단말(303)과의 통화 세션을 홀드한다. Then, the
이어서, S917 단계 이후, 상담원 단말 A(123)은 설정한 미디어 정보인 B SDP를 포함하는 req-newcall을 내선 WebRTC 서버(107)에게 전송한다(S929). 이때, req-newcall은 상담원 단말 B(123)의 DN을 포함한다.Subsequently, after step S917, the
여기서, S929 단계 이후의 과정은 도 5의 S425 단계 이후와 유사하게 동작한다. Here, the process after step S929 operates similarly to step S425 after FIG. 5.
내선 WebRTC 서버(107)는 IP-PBX(103)에게 내선 WebRTC 서버(107)가 설정한 미디어 정보인 M5 SDP를 포함하는 인바이트 메시지를 전송한다(S931). 이때, 인바이트 메시지의 수신자 필드에는 S929 단계에서 수신한 DN을 포함한다. The
IP-PBX(103)는 M5 SDP를 포함하는 인바이트 메시지를 내선 WebRTC 서버(107)에게 전송한다(S933). The IP-
내선 WebRTC 서버(107)는 상담원 단말 B(123)에게 event-newcall을 전송한다(S935). 그리고 상담원 단말 B(123)로부터 상담원 단말 B(123)이 지정한 미디어 정보인 C SDP를 포함하는 req-answer을 수신한다(S937). The
이때, 내선 WebRTC 서버(107)는 S935 단계 이후 t3 시간 이내에 S937 단계가 이루어지지 않으면, 상담원 단말 B(123)에게 event-cancel을 전송하여 세션 생성을 중지할 수 있다.At this time, the
내선 WebRTC 서버(107)는 설정한 미디어 정보인 M6 SDP를 포함하는 200 OK 메시지를 IP-PBX(103)에게 전송한다(S939).The
IP-PBX(103)는 내선 WebRTC 서버(107)에게 M6 SDP를 포함하는 200 OK 메시지를 전송한다(S941).IP-
내선 WebRTC 서버(107)는 설정한 미디어 정보인 M7 SDP를 포함하는 event-answered를 상담원 단말 A(123)에게 전송한다(S943).The
이때, 상담원 단말 A(123)는 S929 단계 이후 t3 시간 이내에 S943 단계가 이루어지지 않으면, 내선 WebRTC 서버(107)에게 req-cancel을 전송하여 세션 생성을 중지할 수 있다.At this time, the agent terminal A (123) may stop the session creation by sending a req-cancel to the
상담원 단말 A(123)는 내선 WebRTC 서버(107)에게 req-connect를 전송한다(S945). The
내선 WebRTC 서버(107)는 IP-PBX(103)에게 ACK 메시지를 전송(S947)하고, IP-PBX(103)로부터 ACK 메시지를 수신한다(S949).The
이때, 내선 WebRTC 서버(107)는 S943 단계 이후, S945 단계가 t4 시간 이내에 이루어지지 않으면, 상담원 단말 A(123)에게 event-cancel을 전송하여 세션 생성을 중지할 수 있다.At this time, the
내선 WebRTC 서버(107)는 상담원 단말 B(123)에게 event-connected를 전송한다(S951). 이때, 상담원 단말 B(123)은 S937 단계 이후, S951 단계가 이루어지지 않으면, 내선 WebRTC 서버(107)에게 req-endcall을 전송하여 세션 생성을 중지할 수 있다.The
내선 WebRTC 서버(107)는 상담원 단말 A(123)와 STUN/DTLS/RTP 통신을 하고(S953), 상담원 단말 B(123)와 STUN/DTLS/RTP 통신을 한다(S955). The
이때, 상담원 단말 A(123) 또는 상담원 단말 B(123)가 신규호를 끊으면, S929 단계 이전의 홀드 상태로 돌아간다. At this time, if the agent terminal A (123) or the agent terminal B (123) hangs up the new call, it returns to the hold state before step S929.
이와 같이, S901 단계 ~ S923 단계까지는 통화 홀드 플로우를 나타낸다. 그리고 S929 단계 ~ S951 단계까지는 고객 WebRTC 단말(303)과 상담원 단말 B(123)간의 신규 호를 생성하는 플로우를 나타낸다. 이 플로우들은 이는 협의 호 전환의 전초 과정이다. As described above, a call hold flow is indicated from steps S901 to S923. In addition, steps S929 to S951 represent flows for generating a new call between the
도 11는 본 발명의 실시예에 따른 협의 호 전환을 위한 플로우를 나타낸다.11 shows a flow for switching a conference call according to an embodiment of the present invention.
도 11를 참조하면, 도 10의 통화 홀드 및 고객 WebRTC 단말(303)과 상담원 단말 B(123)간의 신규 호가 생성된 상태에서 시작한다.Referring to FIG. 11, the call hold of FIG. 10 and a new call between the
상담원 단말 A(123)은 호 전환을 요청하는 req-refer 메시지를 내선 WebRTC 서버(107)에게 전송한다(S1001). 이때, req-refer 메시지는 전환할 대상의 착신번호, 즉, 상담원 단말 B(123)의 DN을 포함한다.The
내선 WebRTC 서버(107)는 IP-PBX((103)에게 전환 메시지(REFER)를 전송한다(S1003). 전환 메시지(REFER)는 웹소켓으로 수신된 req-refer 메시지를 SIP로 변환한 메시지이다.The
내선 WebRTC 서버(107)는 IP-PBX((103)로부터 202 Accepted 메시지를 수신(S1005)하면 rsp-referred 메시지를 상담원 단말 B(123)로 전송한다(S1007). When the
또한, IP-PBX(103)는 S1005 단계 이후, 이어서 NOTIFY(refer) 메시지를 내선 WebRTC 서버(107)에게 전송한다(S1009). Further, the IP-
내선 WebRTC 서버(107)는 event-notify(refer) 메시지를 상담원 단말 A(123)에게 전송한다(S1011). The
상담원 단말 A(123)는 ack-notified(refer) 메시지를 내선 WebRTC 서버(107)로 전송한다(S1013). 내선 WebRTC 서버(107)는 IP-PBX(103)에게 200 OK 메시지를 전송한다(S1015). The
IP-PBX(103)는 상담원 단말 A(123)의 호를 모두 종료하기 위해 내선 WebRTC 서버(107)에게 BYE 메시지를 전송하여 상담원 단말 A(123)에 연결된 기존 호 및 신규 호의 종료를 요청한다(S1017, S1021). 여기서, 기존 호는 상담원 단말 A(123)와 고객 WebRTC 단말(303) 간의 통화 호를 말한다. 신규 호는 상담원 단말 A(123)와 상담원 단말 B(123) 간의 통화 호를 말한다.The IP-
내선 WebRTC 서버(107)는 기존 호 종료 및 신규 호 종료를 요청하는 event-endcall 메시지를 상담원 단말 A(123)에게 전송한다(SS1019, S1023). The
상담원 단말 A(123)는 기존 호 세션 및 신규 호 세션을 종료하는 req-disconnect 메시지를 내선 WebRTC 서버(107)에게 전송(S1025, S1029)한다.The
내선 WebRTC 서버(107)는 S1025, S1029에서 수신한 req-disconnect 메시지들 각각에 대한 200 OK 메시지를 IP-PBX(103)에게 전송한다(S1027, S2031). The
IP-PBX(103)는 상담원 단말 A(123)의 호를 종료시키는 동안 상담원 단말 B(123)의 호를 유지시키기 위해 내선 WebRTC 서버(107)에게 IP-PBX(103)의 SDP를 포함하는 reINVITE 메시지를 전송한다(S1033).The IP-
reINVITE 메시지는 고객측 세션을 재협상하는 일련의 과정 사이(S1049 단계 ~ S1055 단계)에 기존에 상담원 단말 A(123)과 통화(이미 끊어진 통화) 중 이었던 상담원 단말 B(123)의 미디어가 끊어지지 않도록 일시적으로 연결해주기 위함 이다.The reINVITE message prevents the media of
내선 WebRTC 서버(107)는 reINVITE 메시지를 수신하면 협상 조건에 따라 바로 200OK 메시지를 IP-PBX(103)로 전송할 수 있다(S1039). 혹은 상담원 단말 B(123)에게 event-recall 메시지를 전송(S1035)해서 req-answer 메시지를 수신(S1037)하면 200OK 메시지를 IP-PBX(103)로 전송할 수 있다(S1039).Upon receiving the reINVITE message, the
IP-PBX(103)는 ACK 메시지를 내선 WebRTC 서버(107)에게 전송한다(S1041). IP-
내선 WebRTC 서버(107)는 event-reconnected를 상담원 단말 B(123)에게 전송한다(S1043). The
IP-PBX(103)는 UDP/RTP 및 STRUN/DTLS/RTP를 통해 상담원 단말 B(123)에게 대기음을 송출한다(S1045, S1047).The IP-
IP-PBX(103)는 상담원 단말 A(123)와의 호가 종료되면, 고객 WebRTC 단말(303)과 상담원 단말 B(123)간의 연결을 위해서 국선 WebRTC 서버(109)에게 No SDP INVITE 메시지를 전송한다(S1049). When the call with the
국선 WebRTC 서버(109)는 고객 WebRTC 단말(303)에게 event-recall 메시지를 전송한다(S1051). 고객 WebRTC 단말(303)은 req-answer 메시지를 국선 WebRTC 서버(109)에게 전송한다(S1053). The trunk
국선 WebRTC 서버(109)는 IP-PBX(103)에게 200 OK 메시지를 전송한다(S1055). The trunk
IP-PBX(103)는 내선 WebRTC 서버(107)에게 reINVITE 메시지를 전송한다(S1057). IP-
내선 WebRTC 서버(107)는 상담원 단말 B(123)에게 event-recall 메시지를 전송한다(S1059). 그리고 상담원 단말 B(123)로부터 req-answer 메시지를 수신한다(S1061). The
내선 WebRTC 서버(107)는 200 OK 메시지를 IP-PBX(103)에게 전송한다(S1063).The
IP-PBX(103)는 국선 WebRTC 서버(109)에게 ACK 메시지를 전송한다(S1065). The IP-
국선 WebRTC 서버(109)는 고객 WebRTC 단말(303)에게 event-reconnected 메시지를 전송한다(S1067). The trunk
또한, IP-PBX(103)는 내선 WebRTC 서버(107)에게 ACK 메시지를 전송한다(S1069). 내선 WebRTC 서버(107)는 상담원 단말 B(123)에게 event-reconnected 메시지를 전송한다(S1071). In addition, the IP-
고객 WebRTC 단말(303)은 국선 WebRTC 서버(109)와 STUN/ DTLS/SRTP 통신(S1073)을 하고, 상담원 단말 B(123)은 내선 WebRTC 서버(107)와 STUN/ DTLS/SRTP 통신(S1075)을 하고, 국선 WebRTC 서버(109)와 내선 WebRTC 서버(107)는 UDP/RTP 통신을 한다(S1077).The
S1065 단계 및 S1069 단계 이후, 고객 WebRTC 단말(303)와 상담원 단말 B(123) 간에 통화가 이루어진다. After steps S1065 and S1069, a call is made between the
도 12은 본 발명의 실시예에 따른 즉시 호 전환(blind transfer)을 위한 플로우를 나타낸다.12 shows a flow for an immediate call transfer (blind transfer) according to an embodiment of the present invention.
즉, 상담원 단말 B가 호 전환 사실을 인지하지 못하게 호 전환하는 과정을 나타낸다. 즉시 호 전환은 도 10 및 도 11과 달리, 상담원 단말 A와 상담원 단말 B 간의 협의 없이 호를 상담원 단말 B로 전환한다.That is, it represents a process of transferring a call so that the agent terminal B does not recognize the call switching fact. 10 and 11, the call is switched to the agent terminal B without consultation between the agent terminal A and the agent terminal B.
이때, 도 5 내지 도 9에서 설명한 바와 같이, 상담원 단말 A(123)이 고객 WebRTC 단말(303)과 통화 중인 상태에서 시작된다.At this time, as described with reference to FIGS. 5 to 9, the
도 12를 참조하면, 상담원 단말(123)이 새로운 세션을 생성하고자 할 경우, 상담원 단말 A(123)이 내선 WebRTC 서버(107)에게 req-newcall을 전송한다(S1101).Referring to FIG. 12, when the
이때, req-newcall은 상담원 단말 B(123)의 DN을 포함한다.At this time, req-newcall includes the DN of the agent terminal B (123).
이때, 기존 통화 세션의 미디어를 일시적으로 중단시키기 위해서 hold 기능이 필요한 경우, 상담원 단말 A(123)는 미디어 모드를 sendonly 또는 inactive로 변경한 req-recall을 내선 WebRTC 서버(107)에게 전송한다. At this time, if a hold function is required to temporarily stop the media of the existing call session, the
내선 WebRTC 서버(107)는 sendonly 또는 inactive를 포함한 reINVITE를 IP-PBX(103)에게 전송한다(S1103).The
IP-PBX(103)는 IP-PBX(103)의 SDP를 포함하는 reINVITE를 국선 WebRTC 서버(109)에게 전송한다(S1105). IP-
국선 WebRTC 서버(109)는 고객 WebRTC 단말(303)에게 event-recall을 전송한다(S1107).The trunk
고객 WebRTC 단말(303)은 국선 WebRTC 서버(109)에게 req-answer을 전송한다(S1109).The
국선 WebRTC 서버(109)는 IP-PBX(103)에게 200 OK 메시지를 전송한다(S1111). The trunk
IP-PBX(103)는 국선 WebRTC 서버(109)에게 ACK 메시지를 전송한다(S1113). The IP-
국선 WebRTC 서버(109)는 고객 WebRTC 단말(303)에게 event-reconnected 메시지를 전송한다(S1115). The trunk
고객 WebRTC 단말(303)는 국선 WebRTC 서버(109)와 STUN/DTLS/RTP 통신을 하고(S1117), 국선 WebRTC 서버(109)는 IP-PBX(103)와 UDP/RTP 통신을 한다(S1119). The
이때, S1117 단계 및 S1119 단계에서 통화 홀드에 따른 보류음을 고객 WebRTC 단말(303)로 송출한다.At this time, in step S1117 and step S1119, the hold sound according to the call hold is transmitted to the
S1101 단계 ~ S1119 단계를 통해 상담원 단말 A(123)은 고객 WebRTC 단말(303)과의 통화 세션을 홀드한다. Through steps S1101 to S1119, the
이어서, IP-PBX(103)는 내선 WebRTC 서버(107)에게 200 OK 메시지를 전송한다(S1121). Subsequently, the IP-
내선 WebRTC 서버(107)는 상담원 단말 A(123)에게 event-answer 메시지를 전송한다(S1123).The
상담원 단말 A(123)는 req-reconnect를 내선 WebRTC 서버(107)에게 전송한다(S1125). The
내선 WebRTC 서버(107)는 ACK 메시지를 IP-PBX(103)에게 전송한다(S1127). The
상담원 단말 A(123)은 S1125 단계 이후, 내선 WebRTC 서버(107)에게 호 전환을 요청하는 req-refer 메시지를 전송한다(S1129). 이때, req-refer 메시지는 전환할 대상의 착신번호, 즉, 상담원 단말 B(123)의 DN을 포함한다.After the step S1125, the
내선 WebRTC 서버(107)는 IP-PBX(103)에게 전환 메시지(REFER)를 전송한다(S1131). The
IP-PBX(103)는 내선 WebRTC 서버(107)에게 202 Accepted 메시지를 전송한다(S1133). 내선 WebRTC 서버(107)는 rsp-referred 메시지를 상담원 단말 B(123)로 전송한다(S1135). The IP-
또한, IP-PBX((103)는 S1133 단계 이후, 이어서 NOTIFY(refer) 메시지를 내선 WebRTC 서버(107)에게 전송한다(S1137). In addition, IP-PBX (103) after step S1133, and then sends a NOTIFY (refer) message to the extension WebRTC server 107 (S1137).
내선 WebRTC 서버(107)는 event-notify(refer) 메시지를 상담원 단말 A(123)에게 전송한다(S1139). The
상담원 단말 A(123)는 ack-notified(refer) 메시지를 내선 WebRTC 서버(107)로 전송한다(S1141). 내선 WebRTC 서버(107)는 IP-PBX(103)에게 200 OK 메시지를 전송한다(S1143). The
IP-PBX(103)는 상담원 단말 A(123)의 호를 종료하기 위해 내선 WebRTC 서버(107)에게 BYE 메시지를 전송하여 상담원 단말 A(123)에 연결된 호의 종료를 요청한다(S1145). The IP-
내선 WebRTC 서버(107)는 호 종료를 요청하는 event-endcall 메시지를 상담원 단말 A(123)에게 전송한다(S1147). The
상담원 단말 A(123)는 호 세션을 종료하는 req-disconnect 메시지를 내선 WebRTC 서버(107)에게 전송(S1149)한다.The
내선 WebRTC 서버(107)는 200 OK 메시지를 IP-PBX(103)에게 전송한다(S1151). The
IP-PBX(103)는 내선 WebRTC 서버(107)에게 INVITE 메시지를 전송한다(S1153).The IP-
내선 WebRTC 서버(107)는 상담원 단말 B(123)에게 event-newcall 메시지를 전송(S1155)해서 req-answer 메시지를 수신(S1157)하면 200 OK 메시지를 IP-PBX(103)로 전송할 수 있다(S1159).When the
IP-PBX(103)는 reINVITE 메시지를 국선 WebRTC 서버(109)에게 전송한다(S1161). 국선 WebRTC 서버(109)는 고객 WebRTC 단말(303)에게 event-recall 메시지를 전송한다(S1163). IP-
고객 WebRTC 단말(303)은 req-answer 메시지를 국선 WebRTC 서버(109)에게 전송한다(S1165). The
국선 WebRTC 서버(109)는 IP-PBX(103)에게 200 OK 메시지를 전송한다(S1167). The trunk
IP-PBX(103)는 내선 WebRTC 서버(107)에게 ACK 메시지를 전송한다(S1169).IP-
내선 WebRTC 서버(107)는 상담원 단말 B(123)에게 event-connected 메시지를 전송한다(S1171). The
또한, IP-PBX(103)는 국선 WebRTC 서버(109)에게 ACK 메시지를 전송한다(S1173). 국선 WebRTC 서버(109)는 고객 WebRTC 단말(303)에게 event-connected 메시지를 전송한다(S1175). In addition, the IP-
고객 WebRTC 단말(303)은 국선 WebRTC 서버(109)와 STUN/ DTLS/SRTP 통신(S1177)을 하고, 상담원 단말 B(123)은 내선 WebRTC 서버(107)와 STUN/ DTLS/SRTP 통신(S1179)을 하고, 국선 WebRTC 서버(109)와 내선 WebRTC 서버(107)는 UDP/RTP 통신을 한다(S1181).The
이후, 고객 WebRTC 단말(303)와 상담원 단말 B(123) 간에 통화가 이루어진다. Thereafter, a call is made between the
또한, 도 11 및 도 12에서 t3, t4는 도 1 ~ 도 10에서 설명한 바와 같이, 전 단계가 일정 시간내에 이루어지지 않은 경우, event-cancel 등과 같은 메시지를 전송하여 세션 생성을 중지하는데 사용될 수 있다.In addition, in FIGS. 11 and 12, t3 and t4 may be used to stop session creation by transmitting a message such as event-cancel, etc., if all steps are not performed within a predetermined time as described in FIGS. 1 to 10. .
도 13는 본 발명의 한 실시예에 따른 상담원 단말에 알림을 푸시하는 과정을 나타낸 흐름도이다.13 is a flowchart illustrating a process of pushing a notification to an agent terminal according to an embodiment of the present invention.
도 13을 참조하면, 안드로이드 OS를 사용하는 상담원 단말(123)을 대상으로 하는 푸시 동작을 나타낸다.Referring to FIG. 13, a push operation targeting the
푸쉬 서버(119)와 푸쉬 알림 전송 장치(121)는 웹소켓 접속된다(S1201).The
상담원 단말(123)은 전용 앱을 설치한 후, 푸쉬 알림 전송 장치(121)에게 Push Token을 요청한다(S1203). 여기서, Push Token은 푸쉬 알림 전송 장치(121)가 상담원 단말(123)을 인식할 수 있는 유일한 키값이다. Push Token은 푸쉬 알림 전송 장치(121)가 푸쉬 메시지를 상담원 단말(123)에게 전송할 때, 함께 전송된다.After installing the dedicated app, the
상담원 단말(123)은 푸쉬 알림 전송 장치(121)로부터 Push Token을 수신한다(S1205).The
상담원 단말(123)은 푸쉬 서버(119)에게 S1205 단계에서 수신한 Push Token 을 전송한다(S1207).The
IP-PBX(103)는 상담원 분배가 완료되면, 푸쉬 서버(119)에게 분배된 상담원 단말(123)과 통화 연결을 위한 RESTful API Request를 전송한다(S1209). RESTful API Request는 요청 데이터 및 상담사 정보를 포함할 수 있다.When the agent-distribution is completed, the IP-
푸쉬 서버(119)는 푸쉬 알림 전송 장치(121)에게 IP-PBX(103)로부터 제공받은 요청 데이터 및 상담사 정보와, S1207 단계에서 수신한 Push Token을 포함하는 푸쉬 메시지를 전송한다(S1211).The
푸쉬 알림 전송 장치(121)는 S1211 단계에서 수신한 푸쉬 메시지를 포함하는 통지 메시지(Push Notification)를 상담원 단말(123)에게 전송한다(S1215). The push
상담원 단말(123)은 ACK/NACK 메시지를 푸쉬 알림 전송 장치(121)에게 전송(S1217)하고, 푸쉬 알림 전송 장치(121)는 ACK/NACK 메시지를 푸쉬 서버(119)에게 전송한다(S1219). 여기서, ACK 메시지는 푸쉬 메시지의 수락 메시지이고, NACK 메시지는 푸쉬 메시지의 거절 메시지이다.The
도 14는 본 발명의 다른 실시예에 따른 상담원 단말에 알림을 푸시하는 과정을 나타낸 흐름도이다.14 is a flowchart illustrating a process of pushing a notification to an agent terminal according to another embodiment of the present invention.
도 14를 참조하면, iOS를 사용하는 상담원 단말(123)을 대상으로 한 푸시 동작을 나타낸다.Referring to FIG. 14, a push operation targeting the
상담원 단말(123)은 전용 앱을 설치한 후, 푸쉬 알림 전송 장치(121)에게 Device Token을 요청한다(S1301). 여기서, Device Token은 푸쉬 알림 전송 장치(121)가 상담원 단말(123)을 인식할 수 있는 유일한 키값이다. Device Token은 푸쉬 알림 전송 장치(121)가 푸쉬 메시지를 상담원 단말(123)에게 전송할 때, 함께 전송된다.After installing the dedicated app, the
상담원 단말(123)은 푸쉬 알림 전송 장치(121)로부터 Device Token을 수신한다(S1303).The
상담원 단말(123)은 푸쉬 서버(119)에게 S1303 단계에서 수신한 Device Token을 전송한다(S1305).The
IP-PBX(103)는 상담원 분배가 완료되면, 푸쉬 서버(119)에게 분배된 상담원 단말(123)과 통화 연결을 위한 RESTful API Request를 전송한다(S1307). RESTful API Request는 요청 데이터 및 상담사 정보를 포함할 수 있다.When the agent-distribution is completed, the IP-
푸쉬 서버(119)는 푸쉬 알림 전송 장치(121)와 웹 소켓 접속을 한다(S1309).The
푸쉬 서버(119)는 푸쉬 알림 전송 장치(121)에게 IP-PBX(103)로부터 제공받은 요청 데이터 및 상담사 정보와, S1305 단계에서 수신한 Device Token을 포함하는 푸쉬 메시지를 전송한다(S1311).The
푸쉬 알림 전송 장치(121)는 푸쉬 서버(119)에게 응답 메시지를 전송한다(S1313). 그리고 S1311 단계에서 수신한 푸쉬 메시지를 포함하는 통지 메시지(Push Notification)를 상담원 단말(123)에게 전송한다(S1315). The push
푸쉬 알림 전송 장치(121)는 S1309 단계에서의 웹소켓 접속을 해제한다(S1317). 그리고 IP-PBX(103)에게 RESTful API Response를 전송한다(S1319).The push
도 15는 본 발명의 실시예에 따른 콜센터 상담사를 위한 어플리케이션의 기능을 설명하는 화면이다.15 is a screen for explaining the function of an application for a call center counselor according to an embodiment of the present invention.
도 15을 참조하면, 콜센터 상담사를 위한 상담원 단말의 전용 앱(App)은 소프트폰 기능외에 수/발신이력, 문의/상담내역 관리와 녹음청취, 각종 모니터링과 통계 등의 CRM(Customer Relationship Management) 기능을 제공한다. 15, the dedicated app (App) of the agent terminal for the call center counselor, in addition to the softphone function, CRM/Customer Relationship Management (CRM) functions such as number/call history, inquiry/consultation management and recording listening, and various monitoring and statistics Gives
상담원 단말(123)은 소프트폰 기반의 전용 앱만 가지고도 각종 전화 응대 및 상담에 필요한 기능과 화면을 제공받아 서비스를 진행할 수 있다. 그 기능은 다음 표 1과 같을 수 있다.The
한편, 도 16는 본 발명의 실시예에 따른 컴퓨팅 장치의 하드웨어 구성을 나타낸 블록도로서, 특히, 도 1 ~ 도 15에서 설명한 콜센터 시스템(100)의 하드웨어 구성을 나타낸다.On the other hand, Figure 16 is a block diagram showing the hardware configuration of the computing device according to an embodiment of the present invention, in particular, shows the hardware configuration of the
도 16를 참조하면, 콜센터 시스템(100)은 적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치(400)에서 본 발명의 동작을 실행하도록 기술된 명령들(instructions)이 포함된 프로그램을 실행할 수 있다. Referring to FIG. 16, the
컴퓨팅 장치(400)의 하드웨어는 적어도 하나의 프로세서(401), 메모리(403), 스토리지(405), 통신 인터페이스(407)를 포함할 수 있고, 버스(bus)를 통해 연결될 수 있다. 이외에도 입력 장치 및 출력 장치 등의 하드웨어가 포함될 수 있다. 컴퓨팅 장치(400)는 프로그램을 구동할 수 있는 운영 체제(Operating System, OS)를 비롯한 각종 소프트웨어가 탑재될 수 있다.The hardware of the
프로세서(401)는 컴퓨팅 장치(400)의 동작을 제어하는 장치로서, 프로그램에 포함된 명령들을 처리하는 다양한 형태의 프로세서일 수 있고, 예를들면, CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 등 일 수 있다. 메모리(403)는 본 발명의 동작을 실행하도록 기술된 명령들이 프로세서(401)에 의해 처리되도록 해당 프로그램을 로드할 수 있다. 메모리(403)는 예를 들면, ROM(read only memory), RAM(random access memory) 등 일 수 있다. 스토리지(405)는 본 발명의 동작을 실행하는데 요구되는 각종 데이터, 프로그램 등을 저장할 수 있다. 통신 인터페이스(407)는 유/무선 통신 모듈일 수 있다.The
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.The embodiment of the present invention described above is not implemented only through an apparatus and a method, and may be implemented through a program for realizing a function corresponding to the configuration of the embodiment of the present invention or a recording medium in which the program is recorded.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements of those skilled in the art using the basic concept of the present invention defined in the following claims are also provided. It belongs to the scope of rights.
Claims (14)
고객 단말의 호 연결을 요청하는 SIP(Session Initiation Protocol) 메시지를 IP-PBX(Private Branch Exchange)로부터 수신하는 단계,
상기 호 연결을 요청하는 SIP 메시지를 WebRTC 메시지로 변환하여 상담원 단말에게 전송하는 단계,
상기 상담원 단말로부터 호 연결에 응답하는 WebRTC 메시지를 수신하면, 상기 WebRTC 메시지를 SIP 메시지로 변환하여 상기 고객 단말로 전송하는 단계, 그리고
상기 고객 단말과 SIP 프로토콜 통신을 수행하고, 상기 상담원 단말과 WebRTC 통신을 수행하여, 상기 고객 단말과 상기 상담원 단말 간의 통화 데이터를 중계(Relay)하는 단계
를 포함하는, 방법.A method for a computing device to provide a call center service using Web Real-Time Communications (WebRTC) communication,
Receiving a Session Initiation Protocol (SIP) message requesting a call connection from a customer terminal from a Private Branch Exchange (IP-PBX),
Converting the SIP message requesting the call connection into a WebRTC message and transmitting it to the agent terminal,
Receiving a WebRTC message in response to a call connection from the agent terminal, converting the WebRTC message into a SIP message and transmitting the message to the customer terminal; and
Performing SIP protocol communication with the customer terminal, and performing WebRTC communication with the agent terminal, relaying call data between the customer terminal and the agent terminal
How to include.
상기 IP-PBX는,
상기 고객 단말로부터 호 연결 요청 메시지가 수신되면, 상기 고객 단말과 음성 호를 임시로 연결하여 상기 고객 단말에게 링백톤을 송출하고, CTI(Computer Telephony Integration) 게이트웨이에게 상담원 단말의 배정을 요청하여 배정된 상담원 단말의 정보를 획득하며,
상기 수신하는 단계는,
상기 CTI 게이트웨이로부터 배정받은 상담원 단말로 호 연결을 요청하는 메시지를 상기 IP-PBX로부터 수신하는, 방법.In claim 1,
The IP-PBX,
When a call connection request message is received from the customer terminal, a voice call is temporarily connected to the customer terminal to transmit a ring back tone to the customer terminal, and is assigned by requesting the assignment of an agent terminal to a computer telephony integration (CTI) gateway. Acquiring the information of the agent terminal,
The receiving step,
Method for receiving a message from the IP-PBX requesting a call connection to the agent terminal assigned from the CTI gateway.
상기 수신하는 단계 이전에,
상기 상담원 단말로부터 가입자 전화번호가 포함된 등록 요청 메시지를 수신하는 단게, 그리고
상기 등록 요청 메시지를 SIP 메시지로 변환하여 상기 IP-PBX에 전송하는 단계를 더 포함하고,
상기 IP-PBX로부터 수신되는 호 연결 요청 메시지는,
상기 상담원 단말의 가입자 전화번호가 수신자 필드에 포함되는, 방법.In claim 2,
Prior to the receiving step,
Step for receiving a registration request message containing the subscriber's phone number from the agent terminal, and
Further comprising the step of converting the registration request message to a SIP message and transmitting to the IP-PBX,
The call connection request message received from the IP-PBX is
The subscriber's phone number of the agent terminal is included in a recipient field.
상기 상담원 단말은 웹 단말을 포함하고,
상기 등록 요청 메시지는,
상기 고객 단말로부터 호 연결 요청 메시지를 수신하기 전에 상기 상담원 단말로부터 수신되는, 방법.In claim 3,
The agent terminal includes a web terminal,
The registration request message,
The method is received from the agent terminal before receiving a call connection request message from the customer terminal.
상기 상담원 단말은 모바일 단말을 포함하고,
상기 IP-PBX는,
상기 배정받은 상담원 단말의 정보를 포함하는 푸쉬 메시지를 상기 상담원 단말로 전송하도록 푸쉬 서버에게 요청하고,
상기 등록 요청 메시지는,
상기 링백톤을 송출한 이후에 상기 상담원 단말이 상기 푸쉬 메시지를 클릭한 경우, 상기 상담원 단말로부터 수신되는, 방법.In claim 3,
The agent terminal includes a mobile terminal,
The IP-PBX,
Requesting a push server to transmit a push message including information of the assigned agent terminal to the agent terminal,
The registration request message,
When the push button is clicked by the agent terminal after sending the ring back tone, the method is received from the agent terminal.
상기 고객 단말로부터 수신한 호 연결 요청 메시지는,
콜센터 대표 전화번호를 포함하고,
상기 IP-PBX로부터 수신하는 호 연결 요청 메시지는,
CTI(Computer Telephony Integration) 게이트웨이로부터 상기 IP-PBX가 배정받은 상담원 단말의 전화번호를 수신자로 포함하는, 방법.In claim 1,
The call connection request message received from the customer terminal,
Call center representative phone number,
The call connection request message received from the IP-PBX is
A method comprising, as a receiver, a telephone number of an agent terminal assigned to the IP-PBX from a computer telephony integration (CTI) gateway.
상기 고객 단말로부터 수신한 호 연결 요청 메시지는,
특정 상담원 단말의 전화번호를 포함하고,
상기 IP-PBX로부터 수신하는 호 연결 요청 메시지는,
상기 특정 상담원 단말의 전화번호를 그대로 포함하는, 방법.In claim 1,
The call connection request message received from the customer terminal,
Include the phone number of a specific agent terminal,
The call connection request message received from the IP-PBX is
The method includes the telephone number of the specific agent terminal as it is.
상기 중계하는 단계 이후,
제1 상담원 단말로부터 수신한 호 전환을 요청하는 WebRTC 메시지를 재연결 메시지(reINVITE)로 변환하여 상기 고객 단말에게 전송하고, 상기 고객 단말로부터 수신한 상기 재연결 메시지에 대한 응답 메시지를 상기 WebRTC 메시지로 변환하여 상기 제1 상담원 단말에게 전송하여, 상기 제1 상담원 단말과 상기 고객 단말 간의 세션을 홀드(Hold)하는 단계, 그리고
상기 제1 상담원 단말이 요청한 제2 상담원 단말에게 호 연결을 요청하여 응답이 수신되면, 상기 홀드한 세션을 종료하고 상기 제2 상담원 단말과 상기 고객 단말 간의 세션을 생성하는 단계
를 더 포함하는, 방법.In claim 1,
After the step of relaying,
Converts a WebRTC message requesting call transfer received from the first agent terminal to a reconnection message (reINVITE) and transmits it to the customer terminal, and sends a response message for the reconnection message received from the customer terminal to the WebRTC message. Converting and transmitting to the first agent terminal, holding a session between the first agent terminal and the customer terminal, and
If a response is received by requesting a call connection to the second agent terminal requested by the first agent terminal, ending the held session and creating a session between the second agent terminal and the customer terminal
The method further comprising.
상기 홀드하는 단계와 상기 세션을 생성하는 단계 사이에,
상기 제2 상담원 단말에게 세션 전환 요청이 발생하였음을 알리는 메시지를 전송하여 응답을 수신하는 단계
를 더 포함하는, 방법.In claim 8,
Between the holding and creating the session,
Receiving a response by sending a message informing the second agent terminal that a request to switch a session has occurred
The method further comprising.
메모리, 그리고
상기 메모리에 저장된 프로그램을 실행하는 프로세서를 포함하고,
상기 프로그램은,
IP-PBX(Private Branch Exchange)와 SIP(Session Initiation Protocol) 통신을 하고, 상담원 단말과 웹소켓을 연결하여 WebRTC(Web Real-Time Communications) 통신을 하며,
고객 단말과 상기 상담원 단말 간의 콜센터 서비스를 위한 호 처리 및 통화 데이터를 통화 데이터를 중계(Relay)하는 명령어들(Instructions)을 포함하는, 컴퓨팅 장치.Communication Device,
Memory, and
It includes a processor for executing the program stored in the memory,
The program,
It communicates with Private Branch Exchange (IP-PBX) and Session Initiation Protocol (SIP), and WebRTC (Web Real-Time Communications) communication by connecting the agent terminal and the web socket.
And instructions for relaying call data for call processing and call data for a call center service between a customer terminal and the agent terminal.
상기 프로그램은,
전화망을 통해 상기 고객 단말이 전송한 호 연결 요청 메시지를 상기 IP-PBX로부터 수신하여 상기 상담원 단말로 전달하거나, 또는 데이터망을 통해 상기 고객 단말로부터 수신한 호 연결 요청 메시지를 상기 IP-PBX로 전달하고 상기 IP-PBX로부터 수신한 호 연결 요청 메시지를 상기 상담원 단말로 전달하는 명령어들을 포함하고,
상기 IP-PBX로부터 수신한 호 연결 요청 메시지는,
상기 고객 단말이 설정한 특정 상담원 단말의 전화번호를 포함하거나 또는 상기 IP-PBX가 CTI(Computer Telephony Integration) 게이트웨이로부터 배정받은 상담원 단말의 전화번호를 수신자 정보로 포함하는, 컴퓨팅 장치.In claim 10,
The program,
The call connection request message transmitted by the customer terminal through the telephone network is received from the IP-PBX and delivered to the agent terminal, or the call connection request message received from the customer terminal through the data network is delivered to the IP-PBX. And includes commands to deliver the call connection request message received from the IP-PBX to the agent terminal,
The call connection request message received from the IP-PBX is
A computing device comprising the telephone number of a specific agent terminal set by the customer terminal or the telephone number of the agent terminal assigned by the IP-PBX from a Computer Telephony Integration (CTI) gateway as recipient information.
상기 프로그램은,
상기 고객 단말 및 상기 상담원 단말과 웹 소켓으로 연결한 후, 상기 고객 단말 및 상기 상담원 단말로부터 수신한 토큰 ID가 기 발급한 토큰 ID와 일치하는지 비교하여 불일치하면, 세션을 초기화하며,
상기 고객 단말 및 상기 상담원 단말과 주기적으로 핑퐁을 교환하고 핑퐁 교환에 실패하면, 기 연결된 세션을 종료하는 명령어들을 포함하는, 컴퓨팅 장치.In claim 10,
The program,
After connecting to the customer terminal and the agent terminal through a web socket, if the token ID received from the customer terminal and the agent terminal matches the token ID issued previously, and there is a discrepancy, the session is initialized.
And instructions for periodically exchanging ping-pong with the customer terminal and the agent terminal and terminating a pre-connected session if the ping-pong exchange fails.
상기 프로그램은,
제1 상담원 단말 및 상기 고객 단말 간의 통화 세션이 연결된 상태에서, 상기 제1 상담원 단말의 호 전환 요청이 수신되면, 연결된 통화 세션을 홀드(Hold)하고,
상기 제1 상담원 단말이 요청한 제2 상담원 단말과 호 설립 절차를 수행한 후, 상기 홀드 상태의 통화 세션을 종료하고 상기 고객 단말과 상기 제2 상담원 단말 간의 통화 세션으로 전환하는 명령어들을 포함하는, 컴퓨팅 장치.In claim 10,
The program,
When a call transfer request of the first agent terminal is received while a call session between the first agent terminal and the customer terminal is connected, the connected call session is held,
Computing including instructions for performing a call establishment procedure with the second agent terminal requested by the first agent terminal, and ending the call session in the hold state and switching to a call session between the customer terminal and the second agent terminal Device.
상기 프로그램은,
상기 상담원 단말에서 실행된 전용 앱과 통신하는 명령어들을 포함하고,
상기 전용 앱은,
수신 이력, 발신 이력, 상담 내역 관리, 녹음 청취, 모니터링 및 통계 중 적어도 하나를 포함하는 CRM(Customer Relationship Management) 기능, 전화 기능 및 전화 수신을 알리는 푸쉬 메시지 팝업 기능 중 적어도 하나의 기능을 포함하는, 컴퓨팅 장치.
In claim 10,
The program,
Includes commands to communicate with a dedicated app executed on the agent terminal,
The dedicated app,
Customer relationship management (CRM) function including at least one of a reception history, call history, consultation history management, recording listening, monitoring, and statistics, and at least one function of a phone function and a push message pop-up function informing of a call reception, Computing device.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190009342 | 2019-01-24 | ||
KR20190009342 | 2019-01-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200092272A true KR20200092272A (en) | 2020-08-03 |
KR102240904B1 KR102240904B1 (en) | 2021-04-15 |
Family
ID=72043061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200009900A KR102240904B1 (en) | 2019-01-24 | 2020-01-28 | Metho and apparstus for providing for call center service |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102240904B1 (en) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113630424A (en) * | 2021-09-15 | 2021-11-09 | 上海哔哩哔哩科技有限公司 | WebRTC communication method and system |
CN113727051A (en) * | 2021-08-31 | 2021-11-30 | 深圳市思迪信息技术股份有限公司 | Bidirectional video method, system, equipment and storage medium based on virtual agent |
CN113905023A (en) * | 2021-08-25 | 2022-01-07 | 北京房江湖科技有限公司 | Outbound system and method based on webpage instant messaging technology |
KR20220063580A (en) * | 2020-11-10 | 2022-05-17 | 에스케이스토아 주식회사 | Media providing system, method and computer program of providing order procedure content of different ordering methods when there is a waiting number of order for commerce content |
KR102459864B1 (en) * | 2021-09-16 | 2022-10-28 | 주식회사 나로수 | Methods, servers and devices for providing video calls |
KR20230076330A (en) * | 2021-11-24 | 2023-05-31 | 주식회사 디오티스 | WebRTC-BASED CALL CONNECTION METHOD AND DEVICE IN INTERNET ENVIRONMENT |
KR102546662B1 (en) * | 2022-12-19 | 2023-06-22 | (주)옴니스토리 | System for providing conference connecting between public switched telephone network communication and web real-time communication technology, and method thereof |
CN116319706A (en) * | 2023-03-17 | 2023-06-23 | 飞虎互动科技(北京)有限公司 | Due job investigation system, method, electronic device and storage medium |
KR20230123603A (en) * | 2022-02-17 | 2023-08-24 | 주식회사 마인드웨어웍스 | A system for providing contact center services in an integrated way |
KR102646144B1 (en) * | 2023-10-13 | 2024-03-11 | 에이비케이 주식회사 | Voice communication platform for privacy protection |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101496963B1 (en) * | 2013-12-03 | 2015-03-02 | (주)모임스톤 | WebRTC based VoIP Phone |
KR20150026217A (en) * | 2013-09-02 | 2015-03-11 | 주식회사 케이티 | System and mobile communication terminal for web based calling service using telephone number |
KR20160026631A (en) * | 2014-08-28 | 2016-03-09 | 아바야 인코포레이티드 | Hybrid cloud media architecture for media communications |
KR20180015627A (en) * | 2015-05-05 | 2018-02-13 | 아이피얼라이브 아베 | Set media path for live communication |
KR101825073B1 (en) * | 2013-04-26 | 2018-03-14 | 인텔 아이피 코포레이션 | Architecture for web-based real-time communications (webrtc) to access internet protocol multimedia subsystem (ims) |
-
2020
- 2020-01-28 KR KR1020200009900A patent/KR102240904B1/en active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101825073B1 (en) * | 2013-04-26 | 2018-03-14 | 인텔 아이피 코포레이션 | Architecture for web-based real-time communications (webrtc) to access internet protocol multimedia subsystem (ims) |
KR20150026217A (en) * | 2013-09-02 | 2015-03-11 | 주식회사 케이티 | System and mobile communication terminal for web based calling service using telephone number |
KR101496963B1 (en) * | 2013-12-03 | 2015-03-02 | (주)모임스톤 | WebRTC based VoIP Phone |
KR20160026631A (en) * | 2014-08-28 | 2016-03-09 | 아바야 인코포레이티드 | Hybrid cloud media architecture for media communications |
KR20180015627A (en) * | 2015-05-05 | 2018-02-13 | 아이피얼라이브 아베 | Set media path for live communication |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11689665B2 (en) | 2020-11-10 | 2023-06-27 | Sk Stoa Co., Ltd. | Media providing server, and method and computer program for providing order procedure content of different ordering methods |
KR20220063580A (en) * | 2020-11-10 | 2022-05-17 | 에스케이스토아 주식회사 | Media providing system, method and computer program of providing order procedure content of different ordering methods when there is a waiting number of order for commerce content |
CN113905023A (en) * | 2021-08-25 | 2022-01-07 | 北京房江湖科技有限公司 | Outbound system and method based on webpage instant messaging technology |
CN113905023B (en) * | 2021-08-25 | 2024-02-27 | 贝壳找房(北京)科技有限公司 | Outbound system and method based on webpage instant messaging technology |
CN113727051A (en) * | 2021-08-31 | 2021-11-30 | 深圳市思迪信息技术股份有限公司 | Bidirectional video method, system, equipment and storage medium based on virtual agent |
CN113630424A (en) * | 2021-09-15 | 2021-11-09 | 上海哔哩哔哩科技有限公司 | WebRTC communication method and system |
CN113630424B (en) * | 2021-09-15 | 2023-04-28 | 上海哔哩哔哩科技有限公司 | WebRTC communication method and system |
KR102459864B1 (en) * | 2021-09-16 | 2022-10-28 | 주식회사 나로수 | Methods, servers and devices for providing video calls |
KR20230076330A (en) * | 2021-11-24 | 2023-05-31 | 주식회사 디오티스 | WebRTC-BASED CALL CONNECTION METHOD AND DEVICE IN INTERNET ENVIRONMENT |
KR20230123603A (en) * | 2022-02-17 | 2023-08-24 | 주식회사 마인드웨어웍스 | A system for providing contact center services in an integrated way |
KR102546662B1 (en) * | 2022-12-19 | 2023-06-22 | (주)옴니스토리 | System for providing conference connecting between public switched telephone network communication and web real-time communication technology, and method thereof |
CN116319706A (en) * | 2023-03-17 | 2023-06-23 | 飞虎互动科技(北京)有限公司 | Due job investigation system, method, electronic device and storage medium |
CN116319706B (en) * | 2023-03-17 | 2024-02-13 | 飞虎互动科技(北京)有限公司 | Due job investigation system, method, electronic device and storage medium |
KR102646144B1 (en) * | 2023-10-13 | 2024-03-11 | 에이비케이 주식회사 | Voice communication platform for privacy protection |
Also Published As
Publication number | Publication date |
---|---|
KR102240904B1 (en) | 2021-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102240904B1 (en) | Metho and apparstus for providing for call center service | |
US20150350723A1 (en) | Video Communication Method, Home Terminal, and Home Server | |
US8695077B1 (en) | Establishing and controlling communication sessions between SIP devices and website application servers | |
KR101827072B1 (en) | System and method for encrypting and recording media for a contact center | |
US11082559B1 (en) | Methods for managing call traffic at a virtual assistant server | |
US20180255182A1 (en) | Web Real-Time Client Communication Over a Stimulus Based Network | |
US9241130B2 (en) | Streaming of telepresence video content | |
CN111050000A (en) | Method, device and system for realizing soft phone of call center | |
WO2015004250A1 (en) | Distributed programmable connection method to establish peer-to-peer multimedia interactions | |
EP3357211B1 (en) | Data communications | |
US10805376B2 (en) | Communication server and method for selective use of real-time communication features | |
KR20090049556A (en) | Call center system and operation method thereof | |
JP5631244B2 (en) | Telephone system, telephone communication method of telephone system, data relay server, and program | |
JP5775034B2 (en) | Communication destination solving apparatus, gateway apparatus, communication destination solving method, and program | |
JP2007251763A (en) | Call center system, and communication request processing method | |
JP5296602B2 (en) | Service providing system and service providing method | |
WO2012003533A1 (en) | Contact centre system and method | |
KR20100069443A (en) | Apparatus and method, system for providing intelligent calling service using open api | |
US8948353B2 (en) | Call connection system and method | |
RU2759798C1 (en) | Method for implementing an audio connection using the sip protocol without installing the sip module in the interactive panels of the intercom | |
JP6044066B2 (en) | Communication network system, traffic reduction method in communication network system, communication control device, control method and control program thereof, and communication terminal | |
JP2008147881A (en) | Call data managing method, call recording server, and call center system | |
JP7082182B1 (en) | Information processing system, telephone, information processing method, and program | |
JP5983602B2 (en) | Call linkage system, home control device, call linkage method | |
JP6631300B2 (en) | Communication control system, communication control method, communication control program, and communication control device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |