KR20200092272A - Metho and apparstus for providing for call center service - Google Patents

Metho and apparstus for providing for call center service Download PDF

Info

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
Application number
KR1020200009900A
Other languages
Korean (ko)
Other versions
KR102240904B1 (en
Inventor
류관중
임동혁
Original Assignee
주식회사 브리지텍
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 브리지텍 filed Critical 주식회사 브리지텍
Publication of KR20200092272A publication Critical patent/KR20200092272A/en
Application granted granted Critical
Publication of KR102240904B1 publication Critical patent/KR102240904B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/487Arrangements for providing information services, e.g. recorded voice services or time announcements
    • H04M3/493Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/50Business processes related to the communications industry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/247Telephone sets including user guidance or feature selection means facilitating their use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • H04M3/5183Call or contact centers with computer-telephony arrangements
    • H04M3/5191Call 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

Provided are a method for providing a WebRTC-based call center service and a device thereof. The method comprises the steps of: receiving a session initiation protocol (SIP) message requesting a call connection from a customer terminal from private branch exchange (IP-PBX); converting the SIP message requesting the call connection into a WebRTC message and transmitting the WebRTC message to a counselor terminal; when receiving the WebRTC message in response to the call connection from the counselor terminal, converting the WebRTC message into the SIP message, and transmitting the converted WebRTC message to the customer terminal; and performing SIP protocol communication with the customer terminal, performing WebRTC communication with the counselor terminal, and relaying call data between the customer terminal and the counselor terminal.

Description

WebRTC 기반 콜센터 서비스 방법 및 그 장치{METHO AND APPARSTUS FOR PROVIDING FOR CALL CENTER SERVICE}WebRTC-based call center service method and apparatus {METHO AND APPARSTUS FOR PROVIDING FOR CALL CENTER SERVICE}

본 발명은 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 call center system 100 is connected to the customer terminals 301 and 303 through the communication networks 201 and 203.

콜센터 시스템(100)은 고객 단말(301, 303)과 호를 연결하여 고객 단말(301, 303)에게 콜센터 서비스를 제공한다. 콜센터 서비스는 공지의 서비스이므로, 자세한 설명은 생략한다.The call center system 100 provides a call center service to the customer terminals 301 and 303 by connecting a call with the customer terminals 301 and 303. Since the call center service is a known service, detailed description is omitted.

통신망(201, 203)은 콜센터 시스템(100)과 고객 단말(301, 303) 간의 통화 연결을 제공하는 통신사업자의 망으로서, 전화망(PSTN, public switched telephone network)(201)과 데이터망(PSDN, Public Switched Data Network)(203)을 포함한다.The communication networks 201 and 203 are networks of communication providers that provide a call connection between the call center system 100 and the customer terminals 301 and 303, a public switched telephone network (PSTN) 201 and a data network (PSDN). Public Switched Data Network) (203).

고객 단말(301, 303)은 콜센터 서비스를 제공받기를 원하는 사용자의 단말로서, 고객 전화 단말(301)과 고객 WebRTC 단말(303)을 포함한다. The customer terminals 301 and 303 are terminals of a user who wants to be provided with a call center service, and include a customer phone terminal 301 and a customer WebRTC terminal 303.

고객 전화 단말(301)과 고객 WebRTC 단말(303)은 유선 전화기, PC, 노트북, 휴대폰, 스마트폰, 태블릿 PC 등을 포함할 수 있다.The customer phone terminal 301 and the customer WebRTC terminal 303 may include a landline phone, PC, notebook, mobile phone, smartphone, tablet PC, and the like.

이때, 고객 전화 단말(301)은 전화망(PSTN)(201)을 통해 콜센터 시스템(100)과 연결된다. 고객 전화 단말(301)은 일반적인 통화 연결 방식을 사용하여 콜센터 시스템(101) 내의 IP-PBX(103)와 호 세션을 연결한다. At this time, the customer phone terminal 301 is connected to the call center system 100 through a telephone network (PSTN) 201. The customer phone terminal 301 connects the call session with the IP-PBX 103 in the call center system 101 using a general call connection method.

고객 WebRTC 단말(303)은 데이터망(PSDN)(203)을 통해 콜센터 시스템(100)과 연결된다. 고객 WebRTC 단말(303)은 WebRTC를 지원하는 웹 브라우저를 구동하여 콜센터 시스템(101) 내의 국선 WebRTC 서버(109)와 호 세션을 연결한다.The customer WebRTC terminal 303 is connected to the call center system 100 through a data network (PSDN) 203. The customer WebRTC terminal 303 connects a call session with the trunk line WebRTC server 109 in the call center system 101 by driving a web browser supporting WebRTC.

콜센터 시스템(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 call center system 100 includes an Internet Protocol (IP) trunk gateway 101, a private branch exchange (IP-PBX) 103, a computer telephony integration (CTI) gateway 105, an extension WebRTC server 107, Trunk Line WebRTC Server 109, Extension Proxy Server 111, Extension Traversal Using Relay NAT (113) Server, Trunk Proxy Server 115, Trunk Trunk Server 117, Push Server ( 119), a push mediation server 121, an agent terminal 123, and an operation management server 125.

IP 트렁크 게이트웨이(101)는 IP-PBX(103)에 할당된 콜센터 대표 전화번호와 IP-PBX(103)에 할당된 IP 주소 정보를 매핑하여 저장한다. The IP trunk gateway 101 maps and stores call center representative phone numbers assigned to the IP-PBX 103 and IP address information assigned to the IP-PBX 103.

IP 트렁크 게이트웨이(101)는 PSTN(201)으로부터 수신한 호 연결 요청에 포함된 전화번호를 기초로 IP-PBX(103)의 IP 주소 정보를 확인하고, 확인한 IP 주소 정보를 이용하여 IP-PBX(103)로 호 연결 요청을 전달한다. The IP trunk gateway 101 checks the IP address information of the IP-PBX 103 based on the telephone number included in the call connection request received from the PSTN 201, and uses the checked IP address information to determine the IP-PBX ( 103).

IP 트렁크 게이트웨이(101)는 NAT(Network Address Translation) 기능 및 방화벽 기능을 포함할 수 있다.The IP trunk gateway 101 may include a network address translation (NAT) function and a firewall function.

IP-PBX(103)는 IP 주소를 가진 고객 단말(301, 303)과 상담원 단말(123) 간의 회선 교환을 수행한다.IP-PBX 103 performs circuit switching between customer terminals 301 and 303 having an IP address and agent terminal 123.

IP-PBX(103)는 고객 단말(301, 303)로부터 호 연결 요청이 수신되면, 링백톤(Ringback Tone)을 고객 단말(301, 303)로 송출하고, CTI 게이트웨이(105)로 호 연결 요청을 전달한다.When the IP-PBX 103 receives a call connection request from the customer terminals 301 and 303, the IP-PBX 103 sends a ringback tone to the customer terminals 301 and 303, and sends a call connection request to the CTI gateway 105. To deliver.

IP-PBX(103)는 링백톤(Ringback Tone)을 고객 단말(301, 303)로 송출하면서, 동시에 상담원 단말(123)과 호 설립(Call Establishment)을 수행한다. 이때, 호 설립이 완료되면, 즉, 상담원 단말(123)로부터 응답 메시지가 수신되면, 링백톤을 중단하고, 고객 단말(301, 303)로 재연결(re-invite)을 통해 RTP 통신을 위한 절차를 진행한다.The IP-PBX 103 transmits a ringback tone to the customer terminals 301 and 303, and simultaneously performs call establishment with the agent terminal 123. At this time, when the call establishment is completed, that is, when a response message is received from the agent terminal 123, the ring back tone is stopped and the procedure for RTP communication through re-invite to the customer terminals 301 and 303 To proceed.

CTI 게이트웨이(105)는 IP-PBX(103)와 상담원 단말(123) 사이에 연결되어, IP-PBX(103)로부터 수신된 고객 단말(301, 303)의 호 연결 요청에 따라 상담원 단말(123)과 고객 단말(301, 303) 간의 통화로를 연결한다. The CTI gateway 105 is connected between the IP-PBX 103 and the agent terminal 123, and according to the call connection request of the customer terminals 301 and 303 received from the IP-PBX 103, the agent terminal 123 And a communication path between the customer terminals 301 and 303.

CTI 게이트웨이(105)는 IP-PBX(103)를 통해 고객 단말(301, 303)로부터 수신되는 고객 정보를 상담원 단말(123)로 전달할 수 있다. The CTI gateway 105 may deliver customer information received from the customer terminals 301 and 303 to the agent terminal 123 through the IP-PBX 103.

CTI 게이트웨이(105)는 상담원 단말(123)들의 통화 연결 상태를 확인한 후, 통화 대기 중인 상담원 단말(123)을 선택하여 고객 단말(301, 303)과 통화 호를 연결할 수 있다. After confirming the call connection state of the agent terminals 123, the CTI gateway 105 may select the agent terminal 123 waiting for a call to connect the call with the customer terminals 301 and 303.

CTI 게이트웨이(105)는 복수의 상담원 단말(123) 중에서 고객 단말(301, 303)과 통화 세션을 연결할 상담원 단말(123)을 고객 단말(301, 303)에게 분배한다.The CTI gateway 105 distributes the agent terminals 123 to connect the call sessions with the customer terminals 301 and 303 among the plurality of agent terminals 123 to the customer terminals 301 and 303.

고객 단말(301, 303)이 콜센터 대표 전화번호로 호 연결 요청을 하면, 이러한 호 연결 요청은 IP-PBX(105)로 인입된다. When the customer terminals 301 and 303 make a call connection request to the representative phone number of the call center, the call connection request is entered into the IP-PBX 105.

IP-PBX(105)는 CTI 게이트웨이(105)로 상담원 분배를 요청하고, CTI 게이트웨이(105)는 이미 알고 있는, 즉, 로그인 등록된 복수의 상담원 단말(123) 중에 하나의 상담원 단말(123)을 선택한다.The IP-PBX 105 requests an agent distribution to the CTI gateway 105, and the CTI gateway 105 already knows, that is, one agent terminal 123 among a plurality of agent terminals 123 registered to be logged in. Choose.

이때, PSTN(201)을 통해 전달되는 호 연결 요청은 IP-PBX(105)로 먼저 유입된다. PSDN(203)을 통해 전달되는 호 연결 요청은 국선 프록시 서버(115)를 거쳐 국선 WebRTC 서버(109)로 유입된 후, 다시, IP-PBX(105)로 라우팅된다.At this time, the call connection request transmitted through the PSTN 201 first flows into the IP-PBX 105. The call connection request transmitted through the PSDN 203 flows through the trunk line proxy server 115 to the trunk line WebRTC server 109, and then is routed to the IP-PBX 105 again.

상담원 단말(123)이 분배에 참여하려면, 상담원 단말(123)은 CTI 게이트웨이(105)에 로그인하여 자신의 상태를 통화 대기 상태로 설정해야 한다. 그리고 상담원 단말(123)은 자신의 가입자 전화번호(DN, Direct Number)를 IP-PBX(105)에 등록(Register)하고, 이러한 DN이 CTI 게이트웨이(105)로 공유되어야 한다.In order for the agent terminal 123 to participate in the distribution, the agent terminal 123 must log into the CTI gateway 105 and set its state to a call waiting state. And the agent terminal 123 registers its subscriber phone number (DN, Direct Number) in the IP-PBX 105, and this DN must be shared with the CTI gateway 105.

내선 WebRTC 서버(107)는 상담원 단말(123)과 웹소켓(WebSocket) 통신을 한다. 국선 WebRTC 서버(109)는 고객 WebRTC 단말(303)과 웹소켓(WebSocket) 통신을 한다.The extension WebRTC server 107 communicates with the agent terminal 123 through a WebSocket. The trunk line WebRTC server 109 communicates with a customer WebRTC terminal 303 through a WebSocket.

내선 WebRTC 서버(107) 및 국선 WebRTC 서버(109)의 세션 컨트롤러(107A, 109A)는 WebRTC 통신을 위한 호 처리를 한다. 호 처리는 SIP(Session Initiation Protocol)와 자체 규격(websocket 기반의 json 형태) 간에 변환을 포함한다. 세션 컨트롤러(107A, 109A)는 웹소켓을 통해 상담원 단말(123)과 고객 단말(303) 각각에게 서로 간의 WebRTC 세션에 필요한 정보를 전달한다. The session controllers 107A and 109A of the extension WebRTC server 107 and the trunk line WebRTC server 109 perform call processing for WebRTC communication. Call processing includes conversion between Session Initiation Protocol (SIP) and its own specification (websocket-based json format). The session controllers 107A and 109A transmit information required for each WebRTC session to each of the agent terminal 123 and the customer terminal 303 through a web socket.

내선 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 media controllers 107B and 109B of the extension WebRTC server 107 and the trunk line WebRTC server 109 are based on User Datagram Protocol (UDP) based Real-time Transport Protocol (RTP) and Datagram Transport Layer Security (DTLS)-Secure Real-time Transport Protocol (WebRTC based). The media controllers 107B and 109B communicate with Session Traversal Utilities for NAT (STUN) and transfer the WebRTC media stream for the Interactive Connectivity Establishment (ICE) negotiation between the agent terminal 123 and the customer terminal 303.

세션 컨트롤러(107A, 109A)는 고객 단말(303) 및 상담원 단말(123) 간의 웹 소켓 시그널(websocket signal)을 SIP로 변환하여 IP-PBX(105)로 호를 라우팅한다. 그리고 미디어 컨트롤러(107B, 109B)는 WebRTC(DTLS-SRTP)를 RTP로 상호 변환하여 중계한다.The session controllers 107A and 109A convert the websocket signal between the customer terminal 303 and the agent terminal 123 to SIP to route the call to the IP-PBX 105. The media controllers 107B and 109B convert WebRTC (DTLS-SRTP) to RTP and relay them.

내선 프록시(Proxy) 서버(111), 국선 프록시 서버(115)는 HTTP(HyperText Transfer Protocol) 프록시 기능을 수행할 수 있다. The extension proxy server 111 and the trunk line proxy server 115 may perform a HyperText Transfer Protocol (HTTP) proxy function.

내선 프록시(Proxy) 서버(111)는 상담원 단말(123)의 가입자 번호(DN, Dialing Number)를 내선 WebRTC 서버(107)에 등록한다. 가입자 번호(DN)는 상담원을 구분하기 위한 내선번호이다.The extension proxy server 111 registers the subscriber number (DN) of the agent terminal 123 with the extension WebRTC server 107. The subscriber number (DN) is an extension number for classifying agents.

내선 프록시 서버(111)는 상담원 단말(123)과 웹소켓의 연결 및 해제를 수행한다. 상담원 단말(123)과 연결된 웹 소켓을 통해 상담원 단말(123)과 내선 WebRTC 서버(107) 간의 WebRTC 통신을 위한 시그널링을 중계한다.The extension proxy server 111 connects and releases the agent terminal 123 and the web socket. Signaling for WebRTC communication between the agent terminal 123 and the extension WebRTC server 107 is relayed through a web socket connected to the agent terminal 123.

국선 프록시 서버(115)는 고객 WebRTC 단말(303)과 웹소켓의 연결 및 해제를 수행한다. 고객 WebRTC 단말(303과 연결된 웹 소켓을 통해 고객 WebRTC 단말(303과 국선 WebRTC 서버(109) 간의 WebRTC 통신을 위한 시그널링을 중계한다.The trunk line proxy server 115 connects and releases the customer WebRTC terminal 303 and the web socket. Signaling for WebRTC communication between the customer WebRTC terminal 303 and the trunk line WebRTC server 109 is relayed through a web socket connected to the customer WebRTC terminal 303.

내선 TURN 서버(113) 및 국선 TURN 서버(117)는 공인 또는 사설 IP를 가지는 상담원 단말(123)과 고객 단말(303) 사이의 미디어 스트림을 중계한다.The extension TURN server 113 and the trunk line TURN server 117 relay the media stream between the agent terminal 123 and the customer terminal 303 having a public or private IP.

이와 같이, PSTN(201)으로부터 전송된 호 연결 요청은 IP-PBX(103)로 먼저 유입된다. 그러나, PSDN(203)으로부터 전송된 호 연결 요청은 국선 프록시 서버(115)를 거쳐 국선 WebRTC 서버(109)로 유입이 된 후, IP-PBX(103)로 라우팅된다.As such, the call connection request transmitted from the PSTN 201 is first introduced to the IP-PBX 103. However, the call connection request transmitted from the PSDN 203 flows through the trunk line proxy server 115 to the trunk line WebRTC server 109, and then is routed to the IP-PBX 103.

또한, 내선 WebRTC 서버(107)와 국선 WebRTC 서버(109), 내선 프록시(Proxy) 서버(111)와 국선 프록시 서버(115), 내선 TURN 서버(113) 및 국선 TURN 서버(117)는 별개의 서버로 설명하였지만, 물리적으로 단일 서버 장치로 구현될 수도 있다.In addition, the extension WebRTC server 107 and the trunk line WebRTC server 109, the extension proxy server 111 and the trunk line proxy server 115, the extension TURN server 113, and the trunk line TURN server 117 are separate servers. As described above, it may be physically implemented as a single server device.

PSTN(201)을 통해 유입되는 호는 고객 단말(301) ↔ IP 트렁크 게이트웨이(101) ↔ IP-PBX(103) ↔ 내선 WebRTC 서버(107) ↔ 내선 프록시 서버(111) ↔ 상담원 단말(123)의 경로로 전달된다.Calls coming in through the PSTN 201 are of the customer terminal 301 ↔ IP trunk gateway 101 ↔ IP-PBX 103, ↔ Extension WebRTC server 107, ↔ Extension proxy server 111, ↔ Agent terminal 123 Route.

PSTN(201)을 통해 유입되는 통화 데이터(미디어)는 고객 단말(301) ↔ IP 트렁크 게이트웨이(101) ↔ 내선 WebRTC 서버(107) ↔ 내선 TURN 서버(113) ↔ 상담원 단말(123)의 경로로 전달된다.Call data (media) flowing through the PSTN 201 is delivered to the customer terminal 301 ↔ IP trunk gateway 101 ↔ extension WebRTC server 107 ↔ extension TURN server 113 ↔ agent terminal 123 do.

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 counselor terminal 123.

PSDN(203)을 통해 유입되는 통화 데이터(미디어)는 고객 단말(301) ↔ 국선 TURN 서버(117) ↔ 국선 WebRTC 서버(109) ↔ 내선 WebRTC 서버(107) ↔ 내선 TURN 서버(113) ↔ 상담원 단말(123)의 경로로 전달된다.The call data (media) flowing through PSDN 203 is the customer terminal 301 ↔ trunk line TURN server 117 ↔ trunk line WebRTC server 109 ↔ extension WebRTC server 107 ↔ extension TURN server 113 ↔ agent terminal (123).

한 실시예에 따르면, 상담원 단말(123)이 모바일 단말인 경우, ICAPI를 통해 CTI 게이트웨이(105)로 로그인한다. PSTN(201), PSDN(203)을 통해 IP-PBX(103)에 호 인입되면, 고객 단말(301, 303)에게 큐대기음(링백톤)을 송출한다. IP-PBX(103)는 CTI 게이트웨이(105)로 상담원 분배를 요청한다. According to one embodiment, when the agent terminal 123 is a mobile terminal, the CTI gateway 105 logs in through ICAPI. When the call is received into the IP-PBX 103 through the PSTN 201 and the PSDN 203, a queue waiting tone (ringback tone) is transmitted to the customer terminals 301 and 303. IP-PBX (103) requests the agent distribution to the CTI gateway (105).

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 CTI gateway 105 hunts the optimal agent based on the routing policy and provides the result to the IP-PBX 103. The IP-PBX 103 transmits call routing information to the agent terminal 123 through the push server 119 (Push Notification). When the agent terminal 123 touches the push message, the ICAPI Call Deliver Event is transmitted to the CTI gateway 105. In addition, the agent terminal 123 registers its DN with the extension WebRTC server 107 and IP-PBX 103.

IP-PBX(103)는 등록(register)된 상담원 단말(123)로 내선 WebRTC 서버(107)를 거쳐 호 라우팅을 한다. 상담원 단말(123)이 전화를 받은 후(Call Establish 후) 미디어를 webRTC를 통해 통신한다. 고객 단말(301, 303)과 상담원 단말(123)간에 호/미디어 세션을 지속시킨 후 호 종료 절차를 진행한다.The IP-PBX 103 performs call routing to the registered agent terminal 123 through the extension WebRTC server 107. After the agent terminal 123 receives a call (after Call Establish), the media is communicated through webRTC. After the call/media session is continued between the customer terminals 301 and 303 and the agent terminal 123, a call termination procedure is performed.

다른 실시예에 따르면, 상담원 단말(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 agent terminal 123 is a web terminal, it logs into the CTI gateway 105 through ICAPI and registers its DN in the extension WebRTC server 107 and IP-PBX 103 (Register )do. When the call is received into the IP-PBX 103 through the PSTN 201 and the PSDN 203, a queue waiting tone (ringback tone) is transmitted to the customer terminals 301 and 303. IP-PBX (103) requests the agent distribution to the CTI gateway (105). The CTI gateway 105 hunts the optimal agent based on the routing policy and provides the result to the IP-PBX 103. The IP-PBX 103 performs call routing to the registered agent terminal 123 through the extension WebRTC server 107. After the agent terminal 123 receives a call (after Call Establish), the media is communicated through webRTC. After the call/media session is continued between the customer terminals 301 and 303 and the agent terminal 123, a call termination procedure is performed.

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 agent terminal 123.

푸쉬 서버(119)는 CTI 게이트웨이(105)가 고객 단말(301, 303)과 연결할 상담원 단말(123)을 선택하면, 그 선택된 상담원 단말(123)에게 호 연결을 요청하는 푸쉬 메시지를 생성한다.When the CTI gateway 105 selects the agent terminal 123 to be connected to the customer terminals 301 and 303, the push server 119 generates a push message requesting a call connection to the selected agent terminal 123.

푸쉬 알림 전송 장치(121)는 푸쉬 서버(119)가 생성한 푸쉬 메시지를 상담원 단말(123)에게 전송한다. 이때, 푸쉬 알림 전송 장치(121)는 상담원 단말(123)의 단말 규격에 따라 복수개 존재할 수 있다. 예를들어, 안드로이드 OS(Operating System)를 사용하는 상담원 단말(123)과 iOS를 사용하는 상담원 단말(123) 별로 각각의 푸쉬 알림 전송 장치(121)가 존재할 수 있다. The push notification transmission device 121 transmits the push message generated by the push server 119 to the agent terminal 123. At this time, a plurality of push notification transmission devices 121 may exist according to the terminal standard of the agent terminal 123. For example, each push notification transmission device 121 may exist for each agent terminal 123 using the Android OS (Operating System) and the agent terminal 123 using the iOS.

푸쉬 서버(119)는 사전에 상담원 단말(123)의 식별 정보 별로 단말 규격 정보를 저장하고 있기에 단말 규격에 맞는 푸쉬 알림 전송 장치(121)를 지정하여 푸쉬 메시지를 전송 할 수 있다. 따라서, 푸쉬 서버(119)는 CTI 게이트웨이(105)로부터 상담원 단말(123)의 선택 정보가 수신되면, 그 선택 정보로부터 확인한 식별 정보를 기초로 확인한 단말 규격에 해당하는 푸쉬 알림 전송 장치(121)를 선택할 수 있다.Since the push server 119 stores terminal specification information for each identification information of the agent terminal 123 in advance, the push server 119 may designate the push notification transmission device 121 that satisfies the terminal specification to transmit a push message. Accordingly, when the selection information of the agent terminal 123 is received from the CTI gateway 105, the push server 119 transmits the push notification transmission device 121 corresponding to the terminal standard identified based on the identification information checked from the selection information. You can choose.

상담원 단말(123)은 복수개이나, 설명의 편의를 위하여 고객 단말(301, 303)과 호 연결되도록 분배된 하나의 상담원 단말(123)을 도시하였다.Although there are a plurality of agent terminals 123, for convenience of description, one agent terminal 123 distributed to be connected to the customer terminals 301 and 303 is illustrated.

상담원 단말(123)은 WebRTC 콜센터 서비스를 제공하는 전용 앱이 설치된 단말로서, PC 등과 같은 유선 단말 또는 태블릿 PC, 스마트폰, 노트북 등과 같은 모바일 단말을 포함할 수 있다. 상담원 단말(123)은 고객 단말(301, 303)과 달리 WebRTC 통신만 수행한다. 즉, 기존의 SIP 물리 단말에서 WebRTC 기반의 단말로 교체되었다.The counselor terminal 123 is a terminal in which a dedicated app for providing a WebRTC call center service is installed, and may include a wired terminal such as a PC or a mobile terminal such as a tablet PC, smart phone, or laptop. Unlike the customer terminals 301 and 303, the agent terminal 123 performs only WebRTC communication. That is, the existing SIP physical terminal has been replaced with a WebRTC-based terminal.

전용 앱은 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 agent terminal 123 performs a registration procedure to provide a call center service.

등록 절차는 두가지로 구분할 수 있는데, 상담원을 분배하기 위한 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 agent terminals 123. Even if the agent terminal 123 is logged into the CTI gateway 105, the agent is not distributed unless it is registered in the IP-PBX 103. Therefore, the IP-PBX 103 shares the registered DN with the CTI gateway 105 in real time.

상담원 단말(123)이 모바일 단말이 아닌 웹 단말(예, PC, 노트북 등)일 경우, 등록(register)은 CTI 게이트웨이(105)에 로그인한 시점과 동시에 이루어진다.When the agent terminal 123 is a web terminal (eg, a PC, a laptop, etc.) rather than a mobile terminal, registration is performed at the same time as when the CTI gateway 105 is logged in.

상담원 단말(123)이 모바일 단말일 경우, 등록(register)은 고객 단말(301, 303)로부터 발신이 시도되고 상담원이 분배된 시점에 이루어진다. 구체적으로, 상담원 단말(123)이 호 라우팅이 요청된 푸쉬 메시지가 팝업되고 사용자가 푸쉬 메시지를 클릭한 경우, 등록(register)은 이루어진다.When the agent terminal 123 is a mobile terminal, registration is made at the time when the call is attempted from the customer terminals 301 and 303 and the agent is distributed. Specifically, when the push message for which call routing is requested by the agent terminal 123 pops up and the user clicks the push message, registration is performed.

상담원 단말(123)이 모바일 단말일 경우, IP-PBX(103)와 항상 접속 상태를 유지할 수는 없다. CTI 게이트웨이(105)는 로그인시 상담원 단말(123)의 정보를 취득한 후, IP-PBX(103)에 등록(register)되어 있지 않은 상담원 단말(123)도 상담원 분배시 참여시킨다. 다만, 상담원 단말(123)이 IP-PBX(103)에 미등록 상태이므로, IP-PBX(103)는 호를 라우팅하기 위하여 상담원 단말(123)에게 푸쉬 메시지를 전송하여 등록(register)하도록 유도한다.When the agent terminal 123 is a mobile terminal, it cannot always maintain a connection state with the IP-PBX 103. After the CTI gateway 105 acquires the information of the agent terminal 123 at login, the agent terminal 123 not registered in the IP-PBX 103 also participates in the agent distribution. However, since the agent terminal 123 is not registered with the IP-PBX 103, the IP-PBX 103 induces registration by sending a push message to the agent terminal 123 to route the call.

운용 관리 서버(125)는 세션이 종료되면, 내선 WebRTC 서버(107)로부터 통화상세기록(Call Detaial Record, CDR)을 수신하여 저장한다. 운용 관리 서버(125)는 CDR을 가공한 통계 정보 등을 생성하여 상담원 단말(123)로 제공할 수 있다.When the session ends, the operation management server 125 receives and stores call detailed records (CDRs) from the extension WebRTC server 107. The operation management server 125 may generate statistical information processed by the CDR and provide it to the counselor terminal 123.

도 2, 3, 4는 고객 전화 단말(301)과 상담원 단말(123) 간의 콜 플로우(Call Flow)를 나타내고, 도 5, 6, 7은 고객 WebRTC 단말(303)과 상담원 단말(123) 간의 콜 플로우를 나타낸다.2, 3, and 4 show a call flow between the customer phone terminal 301 and the agent terminal 123, and FIGS. 5, 6, and 7 are calls between the customer WebRTC terminal 303 and the agent terminal 123. Flow.

도 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 agent terminal 123 is a mobile terminal.

도 2를 참조하면, 상담원 단말(123)은 ICAPI(CTI Application Programming Interface)를 통해 CTI 게이트웨이(105)에 로그인(S101)하여 자신의 상태를 통화 대기 상태로 설정한다(S103). 여기서, ICAPI는 CTI 연동 인터페이스로 정의된다.Referring to FIG. 2, the agent terminal 123 logs in to the CTI gateway 105 through the CTI Application Programming Interface (ICAPI) (S101) and sets its state to a call waiting state (S103). Here, ICAPI is defined as a CTI interworking interface.

상담원 단말(123)은 자신의 상태 정보 전달 또는 정보 조회를 위해 CTI 게이트웨이(105)와 직접 연동한다. 예를들어, 상담원이 현재 전화를 받을 수 없는 상태인 경우 CTI 게이트웨이(105)에 현재 상태를 통화 보류 상태 또는 통화 거절 상태로 설정하여 자신의 단말이 분배되지 않도록 한다.The agent terminal 123 directly interoperates with the CTI gateway 105 to transmit its status information or query information. For example, when the agent is currently unable to answer the call, the current state is set to the call pending state or the call rejection state in the CTI gateway 105 so that his terminal is not distributed.

상담원 단말(123)이 로그인시 CTI 게이트웨이(105)는 해당 상담원의 상태 정보를 초기화한다. CTI 게이트웨이(105)는 상담원 단말(123)과의 연결 및 해제가 반복되더라도 통화 상태는 이전 설정을 유지할 수 있다.When the agent terminal 123 logs in, the CTI gateway 105 initializes the state information of the agent. The CTI gateway 105 may maintain the previous state of the call even if connection and release with the agent terminal 123 is repeated.

이때, 상담원 단말(123)은 호 처리 연동을 위하여 내선 프록시 서버(111) → 내선 WebRTC 서버(107) → IP-PBX(103)로 연결된다.At this time, the agent terminal 123 is connected to the extension proxy server 111 → the extension WebRTC server 107 → IP-PBX 103 for interworking with call processing.

고객 전화 단말(301)이 콜센터 대표 번화번호로 발신하면, 인바이트(INVITE) 메시지가 IP-PBX(103)로 전송된다(S105). When the customer phone terminal 301 sends the call center representative number, an INVITE message is transmitted to the IP-PBX 103 (S105).

여기서, 인바이트(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 customer phone terminal 301 and M1 Session Description Protocol (SDP) requested by the customer phone terminal 301. The M1 SDP includes media information of the customer phone terminal 301.

IP-PBX(103)는 상담원 단말(123)과 연결되기 전까지 큐대기음(링백)을 고객 전화 단말(301)로 송출하기 위하여 음성호를 임시로 연결한다. 이를 위하여 IP-PBX(103)는 음성호 연결을 위한 SDP(SDP-audio)를 포함하는 200 OK 메시지를 고객 전화 단말(301)로 전송한다(S107). The IP-PBX 103 temporarily connects a voice call to transmit a queue waiting tone (ringback) to the customer phone terminal 301 until it is connected to the agent terminal 123. To this end, IP-PBX 103 transmits a 200 OK message including SDP (SDP-audio) for voice call connection to the customer phone terminal 301 (S107).

IP-PBX(103)는 고객 전화 단말(301)로부터 ACK 메시지를 수신(S109)하면, 고객 전화 단말(301)에게 RTP(Real-time Transport Protocol) 방식으로 큐대기음을 송출한다(S111).When the IP-PBX 103 receives the ACK message from the customer phone terminal 301 (S109), the IP-PBX 103 transmits a queue waiting tone to the customer phone terminal 301 in a Real-time Transport Protocol (RTP) method (S111).

이어서, IP-PBX(103)는 CTI 게이트웨이(105)에게 상담원 연결 요청을 전송한다(S113). CTI 게이트웨이(105)는 통화 대기 상태로 설정된 복수의 상담원 단말(123) 중에서 라우팅 정책에 기초하여 최적의 상담원 단말을 헌팅한다(S115).Subsequently, the IP-PBX 103 transmits an agent connection request to the CTI gateway 105 (S113). The CTI gateway 105 hunts the optimal agent terminal based on the routing policy among the plurality of agent terminals 123 set to the call waiting state (S115).

CTI 게이트웨이(105)는 헌팅(S115)한 상담원 단말(123)의 내선번호(DN, Dialing Number)를 포함하는 상담원 분배 응답을 IP-PBX(103)로 전송한다(S117).The CTI gateway 105 transmits the agent distribution response including the dialing number (DN) of the agent terminal 123 to the hunting (S115) to the IP-PBX 103 (S117).

IP-PBX(103)는 푸쉬 서버(119)에게 헌팅(S115)된 상담원 단말(123)에게 호 라우팅 정보를 푸쉬하도록 요청한다(S119). 그러면, 푸쉬 서버(119)는 상담원 단말(123)에게 푸쉬 메시지를 전송한다(S121). The IP-PBX 103 requests the push server 119 to push the call routing information to the agent terminal 123 hunting (S115) (S119). Then, the push server 119 transmits a push message to the agent terminal 123 (S121).

상담원 단말(123)에는 전용 앱이 백그라운드(Background) 상태로 실행되어 있다. 이 상태에서 푸쉬 메시지가 수신되면, 상담원 단말(123)은 푸쉬 메시지를 팝업하는데, 상담원이 팝업창을 클릭(터치 등)(S123)하면, 전용 앱은 포어그라운드(Foreground)로 상태 변환된다. 포어그라운드는 사용자와 인터랙티브가 가능한 상태를 의미하므로, 전용 앱이 휴면 상태에서 활성화 상태가 되었음을 의미한다. A dedicated app is executed in the background of the agent terminal 123. In this state, when a push message is received, the agent terminal 123 pops up the push message, and when the agent clicks (touches) the pop-up window (S123), the dedicated app is converted to the foreground. Foreground means that the user can interact with the user, so that the dedicated app has been activated from the dormant state.

상담원 단말(123)은 푸쉬 메시지가 클릭(S123)되면, CTI 게이트웨이(105)로부터 상담원 분배, 호의 상태 정보 등이 포함된 Call Deliver Event를 수신한다(S125). When the push message is clicked (S123), the agent terminal 123 receives a Call Deliver Event including agent distribution, call status information, and the like from the CTI gateway 105 (S125).

상담원 단말(123)은 등록 요청 메시지(req-register)를 내선 WebRTC 서버(107)로 전송한다(S127). 이때, 등록 요청 메시지(req-register)는 상담원 단말(123)의 DN을 필수적으로 포함하고, 기타 정보를 포함할 수 있다. 기타 정보는 상담원 단말(123)이 속한 상담원 그룹, 상담원 로그인 정보(ID/Password), 상담원명등을 포함할 수 있다. DN 및 기타 정보는 상담 완료 후 WebRTC 서버(107)가 운용 관리 서버(125)로 전송할 CDR 정보를 생성하는데 사용된다.The agent terminal 123 transmits a registration request message (req-register) to the extension WebRTC server 107 (S127). At this time, the registration request message (req-register) may include the DN of the agent terminal 123, and may include other information. Other information may include an agent group to which the agent terminal 123 belongs, an agent login information (ID/Password), an agent name, and the like. The DN and other information are used to generate CDR information to be transmitted to the operation management server 125 by the WebRTC server 107 after the consultation is completed.

이때, 상담원 로그인 정보(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-PBX 105 requests MD5 (Message-Digest algorithm 5) authentication for registration.

내선 WebRTC 서버(107)는 S127 단계에서 수신한 DN을 포함하는 등록 메시지(Register)를 IP-PBX(105)로 전송한다(S129).The extension WebRTC server 107 transmits a registration message including the DN received in step S127 to the IP-PBX 105 (S129).

IP-PBX(105)는 DN을 등록하고, 200 OK 메시지를 내선 WebRTC 서버(107)로 전송한다(S131). 내선 WebRTC 서버(107)는 200 OK 메시지가 수신되면, 등록 응답 메시지(event-registered)를 상담원 단말(123)로 전송한다(S133).The IP-PBX 105 registers the DN and transmits a 200 OK message to the extension WebRTC server 107 (S131). The extension WebRTC server 107 transmits a registration response message (event-registered) to the agent terminal 123 when a 200 OK message is received (S133).

상담원 단말(123)이 등록 응답 메시지(event-registered)를 수신하면, 발/착신이 가능하게 된다.When the agent terminal 123 receives the registration response message (event-registered), it is possible to send/receive.

도 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 agent terminal 123 is a web terminal such as a PC or a laptop.

도 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 agent terminal 123 logs in to the CTI gateway 105 through the CTI Application Programming Interface (ICAPI) (S201) and sets its state to a call waiting state (S203). .

또한, 상담원 단말(123)은 등록 요청 메시지(req-register)를 내선 WebRTC 서버(107)로 전송한다(S205). In addition, the agent terminal 123 transmits a registration request message (req-register) to the extension WebRTC server 107 (S205).

내선 WebRTC 서버(107)는 S205 단계에서 수신한 DN을 포함하는 등록 메시지(Register)를 IP-PBX(105)로 전송한다(S207).The extension WebRTC server 107 transmits a registration message (Register) including the DN received in step S205 to the IP-PBX 105 (S207).

IP-PBX(105)는 DN을 등록하고, 200 OK 메시지를 내선 WebRTC 서버(107)로 전송한다(S209). The IP-PBX 105 registers the DN and transmits a 200 OK message to the extension WebRTC server 107 (S209).

내선 WebRTC 서버(107)는 200 OK 메시지가 수신되면, 등록 응답 메시지(event-registered)를 상담원 단말(123)로 전송한다(S211).The extension WebRTC server 107 transmits a registration response message (event-registered) to the agent terminal 123 when a 200 OK message is received (S211).

이후, 고객 전화 단말(301)이 콜센터 대표 번화번호로 발신하면, M1 SDP를 포함하는 인바이트(INVITE) 메시지가 IP-PBX(103)로 전송된다(S213). Thereafter, when the customer phone terminal 301 transmits to the representative call center number, an INVITE message including the M1 SDP is transmitted to the IP-PBX 103 (S213).

IP-PBX(103)는 음성호 연결을 위한 SDP(SDP-audio)를 포함하는 200 OK 메시지를 고객 전화 단말(301)로 전송한다(S215).The IP-PBX 103 transmits a 200 OK message including SDP (SDP-audio) for voice call connection to the customer phone terminal 301 (S215).

IP-PBX(103)는 고객 전화 단말(301)로부터 ACK 메시지를 수신(S217)하면, 고객 전화 단말(301)에게 RTP 방식으로 큐대기음(링백)을 송출한다(S219).When the IP-PBX 103 receives the ACK message from the customer phone terminal 301 (S217), the IP-PBX 103 sends a queue waiting tone (ringback) to the customer phone terminal 301 in an RTP method (S219).

이어서, IP-PBX(103)는 CTI 게이트웨이(105)에게 상담원 연결 요청을 전송한다(S221). CTI 게이트웨이(105)는 통화 대기 상태로 설정된 복수의 상담원 단말(123) 중에서 라우팅 정책에 기초하여 최적의 상담원 단말을 헌팅한다(S223).Subsequently, the IP-PBX 103 transmits an agent connection request to the CTI gateway 105 (S221). The CTI gateway 105 hunts the optimal agent terminal based on the routing policy among the plurality of agent terminals 123 set to the call waiting state (S223).

CTI 게이트웨이(105)는 헌팅(S223)한 상담원 단말(123)의 DN을 포함하는 상담원 분배 응답을 IP-PBX(103)로 전송한다(S225).The CTI gateway 105 transmits an agent distribution response including the DN of the agent terminal 123 that has been hunting (S223) to the IP-PBX 103 (S225).

상담원 단말(123)은 CTI 게이트웨이(105)의 요청에 따라 Call Deliver Event를 통해 상담원 분배, 호의 상태 정보 등을 CTI 게이트웨이(105)로부터 수신한다(S227).The agent terminal 123 receives the agent distribution, call state information, etc. from the CTI gateway 105 through the Call Deliver Event at the request of the CTI gateway 105 (S227).

도 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-PBX 103 transmits an INVITE message containing the DN of the hunted agent terminal 123 in the SIP header field to the extension WebRTC server 107 (S301). At this time, the in-byte message does not include SDP (No-SDP).

내선 WebRTC 서버(107)는 인바이트(INVITE) 메시지의 헤더 필드에 수록된 DN에 해당하는 상담원 단말(123)로 event-newcall 메시지를 전송한다(S303). 여기서, event-newcall은 전화가 왔음을 알리는 이벤트 메시지이다.The extension WebRTC server 107 transmits an event-newcall message to the agent terminal 123 corresponding to the DN included in the header field of the INVITE message (S303). Here, event-newcall is an event message indicating that a call has been made.

내선 WebRTC 서버(107)는 상담원 단말(123)로부터 응답 메시지(req-accepted)를 수신(S305)하면, IP-PBX(103)에게 180 Ringing 메시지를 전송한다(S307).When the extension WebRTC server 107 receives a response message (req-accepted) from the agent terminal 123 (S305), the 180-ringing message is transmitted to the IP-PBX 103 (S307).

상담원 단말(123)은 상담원 단말(123)이 요청하는 Ag-SDP를 포함하는 응답 요청 메시지(req-answered)를 내선 WebRTC 서버(107)로 전송한다(S309). 그러면, 내선 WebRTC 서버(107)는 내선 WebRTC 서버(107)가 요청하는 미디어 정보를 기술한 M2-SDP를 포함하는 200 0K 메시지를 IP-PBX(103)에게 전송한다(S311).The agent terminal 123 transmits a response request message (req-answered) including the Ag-SDP requested by the agent terminal 123 to the extension WebRTC server 107 (S309). Then, the extension WebRTC server 107 transmits a 200 0K message including M2-SDP describing the media information requested by the extension WebRTC server 107 to the IP-PBX 103 (S311).

IP-PBX(103)는 S311 단계에서 수신한 M2-SDP를 포함하는 리인바이트(re-invite) 메시지를 고객 전화 단말(301)로 전송한다(S313). 이어서 IP-PBX(103)는 IP-PBX(103)가 설정한 IE-SDP를 포함하는 ACK 메시지를 내선 WebRTC 서버(107)로 전송한다(S315). The IP-PBX 103 transmits a re-invite message including the M2-SDP received in step S311 to the customer phone terminal 301 (S313). Subsequently, the IP-PBX 103 transmits an ACK message including the IE-SDP set by the IP-PBX 103 to the extension WebRTC server 107 (S315).

내선 WebRTC 서버(107)는 상담원 단말(123)로 내선 WebRTC 서버(107)가 설정한 M3-SDP를 포함하는 event-connected 메시지를 전송한다(S317). The extension WebRTC server 107 transmits an event-connected message including the M3-SDP set by the extension WebRTC server 107 to the agent terminal 123 (S317).

고객 전화 단말(301)은 S313 단계의 리인바이트(re-invite) 메시지에 대한 200 OK 메시지를 IP-PBX(103)로 전송한다(S319). 이때, 200 OK 메시지는 S313 단계에서 수신한 M2-SDP를 고려해서 수정한 M1'-SDP를 포함한다.The customer phone terminal 301 transmits a 200 OK message for the re-invite message of step S313 to the IP-PBX 103 (S319). At this time, the 200 OK message includes the M1'-SDP modified in consideration of the M2-SDP received in step S313.

IP-PBX(103)는 S319 단계에서 수신한 M1'-SDP를 포함하는 리인바이트(re-invite) 메시지를 내선 WebRTC 서버(107)로 전송한다(S321).The IP-PBX 103 transmits a re-invite message including the M1'-SDP received in step S319 to the extension WebRTC server 107 (S321).

내선 WebRTC 서버(107)는 M1'-SDP를 고려해서 수정한 M2'-SDP를 포함하는 200 OK 메시지를 IP-PBX(103)로 전송한다(S323). The extension WebRTC server 107 transmits a 200 OK message including the modified M2'-SDP in consideration of M1'-SDP to the IP-PBX 103 (S323).

IP-PBX(103)는 ACK 메시지를 고객 전화 단말(301)로 전송(S325)하고, 내선 WebRTC 서버(107)에게 전송한다(S327). The IP-PBX 103 transmits an ACK message to the customer phone terminal 301 (S325), and transmits it to the extension WebRTC server 107 (S327).

이상의 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 customer phone terminal 301 transmits and receives media through the agent terminal 123 through WebRTC communication. That is, the customer phone terminal 301 performs UDP/RTP communication with the extension WebRTC server 107 (S329). The extension WebRTC server 107 and the agent terminal 123 communicate with Session Traversal Utilities for NAT (STUN)/Datagram Transport Layer Security (DTLS)/Secure Real-time Transport Protocol (SRTP) (S331).

이후, 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-PBX 103 transmits a Bye message to the extension WebRTC server 107 (S335).

내선 WebRTC 서버(107)는 세션 종료 메시지(event-endcall)를 상담원 단말(123)로 전송한다(S337). The extension WebRTC server 107 transmits a session end message (event-endcall) to the agent terminal 123 (S337).

상담원 단말(123)은 req-disconnect 메시지를 내선 WebRTC 서버(107)로 전송한다(S339). The agent terminal 123 transmits a req-disconnect message to the extension WebRTC server 107 (S339).

내선 WebRTC 서버(107)는 200 OK 메시지를 IP-PBX(103)로 전송한다(S341). The extension WebRTC server 107 transmits a 200 OK message to the IP-PBX 103 (S341).

IP-PBX(103)는 200 OK 메시지를 고객 전화 단말(301)로 전송한다(S343). 이상의 S333 단계~S343 단계를 통하여 WebRTC 통신 세션이 종료된다.The IP-PBX 103 transmits a 200 OK message to the customer phone terminal 301 (S343). The WebRTC communication session is ended through steps S333 to S343.

도 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 agent terminal 123 described in the embodiment of FIG. 2 is a mobile terminal and the case where the agent terminal 123 described in the embodiment of FIG. 3 is a web terminal.

또한, 도 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 customer WebRTC terminal 303 sends a call center representative phone number, a call request message (req-newcall) is transmitted to the trunk line WebRTC server 109 (S401). At this time, the req-newcall includes Cu-SDP set by the customer WebRTC terminal 303.

국선 WebRTC 서버(109)는 IP-PBX(103)로 국선 WebRTC 서버(109)가 설정한 미디어 정보인 M1-SDP를 포함하는 인바이트 메시지를 전송한다(S403). 그리고 고객 WebRTC 단말(303)에게 호 수락 메시지(event-accepted)를 전송한다(S405). The trunk line WebRTC server 109 sends an IP-PBX 103 an in-byte message including M1-SDP, which is media information set by the trunk line WebRTC server 109 (S403). Then, a call acceptance message (event-accepted) is transmitted to the customer WebRTC terminal 303 (S405).

IP-PBX(103)는 국선 WebRTC 서버(109)에게 IP-PBX(103)가 설정한 IE SDP-audio를 포함하는 200 OK 메시지를 전송한다(S407).IP-PBX 103 transmits a 200 OK message including IE SDP-audio set by IP-PBX 103 to trunk line WebRTC server 109 (S407).

국선 WebRTC 서버(109)는 국선 WebRTC 서버(109)가 설정한 미디어 정보인 M2 SDP를 포함하는 event-answered 메시지를 고객 WebRTC 단말(303)에게 전송한다(S409). The trunk line WebRTC server 109 transmits an event-answered message including M2 SDP which is media information set by the trunk line WebRTC server 109 to the customer WebRTC terminal 303 (S409).

고객 WebRTC 단말(303)는 국선 WebRTC 서버(109)에게 req-connect 메시지를 전송한다(S411). The customer WebRTC terminal 303 transmits a req-connect message to the trunk line WebRTC server 109 (S411).

국선 WebRTC 서버(109)는 ACK 메시지를 IP-PBX(103)에게 전송한다(S413). The trunk line WebRTC server 109 transmits an ACK message to the IP-PBX 103 (S413).

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 customer WebRTC terminal 303 communicates with the trunk line WebRTC server 109 and STUN/DTLS/SRTP, and the trunk line WebRTC server 109 has IP-PBX 103 and UDP. /RTP communication. And through such communication, the customer WebRTC terminal 303 receives the queue waiting sound (ringback) from the IP-PBX 103 (S415, S417).

이때, 상담원 단말(123)이 모바일 단말인 경우, 도 2의 S101 단계, S103 단계는 ⓑ 이전에 수행되고, 도 2의 S113 단계~ S133 단계는 ⓒ에서 수행된다.At this time, if the counselor terminal 123 is a mobile terminal, steps S101 and S103 of FIG. 2 are performed before ⓑ, and steps S113 to S133 of FIG. 2 are performed at ⓒ.

또한, 상담원 단말(123)이 웹 단말인 경우, 도 3의 S201 단계 ~ S211 단계는 ⓑ 이전에 수행되고, 도 3의 S221 단계 ~ S227 단계는 ⓒ에서 수행된다.In addition, when the counselor terminal 123 is a web terminal, steps S201 to S211 of FIG. 3 are performed before ⓑ, and steps S221 to S227 of FIG. 3 are performed at ⓒ.

IP-PBX(103)는 상담원 분배가 완료되면, SDP를 포함하지 않고 헌팅된 상담원 단말(123)의 DN을 SIP 헤더 필드에 수록한 인바이트(INVITE) 메시지를 내선 WebRTC 서버(107)로 전송한다(S419). When the agent distribution is completed, the IP-PBX 103 transmits an INVITE message containing the DN of the hunted agent terminal 123 in the SIP header field without including the SDP to the extension WebRTC server 107. (S419).

내선 WebRTC 서버(107)는 인바이트(INVITE) 메시지의 헤더 필드에 수록된 DN에 해당하는 상담원 단말(123)로 전화가 왔음을 알리는 메시지(event-newcall)를 전송한다(S421).The extension WebRTC server 107 transmits a message (event-newcall) informing that the call is to the agent terminal 123 corresponding to the DN included in the header field of the INVITE message (S421).

내선 WebRTC 서버(107)는 상담원 단말(123)로부터 전화 응답 메시지(req-accepted)를 수신(S423)하면, IP-PBX(103)에게 180 Ringing 메시지를 전송한다(S425).When the extension WebRTC server 107 receives a call response message (req-accepted) from the agent terminal 123 (S423), the 180-ringing message is transmitted to the IP-PBX 103 (S425).

상담원 단말(123)은 상담원 단말(123)이 요청하는 Ag-SDP를 포함하는 전화 응답 요청 메시지(req-answered)를 내선 WebRTC 서버(107)로 전송한다(S427). The agent terminal 123 transmits a call response request message (req-answered) including the Ag-SDP requested by the agent terminal 123 to the extension WebRTC server 107 (S427).

그러면, 내선 WebRTC 서버(107)는 내선 WebRTC 서버(107)가 설정한 미디어 정보인 M3-SDP를 포함하는 200 0K 메시지를 IP-PBX(103)에게 전송한다(S429).Then, the extension WebRTC server 107 transmits a 200 0K message including M3-SDP, which is media information set by the extension WebRTC server 107, to the IP-PBX 103 (S429).

IP-PBX(103)는 S429 단계에서 수신한 M3-SDP를 포함하는 리인바이트(re-invite) 메시지를 국선 WebRTC 서버(109)로 전송한다(S431). The IP-PBX 103 transmits a re-invite message including the M3-SDP received in step S429 to the trunk line WebRTC server 109 (S431).

국선 WebRTC 서버(109)는 event-recall 메시지를 고객 WebRTC 단말(303)로 전송한다(S433). The trunk line WebRTC server 109 transmits the event-recall message to the customer WebRTC terminal 303 (S433).

고객 WebRTC 단말(303)은 S401 단계에서 설정한 미디어 정보를 수정한 Cu' SDP를 포함하는 req-answered 메시지를 국선 WebRTC 서버(109)로 전송한다(S435). The customer WebRTC terminal 303 transmits a req-answered message including the Cu' SDP that corrects the media information set in step S401 to the trunk line WebRTC server 109 (S435).

국선 WebRTC 서버(109)는 S403 단계에서 전송한 미디어 정보를 수정한 M1' SDP를 포함하는 200 OK 메시지를 IP-PBX(103)로 전송한다(S437). The trunk line WebRTC server 109 transmits a 200 OK message including the M1' SDP corrected to the media information transmitted in step S403 to the IP-PBX 103 (S437).

IP-PBX(103)는 내선 WebRTC 서버(107)에게 M1' SDP를 포함하는 리인바이트(re-invite) 메시지를 전송한다(S439). 그러면, 내선 WebRTC 서버(107)로부터 수정된 M3'-SDP를 포함하는 200 OK 메시지를 수신한다(S441). The IP-PBX 103 transmits a re-invite message including the M1' SDP to the extension WebRTC server 107 (S439). Then, a 200 OK message including the modified M3'-SDP is received from the extension WebRTC server 107 (S441).

IP-PBX(103)는 국선 WebRTC 서버(109)에게 ACK 메시지를 전송한다(S443). 그리고 내선 WebRTC 서버(107)로 ACK 메시지를 전송한다(S445). IP-PBX 103 transmits an ACK message to the trunk line WebRTC server 109 (S443). Then, an ACK message is transmitted to the extension WebRTC server 107 (S445).

국선 WebRTC 서버(109)는 고객 WebRTC 단말(303)에게 수정한 M2'-SDP를 포함하는 event-connected 메시지를 전송한다(S447). The trunk line WebRTC server 109 transmits an event-connected message including the modified M2'-SDP to the customer WebRTC terminal 303 (S447).

이상의 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 customer WebRTC terminal 303 transmits and receives media through the agent terminal 123 through WebRTC communication. That is, the customer WebRTC terminal 303 performs STUN/DTLS/SRTP communication with the trunk line WebRTC server 109 (S449), and the agent terminal 123 communicates with the extension WebRTC server 107 and STUN/DTLS/SRTP communication (S451). And the trunk line WebRTC server 109 and the extension WebRTC server 107 perform UDP/RTP communication (S453).

이후, 국선 WebRTC 서버(109)는 고객 WebRTC 단말(303)로부터 req-endcall 메시지를 수신(S455)하면, IP-PBX(103)에게 Bye 메시지를 전송한다(S457). Thereafter, the trunk line WebRTC server 109 receives the req-endcall message from the customer WebRTC terminal 303 (S455), and transmits a Bye message to the IP-PBX 103 (S457).

IP-PBX(103)는 내선 WebRTC 서버(107)에게 Bye 메시지를 전송한다(S459). The IP-PBX 103 transmits a Bye message to the extension WebRTC server 107 (S459).

내선 WebRTC 서버(107)는 상담원 단말(123)에게 event-endcall 메시지를 전송한다(S461). The extension WebRTC server 107 transmits an event-endcall message to the agent terminal 123 (S461).

내선 WebRTC 서버(107)는 상담원 단말(123)로부터 req-disconnect 메시지를 수신(S463)하면, IP-PBX(103)에게 200 OK 메시지를 전송한다(S465). When the extension WebRTC server 107 receives the req-disconnect message from the agent terminal 123 (S463), it transmits a 200 OK message to the IP-PBX 103 (S465).

IP-PBX(103)는 200 OK 메시지를 국선 WebRTC 서버(109)에게 전달한다(S467). 그리고 국선 WebRTC 서버(109)는 고객 WebRTC 단말(303)에게 event-disconnect 메시지를 전달한다(S469).The IP-PBX 103 transmits a 200 OK message to the trunk line WebRTC server 109 (S467). Then, the trunk line WebRTC server 109 transmits an event-disconnect message to the customer WebRTC terminal 303 (S469).

도 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 customer WebRTC terminal 303 is connected to the trunk line WebRTC server 109 and a websocket (websocket) (S501).

고객 WebRTC 단말(303)은 S501 단계 이후, t0 시간 이내에 req-ws-init 메시지를 국선 WebRTC 서버(109)로 전송한다(S503). After the step S501, the customer WebRTC terminal 303 transmits a req-ws-init message to the trunk line WebRTC server 109 within t0 hours (S503).

고객 WebRTC 단말(303)은 네트워크 또는 단말/서버의 이상으로 소켓(socket) 접속이 해제되었다가 다시 연결된 경우, 고객 WebRTC 단말(303)은 기존에 발급받은 token_ID를 포함하는 req-ws-init 메시지를 국선 WebRTC 서버(109)로 전송한다(S503).When the customer WebRTC terminal 303 is disconnected and reconnected due to a network or terminal/server abnormality, the customer WebRTC terminal 303 sends a req-ws-init message including the token_ID issued previously. Transfer to the trunk line WebRTC server 109 (S503).

국선 WebRTC 서버(109)는 req-ws-init 메시지를 수신하면, 고객 WebRTC 단말(303)에게 event-ws-init 메시지를 전송한다(S505). 이때, event-ws-init 메시지는 발급한 token_ID, ka_interval, timeout 값을 포함할 수 있다.When the trunk line WebRTC server 109 receives the req-ws-init message, it transmits an event-ws-init message to the customer WebRTC terminal 303 (S505). At this time, the event-ws-init message may include issued token_ID, ka_interval, and timeout values.

국선 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 line WebRTC server 109 issues a unique token_ID. On the other hand, when token_ID is included in the req-ws-init message received in step S503, the event-ws-init message includes the token_ID received in step S503. However, when all sessions are already terminated by the timer and the existing token_ID is destroyed, a new token_ID is issued.

고객 WebRTC 단말(303)은 기 저장한 token_ID와 S505 단계에서 수신한 token_ID가 일치하는지 판단한다(S507).The customer WebRTC terminal 303 determines whether the token_ID previously stored matches the token_ID received in step S505 (S507).

불일치하면, 고객 WebRTC 단말(303)은 기존 세션을 모두 초기화(S509)하고, 새로운 세션의 생성을 요청(req-newcall)한다(S511). If there is a mismatch, the customer WebRTC terminal 303 initializes all existing sessions (S509) and requests to create a new session (req-newcall) (S511).

여기서, 초기화(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 customer WebRTC terminal 303 and the agent terminal 123 access to the WebRTC servers 107 and 109 through a web socket and go through a hand-shake process (normal web access process). When using SSL, it goes through the process of exchanging req-ws-init message and event-ws-init message after going through SSL authentication procedure.

여기서, 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 agent terminal 123 performs a terminal registration procedure, and the customer WebRTC terminal 303 performs a call transmission.

이때, 국선 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 line WebRTC server 109 releases the socket connection established in step S501.

고객 WebRTC 단말(303)은 S507 단계에서 일치로 판단되거나 또는 S511 단계 이후, S505 단계에서 수신한 인터벌 주기(ka_interval)가 도래하는지 판단한다(S513).The customer WebRTC terminal 303 determines whether the interval period (ka_interval) received in step S505 arrives, in step S507 or in step S505 (S513).

고객 WebRTC 단말(303)은 인터벌 주기가 도래하면, 국선 WebRTC 서버(109)에게 req_ws_ping을 전송(S515)한다.When the interval period arrives, the customer WebRTC terminal 303 transmits req_ws_ping to the trunk line WebRTC server 109 (S515).

국선 WebRTC 서버(109)는 타임아웃(Timeout)이 만료(S517)하기 전에 event_ws_pong을 고객 WebRTC 단말(303)에게 전송한다(S519). The trunk line WebRTC server 109 transmits event_ws_pong to the customer WebRTC terminal 303 before the timeout expires (S517) (S519).

고객 WebRTC 단말(303)은 타임아웃(Timeout)이 만료하기 전에 event_ws_pong을 수신하지 못하면, 소켓 접속을 해제한다(socket close)(S521).If the customer WebRTC terminal 303 does not receive event_ws_pong before the timeout expires, the socket connection is released (socket close) (S521).

이때, 국선 WebRTC 서버(109)는 항상 타임아웃(Timeout)을 인터벌 주기(ka_interval)보다 크게 설정한다. At this time, the trunk line WebRTC server 109 always sets a timeout greater than an interval period (ka_interval).

도 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 agent terminal 123 transmits a req-ws-init message to the extension WebRTC server 107 within t0 hours in a websocket connection (socketconnect) state (S601) with the extension WebRTC server 107 ( S603).

이때, 상담원 단말(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 agent terminal 123 transmits a req-ws-init message including the existing token_id value (S603).

내선 WebRTC 서버(107)는 req-ws-init 메시지를 수신하면, token_id, ka_interval, timeout 값을 포함하는 event-ws-init 메시지를 상담원 단말(123)에게 전송한다(S605).Upon receiving the req-ws-init message, the extension WebRTC server 107 transmits an event-ws-init message including the token_id, ka_interval, and timeout values to the agent terminal 123 (S605).

내선 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 extension WebRTC server 107 issues a unique token_ID when token_ID is not included in the req-ws-init message received in step S603. On the other hand, if token_ID is included in the req-ws-init message received in step S603, the event-ws-init message includes the token_ID received in step S603. However, when all sessions are already terminated by the timer and the existing token_ID is destroyed, a new token_ID is issued.

상담원 단말(123)은 기 저장한 token_ID와 S605 단계에서 수신한 token_ID가 일치하는지 판단한다(S607).The agent terminal 123 determines whether the previously stored token_ID matches the token_ID received in step S605 (S607).

불일치하면, 상담원 단말(123)은 기존 세션을 모두 초기화(S609)한다. 상담원 단말(123)은 내선 WebRTC 서버(107)에게 DN이 포함된 req-register 메시지를 전송한다(S611). If there is a discrepancy, the agent terminal 123 initializes all existing sessions (S609). The agent terminal 123 transmits a req-register message including the DN to the extension WebRTC server 107 (S611).

상담원 단말(123)은 웹소켓이 잠시 끊어졌다 재연결되었을때 현재 상태가 세션 연결 중인 상태도 아니고 세션 연결을 위해 어떤 메시지도 주고 받은 상태가 아니면 반드시 기존에 사용한 call_id를 포함하여 req-register 메시지를 전송한다.When the web socket is disconnected and reconnected for a while, the agent terminal 123 must send a req-register message including the previously used call_id if the current state is not in the session connection state and no message is exchanged for the session connection. send.

이때, 내선 WebRTC 서버(107)는 상담원 단말(123)과 소켓 연결후 t1 시간 이내에 req-register 메시지가 수신되지 않으면 S601 단계에서 설정된 socket 연결을 해제한다.At this time, the extension WebRTC server 107 releases the socket connection established in step S601 if a req-register message is not received within t1 hour after the socket connection with the agent terminal 123.

내선 WebRTC 서버(107)는 IP-PBX(105)로 register 메시지를 전송(S613)하고 200 OK 메시지를 수신한다(S615). 그리고 상담원 단말(123)에게 event-registered 메시지를 전송한다(S617). 이러한 S613 단계 ~ S617 단계는 도 2의 S127 ~ S133, 도 3의 S205 ~ S211와 동일하다. The extension WebRTC server 107 transmits a register message to the IP-PBX 105 (S613) and receives a 200 OK message (S615). Then, an event-registered message is transmitted to the agent terminal 123 (S617). Steps S613 to S617 are the same as S127 to S133 in FIG. 2 and S205 to S211 in FIG. 3.

이때, S617 단계에는 내선 WebRTC 서버(107)가 상담원 단말(123)의 register을 거절 하고자 할 경우 사유를 포함하여 event-rejected 메시지를 전송할 수 있다.At this time, in step S617, when the extension WebRTC server 107 wishes to reject the register of the agent terminal 123, an event-rejected message including a reason may be transmitted.

또한, 상담원 단말(123)은 내선 WebRTC 서버(107)로 DN의 등록 해제를 요청하는 req-unregister 메시지를 전송할 수 있다(S619). 내선 WebRTC 서버(107)는 IP-PBX(105)로 unregister 메시지를 전송(S621)하고 200 OK 메시지를 수신한다(S623). 그리고 상담원 단말(123)에게 event-unregistered 메시지를 전송한다(S625). In addition, the agent terminal 123 may transmit a req-unregister message requesting to unregister the DN to the extension WebRTC server 107 (S619). The extension WebRTC server 107 transmits an unregister message to the IP-PBX 105 (S621) and receives a 200 OK message (S623). Then, an event-unregistered message is transmitted to the agent terminal 123 (S625).

한편, 상담원 단말(123)은 S607 단계에서 일치로 판단되거나 또는 S617 단계 이후, S605 단계에서 수신한 인터벌 주기(ka_interval)가 도래하는지 판단한다(S627).On the other hand, the counselor terminal 123 determines whether the interval period (ka_interval) received in step S605 arrives, in step S607 or in step S605 (S627).

상담원 단말(123)은 인터벌 주기가 도래하면, 내선 WebRTC 서버(107)에게 req_ws_ping을 전송(S629)한다.When the interval period arrives, the agent terminal 123 transmits req_ws_ping to the extension WebRTC server 107 (S629).

내선 WebRTC 서버(107)는 타임아웃(Timeout)이 만료(S631)하기 전에 event_ws_pong을 상담원 단말(123)에게 전송한다(S633). The extension WebRTC server 107 transmits event_ws_pong to the agent terminal 123 before the timeout expires (S631) (S633).

상담원 단말(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 extension WebRTC server 107 always sets the timeout greater than the interval period (ka_interval).

도 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 customer phone terminal 301 transmits an in-byte message including the specific DN and the media information set by the customer phone terminal 301, M1 SDP, to the IP-PBX 103 (S701). ).

IP-PBX(103)는 내선 WebRTC 서버(107)에게 M1 SDP를 포함하는 인바이트 메시지를 전송한다(S703). The IP-PBX 103 transmits an in-byte message including the M1 SDP to the extension WebRTC server 107 (S703).

내선 WebRTC 서버(107)는 인바이트 메시지의 수신자 필드에 수록된 DN에 대응하는 상담원 단말(123)에게 SDP 없이 event-newcall을 요청한다(S705).The extension WebRTC server 107 requests an event-newcall without an SDP from the agent terminal 123 corresponding to the DN included in the recipient field of the in-byte message (S705).

상담원 단말(123)은 req-accept를 내선 WebRTC 서버(107)에게 전송한다(S707). The agent terminal 123 transmits the req-accept to the extension WebRTC server 107 (S707).

내선 WebRTC 서버(107)는 180 Ringing 메시지를 IP-PBX(103)에게 전송한다(S709). The extension WebRTC server 107 transmits a 180 Ringing message to the IP-PBX 103 (S709).

이때, 내선 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 extension WebRTC server 107 transmits a 408 message (Request Time-out) to the IP-PBX 103 if the req-accept is not received within t2 hours, and the agent terminal 123 You can stop creating a session by sending an event-cancel to it.

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 agent terminal 123 generates a media resource and transmits a req-answer message including B SDP together with codec information to the extension WebRTC server 107 (S713).

내선 WebRTC 서버(107)는 내선 WebRTC 서버(107)가 설정한 미디어 정보인 M2 SDP를 포함하는 200 OK 메시지를 IP-PBX(103)에게 전송(S715)하고, IP-PBX(103)는 고객 전화 단말(301)에게 M2 SDP를 포함하는 200 OK 메시지를 전송(S717)한다. The extension WebRTC server 107 transmits a 200 OK message including M2 SDP, which is media information set by the extension WebRTC server 107, to the IP-PBX 103 (S715), and the IP-PBX 103 is a customer phone The terminal 301 transmits a 200 OK message including the M2 SDP (S717).

고객 전화 단말(301)은 ACK 메시지를 IP-PBX(103)에게 전송한다(S719).The customer phone terminal 301 transmits an ACK message to the IP-PBX 103 (S719).

IP-PBX(103)는 내선 WebRTC 서버(107)에게 ACK 메시지를 전송한다(S721). IP-PBX 103 transmits an ACK message to the extension WebRTC server 107 (S721).

내선 WebRTC 서버(107)는 내선 WebRTC 서버(107)가 설정한 미디어 정보인 M4 SDP를 포함하는 event-connected 메시지를 상담원 단말(123)에게 전송한다(S723).The extension WebRTC server 107 transmits an event-connected message including M4 SDP which is media information set by the extension WebRTC server 107 to the agent terminal 123 (S723).

이때, 상담원 단말(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 agent terminal 123 stops session creation by sending an event-cancel to the extension WebRTC server 107. Can.

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 customer phone terminal 301 transmits and receives media through the agent terminal 123 through WebRTC communication. That is, the customer phone terminal 301 performs UDP/RTP communication with the extension WebRTC server 107 (S725). And the extension WebRTC server 107 communicates with the agent terminal 123 in STUN/DTLS/SRTP (S727).

도 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 customer WebRTC terminal 303 and the agent terminal 123 follows the 3-way handshaking principle.

고객 WebRTC 단말(303)은 설정한 미디어 정보인 A SDP를 포함하는 req-newcall 메시지를 국선 WebRTC 서버(109)에게 전송한다(S801). 이때, req-newcall 메시지는 특정 상담원 단말(123)의 DN을 포함한다. 이러한 DN은 S803, S805의 인바이트 메시지의 수신자 필드에 수록되며, 내선 WebRTC 서버(107)는 인바이트 메시지의 수신자 필드의 DN에 해당하는 상담원 단말(123)로 호 연결을 요청한다(S807). The customer WebRTC terminal 303 transmits a req-newcall message including the set media information A SDP to the trunk line WebRTC server 109 (S801). At this time, the req-newcall message includes the DN of the specific agent terminal 123. These DNs are included in the recipient fields of the in-byte message of S803 and S805, and the extension WebRTC server 107 requests a call connection to the agent terminal 123 corresponding to the DN of the recipient field of the in-byte message (S807).

이때, 국선 WebRTC 서버(109)는 고객 WebRTC 단말(303)과 웹소켓 연결된 후, t1 시간 이내에 req-newcall 메시지가 수신되지 않으면, 웹소켓 연결을 해제한다.At this time, the trunk line WebRTC server 109 disconnects the web socket connection if a req-newcall message is not received within t1 hour after the web socket is connected to the customer WebRTC terminal 303.

국선 WebRTC 서버(109)는 설정한 미디어 정보인 M1 SDP를 포함하는 인바이트 메시지를 IP-PBX(103)에게 전송한다(S803). The trunk line WebRTC server 109 transmits the in-byte message including the set media information M1 SDP to the IP-PBX 103 (S803).

IP-PBX(103)는 내선 WebRTC 서버(107)에게 M1 SDP를 포함하는 인바이트 메시지를 전송한다(S805). The IP-PBX 103 transmits an in-byte message including the M1 SDP to the extension WebRTC server 107 (S805).

내선 WebRTC 서버(107)는 인바이트 메시지의 수신자 필드에 수록된 DN에 대응하는 상담원 단말(123)에게 SDP 없이 event-newcall을 요청한다(S807).The extension WebRTC server 107 requests the event-newcall without the SDP from the agent terminal 123 corresponding to the DN included in the recipient field of the in-byte message (S807).

상담원 단말(123)은 req-accept를 내선 WebRTC 서버(107)에게 전송한다(S809). The agent terminal 123 transmits the req-accept to the extension WebRTC server 107 (S809).

이때, 내선 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 extension WebRTC server 107 transmits a 408 message (Request Time-out) to the IP-PBX 103 if the req-accept is not received within t2 hours and sends it to the agent terminal 123. You can stop creating a session by sending an event-cancel.

내선 WebRTC 서버(107)는 180 Ringing 메시지를 IP-PBX(103)에게 전송한다(S811). IP-PBX(103)는 180 Ringing 메시지를 국선 WebRTC 서버(109)에게 전송한다(S813).The extension WebRTC server 107 transmits a 180 Ringing message to the IP-PBX 103 (S811). The IP-PBX 103 transmits a 180 Ringing message to the trunk line WebRTC server 109 (S813).

국선 WebRTC 서버(109)는 event-accepted 메시지를 고객 WebRTC 단말(303)에게 전송한다(S815).The trunk line WebRTC server 109 transmits an event-accepted message to the customer WebRTC terminal 303 (S815).

고객 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 customer WebRTC terminal 303 may stop the session creation by sending req-cancel to the trunk line WebRTC server 109.

상담원 단말(123)은 S809 단계 이후, 미디어 자원을 생성하고 코덱 정보와 함께 설정한 미디어 정보인 B-SDP를 포함하는 req-answer 메시지를 내선 WebRTC 서버(107)에게 전송한다(S817). After the step S809, the agent terminal 123 generates a media resource and transmits a req-answer message including B-SDP, which is media information set with codec information, to the extension WebRTC server 107 (S817).

내선 WebRTC 서버(107)는 IP-PBX(103)에게 설정 미디어 정보인 M2 SDP를 포함하는 200 OK 메시지를 전송(S819)하고, IP-PBX(103)는 국선 WebRTC 서버(109)에게 M2 SDP를 포함하는 200 OK 메시지를 전송(S821)한다. The extension WebRTC server 107 transmits a 200 OK message including M2 SDP, which is set media information, to the IP-PBX 103 (S819), and the IP-PBX 103 sends the M2 SDP to the trunk line WebRTC server 109. The included 200 OK message is transmitted (S821).

국선 WebRTC 서버(109)는 IP-PBX(103)로부터 200 OK를 수신(S821)하면 고객 WebRTC 단말(303)로 설정 미디어 정보인 M3 SDP를 포함하는 event-answered를 전송한다(S823). When the trunk line WebRTC server 109 receives 200 OK from the IP-PBX 103 (S821), it transmits an event-answered including M3 SDP as media information to the customer WebRTC terminal 303 (S823).

이때, 내선 WebRTC 서버(107)는 S809 단계에서 req-accept를 수신한 이후 t3 시간 이내에 req-answer를 수신하지 못하면 IP-PBX(103)로 408 메시지(Request Time-out)를 전송하고 상담원 단말(123)에게 event-cancel을 전송하여 세션 생성을 중지할 수 있다.At this time, if the extension WebRTC server 107 does not receive the req-answer within t3 hours after receiving the req-accept in step S809, it sends a 408 message (Request Time-out) to the IP-PBX 103 and the agent terminal ( Session creation can be stopped by sending an event-cancel to 123).

또한, 고객 WebRTC 단말(303)은 S815 단계에서 event-accept를 수신한 이후 t3 시간 이내에 event-answered를 수신하지 못하면 국선 WebRTC 서버(109)로 event-cancel을 전송하여 세션 생성을 중지할 수 있다. In addition, if the customer WebRTC terminal 303 does not receive event-answered within t3 hours after receiving the event-accept in step S815, it can stop the session creation by sending an event-cancel to the trunk line WebRTC server 109.

고객 WebRTC 단말(303)은 국선 WebRTC 서버(109)와 세션 협상에 문제가 없으면, 국선 WebRTC 서버(109)로 req-connect를 전송한다(S825).The customer WebRTC terminal 303 transmits a req-connect to the trunk line WebRTC server 109 when there is no problem in session negotiation with the trunk line WebRTC server 109 (S825).

여기서, 세션 협상은 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 customer WebRTC terminal 303 sends a req-cancel message to the trunk line WebRTC server 109 to cancel.

이때, 국선 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 line WebRTC server 109 transmits a Bye message to the IP-PBX 103 and transmits the Bye message to the customer WebRTC terminal 303 after receiving the req-connect within t4 hours. You can end the session by sending an event-endcall.

S825 단계 이후, 국선 WebRTC 서버(109)는 ACK 메시지를 IP-PBX(103)에게 전송한다(S827). IP-PBX(103)는 내선 WebRTC 서버(107)에게 ACK 메시지를 전송한다(S829). After step S825, the trunk line WebRTC server 109 transmits an ACK message to the IP-PBX 103 (S827). IP-PBX 103 transmits an ACK message to the extension WebRTC server 107 (S829).

내선 WebRTC 서버(107)는 상담원 단말(123)에게 설정 미디어 정보인 M4 SDP를 포함하는 event-connected 메시지를 전송한다(S831). The extension WebRTC server 107 transmits an event-connected message including M4 SDP, which is set media information, to the agent terminal 123 (S831).

이때, 상담원 단말(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 agent terminal 123 stops the session creation by sending a req-endcall to the extension WebRTC server 107. Can.

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 customer WebRTC terminal 303 transmits and receives media through the agent terminal 123 and WebRTC communication. That is, the customer WebRTC terminal 303 performs STUN/DTLS/SRTP communication with the trunk line WebRTC server 109 (S833), and the agent terminal 123 communicates with the extension WebRTC server 107 and STUN/DTLS/SRTP communication (S835). And the trunk line WebRTC server 109 and the extension WebRTC server 107 perform UDP/RTP communication (S837).

한편, 상담원 단말 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 customer terminal 303 and the call session is connected, see FIGS. 10 and 11 for the consultation call switching process with the agent terminal B. The instant call transfer process will be described with reference to FIG. 12.

여기서, 협의 호 전환 및 즉시 호 전환은 적어도 두 상담원 단말이 참여하는 다중 세션을 생성하는 과정이다. 이러한 호 전환은 고객 단말(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 customer terminal 303 talks to the agent terminal A and then switches the call to the agent terminal B to end the call with the agent terminal A and connects the call with the agent terminal B.

도 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 agent terminal A 123 is started in a state in communication with the customer WebRTC terminal 303. At this time, when the agent terminal 123 wants to create a new session, the agent terminal A 123 transmits a req-newcall to the extension WebRTC server 107 (S901).

이때, 기존 통화 세션의 미디어를 일시적으로 중단시키기 위해서 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 agent terminal A 123 transmits a req-recall in which the media mode is changed to sendonly or inactive to the extension WebRTC server 107.

미디어 모드의 종류는 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 extension WebRTC server 107 transmits reINVITE including sendonly or inactive to the IP-PBX 103 (S903).

IP-PBX(103)는 IP-PBX(103)의 보류음을 보내줄 IP-PBX(103)의 SDP를 포함하는 reINVITE를 국선 WebRTC 서버(109)에게 전송한다(S905). The IP-PBX 103 transmits reINVITE including the SDP of the IP-PBX 103, which will send the pending sound of the IP-PBX 103, to the trunk line WebRTC server 109 (S905).

국선 WebRTC 서버(109)는 국선 WebRTC 서버(109)가 설정한 미디어 정보인 M3' SDP를 포함하는 event-recall을 고객 WebRTC 단말(303)에게 전송한다(S907). The trunk line WebRTC server 109 transmits an event-recall including M3' SDP, which is media information set by the trunk line WebRTC server 109, to the customer WebRTC terminal 303 (S907).

고객 WebRTC 단말(303)은 국선 WebRTC 서버(109)에게 설정 미디어 정보인 A' SDP를 포함하는 req-answer을 전송한다(S909).The customer WebRTC terminal 303 transmits a req-answer including A'SDP, which is set media information, to the trunk line WebRTC server 109 (S909).

국선 WebRTC 서버(109)는 S907 단계 이후 t3 시간 이내에 S909 단계가 이루어지지 않으면, 고객 단말(303)에게 event-cancel을 전송하여 세션 생성을 중지할 수 있다.If the step S909 is not performed within t3 hours after the step S907, the trunk line WebRTC server 109 may stop the session creation by sending an event-cancel to the customer terminal 303.

국선 WebRTC 서버(109)는 IP-PBX(103)에게 국선 WebRTC 서버(109)가 설정한미디어 정보인 M1 SDP를 포함하는 200 OK 메시지를 전송한다(S911). The trunk line WebRTC server 109 transmits to the IP-PBX 103 a 200 OK message including M1 SDP, which is the media information set by the trunk line WebRTC server 109 (S911).

IP-PBX(103)는 inactive를 포함하는 200 OK 메시지를 내선 WebRTC 서버(107)에게 전송한다(S913). IP-PBX 103 transmits a 200 OK message including inactive to extension WebRTC server 107 (S913).

내선 WebRTC 서버(107)는 상담원 단말 A(123)에게 inactive를 포함하는 event-answer를 전송한다(S915).The extension WebRTC server 107 transmits an event-answer including inactive to the agent terminal A 123 (S915).

상담원 단말 A(123)는 req-reconnect를 내선 WebRTC 서버(107)에게 전송한다(S917). The agent terminal A 123 transmits the req-reconnect to the extension WebRTC server 107 (S917).

이때, 상담원 단말 A(123)는 S901 단계 이후, t3 시간 이내에 S915 단계가 이루어지지 않으면, 내선 WebRTC 서버(107)로 event-cancel을 전송하여 세션 재협상을 취소할 수 있다.At this time, the agent terminal A 123 may cancel the session renegotiation by sending an event-cancel to the extension WebRTC server 107 after step S901, if step S915 is not performed within t3 hours.

내선 WebRTC 서버(107)는 ACK를 IP-PBX(103)에게 전송한다(S919). IP-PBX(103)는 ACK를 국선 WebRTC 서버(109)에게 전송한다(S921). The extension WebRTC server 107 transmits an ACK to the IP-PBX 103 (S919). The IP-PBX 103 transmits an ACK to the trunk line WebRTC server 109 (S921).

이때, 내선 WebRTC 서버(107)는 t4 시간 이내에 req-reconnect가 수신되지 않으면, 세션 재협상을 중지하고 기존 미디어 상태로 돌아간다.At this time, if the req-reconnect is not received within t4 hours, the extension WebRTC server 107 stops session renegotiation and returns to the existing media state.

국선 WebRTC 서버(109)는 고객 WebRTC 단말(303)에게 event-reconnected를 전송한다(S923). The trunk line WebRTC server 109 transmits event-reconnected to the customer WebRTC terminal 303 (S923).

그러면, 고객 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 customer WebRTC terminal 303 performs STUN/DTLS/RTP communication with the trunk line WebRTC server 109 (S925), and the trunk line WebRTC server 109 performs UDP/RTP communication with the IP-PBX 103 (S927). ). At this time, in step S925 and step S927, the hold sound according to the call hold is transmitted to the customer WebRTC terminal 303. Through steps S901 to S927, the agent terminal A 123 holds a call session with the set media information customer WebRTC terminal 303.

이어서, S917 단계 이후, 상담원 단말 A(123)은 설정한 미디어 정보인 B SDP를 포함하는 req-newcall을 내선 WebRTC 서버(107)에게 전송한다(S929). 이때, req-newcall은 상담원 단말 B(123)의 DN을 포함한다.Subsequently, after step S917, the agent terminal A 123 transmits a req-newcall including the set media information B SDP to the extension WebRTC server 107 (S929). At this time, req-newcall includes the DN of the agent terminal B (123).

여기서, 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 extension WebRTC server 107 sends an IP-PBX 103 an in-byte message including M5 SDP, which is the media information set by the extension WebRTC server 107 (S931). At this time, the recipient field of the in-byte message includes the DN received in step S929.

IP-PBX(103)는 M5 SDP를 포함하는 인바이트 메시지를 내선 WebRTC 서버(107)에게 전송한다(S933). The IP-PBX 103 transmits an in-byte message including the M5 SDP to the extension WebRTC server 107 (S933).

내선 WebRTC 서버(107)는 상담원 단말 B(123)에게 event-newcall을 전송한다(S935). 그리고 상담원 단말 B(123)로부터 상담원 단말 B(123)이 지정한 미디어 정보인 C SDP를 포함하는 req-answer을 수신한다(S937). The extension WebRTC server 107 transmits an event-newcall to the agent terminal B 123 (S935). Then, the req-answer including C SDP, which is the media information designated by the agent terminal B 123, is received from the agent terminal B 123 (S937).

이때, 내선 WebRTC 서버(107)는 S935 단계 이후 t3 시간 이내에 S937 단계가 이루어지지 않으면, 상담원 단말 B(123)에게 event-cancel을 전송하여 세션 생성을 중지할 수 있다.At this time, the extension WebRTC server 107 may stop the session creation by sending an event-cancel to the agent terminal B 123 if step S937 is not performed within t3 hours after step S935.

내선 WebRTC 서버(107)는 설정한 미디어 정보인 M6 SDP를 포함하는 200 OK 메시지를 IP-PBX(103)에게 전송한다(S939).The extension WebRTC server 107 transmits a 200 OK message including the set media information M6 SDP to the IP-PBX 103 (S939).

IP-PBX(103)는 내선 WebRTC 서버(107)에게 M6 SDP를 포함하는 200 OK 메시지를 전송한다(S941).IP-PBX 103 transmits a 200 OK message including M6 SDP to extension WebRTC server 107 (S941).

내선 WebRTC 서버(107)는 설정한 미디어 정보인 M7 SDP를 포함하는 event-answered를 상담원 단말 A(123)에게 전송한다(S943).The extension WebRTC server 107 transmits event-answered including M7 SDP, which is the set media information, to the agent terminal A 123 (S943).

이때, 상담원 단말 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 extension WebRTC server 107 if step S943 is not performed within t3 hours after step S929.

상담원 단말 A(123)는 내선 WebRTC 서버(107)에게 req-connect를 전송한다(S945). The agent terminal A 123 transmits req-connect to the extension WebRTC server 107 (S945).

내선 WebRTC 서버(107)는 IP-PBX(103)에게 ACK 메시지를 전송(S947)하고, IP-PBX(103)로부터 ACK 메시지를 수신한다(S949).The extension WebRTC server 107 transmits an ACK message to the IP-PBX 103 (S947), and receives an ACK message from the IP-PBX 103 (S949).

이때, 내선 WebRTC 서버(107)는 S943 단계 이후, S945 단계가 t4 시간 이내에 이루어지지 않으면, 상담원 단말 A(123)에게 event-cancel을 전송하여 세션 생성을 중지할 수 있다.At this time, the extension WebRTC server 107 may stop the session creation by sending an event-cancel to the agent terminal A 123 after step S943, if step S945 is not performed within t4 hours.

내선 WebRTC 서버(107)는 상담원 단말 B(123)에게 event-connected를 전송한다(S951). 이때, 상담원 단말 B(123)은 S937 단계 이후, S951 단계가 이루어지지 않으면, 내선 WebRTC 서버(107)에게 req-endcall을 전송하여 세션 생성을 중지할 수 있다.The extension WebRTC server 107 transmits event-connected to the agent terminal B 123 (S951). At this time, the agent terminal B 123 may stop the session creation by sending a req-endcall to the extension WebRTC server 107 after step S937 and step S951 is not performed.

내선 WebRTC 서버(107)는 상담원 단말 A(123)와 STUN/DTLS/RTP 통신을 하고(S953), 상담원 단말 B(123)와 STUN/DTLS/RTP 통신을 한다(S955). The extension WebRTC server 107 performs STUN/DTLS/RTP communication with the agent terminal A 123 (S953), and performs STUN/DTLS/RTP communication with the agent terminal B 123 (S955).

이때, 상담원 단말 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 customer WebRTC terminal 303 and the agent terminal B 123. These flows are the outpost process of the call transfer.

도 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 customer WebRTC terminal 303 and the agent terminal B 123 are started.

상담원 단말 A(123)은 호 전환을 요청하는 req-refer 메시지를 내선 WebRTC 서버(107)에게 전송한다(S1001). 이때, req-refer 메시지는 전환할 대상의 착신번호, 즉, 상담원 단말 B(123)의 DN을 포함한다.The agent terminal A 123 transmits a req-refer message requesting call transfer to the extension WebRTC server 107 (S1001). At this time, the req-refer message includes the destination number of the object to be switched, that is, the DN of the agent terminal B 123.

내선 WebRTC 서버(107)는 IP-PBX((103)에게 전환 메시지(REFER)를 전송한다(S1003). 전환 메시지(REFER)는 웹소켓으로 수신된 req-refer 메시지를 SIP로 변환한 메시지이다.The extension WebRTC server 107 transmits a conversion message (REFER) to the IP-PBX (103) (S1003) The conversion message (REFER) is a message that converts the req-refer message received by the WebSocket into SIP.

내선 WebRTC 서버(107)는 IP-PBX((103)로부터 202 Accepted 메시지를 수신(S1005)하면 rsp-referred 메시지를 상담원 단말 B(123)로 전송한다(S1007). When the extension WebRTC server 107 receives the 202 Accepted message from the IP-PBX (103) (S1005), the extension WebRTC server 107 transmits the rsp-referred message to the agent terminal B 123 (S1007).

또한, IP-PBX(103)는 S1005 단계 이후, 이어서 NOTIFY(refer) 메시지를 내선 WebRTC 서버(107)에게 전송한다(S1009). Further, the IP-PBX 103 transmits a NOTIFY (refer) message to the extension WebRTC server 107 after step S1005 (S1009).

내선 WebRTC 서버(107)는 event-notify(refer) 메시지를 상담원 단말 A(123)에게 전송한다(S1011). The extension WebRTC server 107 transmits an event-notify (refer) message to the agent terminal A 123 (S1011).

상담원 단말 A(123)는 ack-notified(refer) 메시지를 내선 WebRTC 서버(107)로 전송한다(S1013). 내선 WebRTC 서버(107)는 IP-PBX(103)에게 200 OK 메시지를 전송한다(S1015). The agent terminal A 123 transmits an ack-notified (refer) message to the extension WebRTC server 107 (S1013). The extension WebRTC server 107 transmits a 200 OK message to the IP-PBX 103 (S1015).

IP-PBX(103)는 상담원 단말 A(123)의 호를 모두 종료하기 위해 내선 WebRTC 서버(107)에게 BYE 메시지를 전송하여 상담원 단말 A(123)에 연결된 기존 호 및 신규 호의 종료를 요청한다(S1017, S1021). 여기서, 기존 호는 상담원 단말 A(123)와 고객 WebRTC 단말(303) 간의 통화 호를 말한다. 신규 호는 상담원 단말 A(123)와 상담원 단말 B(123) 간의 통화 호를 말한다.The IP-PBX 103 sends a BYE message to the extension WebRTC server 107 to end all calls of the agent terminal A 123 and requests termination of the existing and new calls connected to the agent terminal A 123 ( S1017, S1021). Here, the existing call refers to a call between the agent terminal A 123 and the customer WebRTC terminal 303. The new call refers to a call between agent terminal A 123 and agent terminal B 123.

내선 WebRTC 서버(107)는 기존 호 종료 및 신규 호 종료를 요청하는 event-endcall 메시지를 상담원 단말 A(123)에게 전송한다(SS1019, S1023). The extension WebRTC server 107 transmits an event-endcall message requesting termination of an existing call and termination of a new call to the agent terminal A 123 (SS1019, S1023).

상담원 단말 A(123)는 기존 호 세션 및 신규 호 세션을 종료하는 req-disconnect 메시지를 내선 WebRTC 서버(107)에게 전송(S1025, S1029)한다.The agent terminal A 123 transmits a req-disconnect message to terminate the existing call session and the new call session to the extension WebRTC server 107 (S1025, S1029).

내선 WebRTC 서버(107)는 S1025, S1029에서 수신한 req-disconnect 메시지들 각각에 대한 200 OK 메시지를 IP-PBX(103)에게 전송한다(S1027, S2031). The extension WebRTC server 107 transmits a 200 OK message for each of the req-disconnect messages received in S1025 and S1029 to the IP-PBX 103 (S1027, S2031).

IP-PBX(103)는 상담원 단말 A(123)의 호를 종료시키는 동안 상담원 단말 B(123)의 호를 유지시키기 위해 내선 WebRTC 서버(107)에게 IP-PBX(103)의 SDP를 포함하는 reINVITE 메시지를 전송한다(S1033).The IP-PBX 103 reINVITE including the SDP of the IP-PBX 103 to the extension WebRTC server 107 to maintain the call of the agent terminal B 123 while terminating the call of the agent terminal A 123 The message is transmitted (S1033).

reINVITE 메시지는 고객측 세션을 재협상하는 일련의 과정 사이(S1049 단계 ~ S1055 단계)에 기존에 상담원 단말 A(123)과 통화(이미 끊어진 통화) 중 이었던 상담원 단말 B(123)의 미디어가 끊어지지 않도록 일시적으로 연결해주기 위함 이다.The reINVITE message prevents the media of agent terminal B 123 from being previously in a call (already disconnected) with agent terminal A 123 between a series of processes of renegotiating the customer's session (steps S1049 to S1055). This is to temporarily connect.

내선 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 extension WebRTC server 107 can immediately send a 200OK message to the IP-PBX 103 according to the negotiation conditions (S1039). Alternatively, when an event-recall message is transmitted to the agent terminal B 123 (S1035) and a req-answer message is received (S1037), a 200OK message may be transmitted to the IP-PBX 103 (S1039).

IP-PBX(103)는 ACK 메시지를 내선 WebRTC 서버(107)에게 전송한다(S1041). IP-PBX 103 transmits an ACK message to the extension WebRTC server 107 (S1041).

내선 WebRTC 서버(107)는 event-reconnected를 상담원 단말 B(123)에게 전송한다(S1043). The extension WebRTC server 107 transmits event-reconnected to the agent terminal B 123 (S1043).

IP-PBX(103)는 UDP/RTP 및 STRUN/DTLS/RTP를 통해 상담원 단말 B(123)에게 대기음을 송출한다(S1045, S1047).The IP-PBX 103 transmits a waiting sound to the agent terminal B 123 through UDP/RTP and STRUN/DTLS/RTP (S1045, S1047).

IP-PBX(103)는 상담원 단말 A(123)와의 호가 종료되면, 고객 WebRTC 단말(303)과 상담원 단말 B(123)간의 연결을 위해서 국선 WebRTC 서버(109)에게 No SDP INVITE 메시지를 전송한다(S1049). When the call with the agent terminal A 123 ends, the IP-PBX 103 sends a No SDP INVITE message to the trunk line WebRTC server 109 for connection between the customer WebRTC terminal 303 and the agent terminal B 123 ( S1049).

국선 WebRTC 서버(109)는 고객 WebRTC 단말(303)에게 event-recall 메시지를 전송한다(S1051). 고객 WebRTC 단말(303)은 req-answer 메시지를 국선 WebRTC 서버(109)에게 전송한다(S1053). The trunk line WebRTC server 109 transmits an event-recall message to the customer WebRTC terminal 303 (S1051). The customer WebRTC terminal 303 transmits a req-answer message to the trunk line WebRTC server 109 (S1053).

국선 WebRTC 서버(109)는 IP-PBX(103)에게 200 OK 메시지를 전송한다(S1055). The trunk line WebRTC server 109 transmits a 200 OK message to the IP-PBX 103 (S1055).

IP-PBX(103)는 내선 WebRTC 서버(107)에게 reINVITE 메시지를 전송한다(S1057). IP-PBX 103 transmits a reINVITE message to the extension WebRTC server 107 (S1057).

내선 WebRTC 서버(107)는 상담원 단말 B(123)에게 event-recall 메시지를 전송한다(S1059). 그리고 상담원 단말 B(123)로부터 req-answer 메시지를 수신한다(S1061). The extension WebRTC server 107 transmits an event-recall message to the agent terminal B 123 (S1059). Then, the req-answer message is received from the agent terminal B 123 (S1061).

내선 WebRTC 서버(107)는 200 OK 메시지를 IP-PBX(103)에게 전송한다(S1063).The extension WebRTC server 107 transmits a 200 OK message to the IP-PBX 103 (S1063).

IP-PBX(103)는 국선 WebRTC 서버(109)에게 ACK 메시지를 전송한다(S1065). The IP-PBX 103 transmits an ACK message to the trunk line WebRTC server 109 (S1065).

국선 WebRTC 서버(109)는 고객 WebRTC 단말(303)에게 event-reconnected 메시지를 전송한다(S1067). The trunk line WebRTC server 109 transmits an event-reconnected message to the customer WebRTC terminal 303 (S1067).

또한, IP-PBX(103)는 내선 WebRTC 서버(107)에게 ACK 메시지를 전송한다(S1069). 내선 WebRTC 서버(107)는 상담원 단말 B(123)에게 event-reconnected 메시지를 전송한다(S1071). In addition, the IP-PBX 103 transmits an ACK message to the extension WebRTC server 107 (S1069). The extension WebRTC server 107 transmits an event-reconnected message to the agent terminal B 123 (S1071).

고객 WebRTC 단말(303)은 국선 WebRTC 서버(109)와 STUN/ DTLS/SRTP 통신(S1073)을 하고, 상담원 단말 B(123)은 내선 WebRTC 서버(107)와 STUN/ DTLS/SRTP 통신(S1075)을 하고, 국선 WebRTC 서버(109)와 내선 WebRTC 서버(107)는 UDP/RTP 통신을 한다(S1077).The customer WebRTC terminal 303 performs STUN/DTLS/SRTP communication with the trunk line WebRTC server 109 (S1073), and the agent terminal B 123 communicates with the extension WebRTC server 107 and STUN/DTLS/SRTP communication (S1075). Then, the trunk line WebRTC server 109 and the extension WebRTC server 107 perform UDP/RTP communication (S1077).

S1065 단계 및 S1069 단계 이후, 고객 WebRTC 단말(303)와 상담원 단말 B(123) 간에 통화가 이루어진다. After steps S1065 and S1069, a call is made between the customer WebRTC terminal 303 and the agent terminal B 123.

도 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 agent terminal A 123 is started in a state in communication with the customer WebRTC terminal 303.

도 12를 참조하면, 상담원 단말(123)이 새로운 세션을 생성하고자 할 경우, 상담원 단말 A(123)이 내선 WebRTC 서버(107)에게 req-newcall을 전송한다(S1101).Referring to FIG. 12, when the agent terminal 123 wants to create a new session, the agent terminal A 123 transmits a req-newcall to the extension WebRTC server 107 (S1101).

이때, 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 agent terminal A 123 transmits a req-recall in which the media mode is changed to sendonly or inactive to the extension WebRTC server 107.

내선 WebRTC 서버(107)는 sendonly 또는 inactive를 포함한 reINVITE를 IP-PBX(103)에게 전송한다(S1103).The extension WebRTC server 107 transmits reINVITE including sendonly or inactive to the IP-PBX 103 (S1103).

IP-PBX(103)는 IP-PBX(103)의 SDP를 포함하는 reINVITE를 국선 WebRTC 서버(109)에게 전송한다(S1105). IP-PBX 103 transmits reINVITE including SDP of IP-PBX 103 to trunk line WebRTC server 109 (S1105).

국선 WebRTC 서버(109)는 고객 WebRTC 단말(303)에게 event-recall을 전송한다(S1107).The trunk line WebRTC server 109 transmits an event-recall to the customer WebRTC terminal 303 (S1107).

고객 WebRTC 단말(303)은 국선 WebRTC 서버(109)에게 req-answer을 전송한다(S1109).The customer WebRTC terminal 303 transmits the req-answer to the trunk line WebRTC server 109 (S1109).

국선 WebRTC 서버(109)는 IP-PBX(103)에게 200 OK 메시지를 전송한다(S1111). The trunk line WebRTC server 109 transmits a 200 OK message to the IP-PBX 103 (S1111).

IP-PBX(103)는 국선 WebRTC 서버(109)에게 ACK 메시지를 전송한다(S1113). The IP-PBX 103 transmits an ACK message to the trunk line WebRTC server 109 (S1113).

국선 WebRTC 서버(109)는 고객 WebRTC 단말(303)에게 event-reconnected 메시지를 전송한다(S1115). The trunk line WebRTC server 109 transmits an event-reconnected message to the customer WebRTC terminal 303 (S1115).

고객 WebRTC 단말(303)는 국선 WebRTC 서버(109)와 STUN/DTLS/RTP 통신을 하고(S1117), 국선 WebRTC 서버(109)는 IP-PBX(103)와 UDP/RTP 통신을 한다(S1119). The customer WebRTC terminal 303 performs STUN/DTLS/RTP communication with the trunk line WebRTC server 109 (S1117), and the trunk line WebRTC server 109 performs UDP/RTP communication with the IP-PBX 103 (S1119).

이때, 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 customer WebRTC terminal 303.

S1101 단계 ~ S1119 단계를 통해 상담원 단말 A(123)은 고객 WebRTC 단말(303)과의 통화 세션을 홀드한다. Through steps S1101 to S1119, the agent terminal A 123 holds a call session with the customer WebRTC terminal 303.

이어서, IP-PBX(103)는 내선 WebRTC 서버(107)에게 200 OK 메시지를 전송한다(S1121). Subsequently, the IP-PBX 103 transmits a 200 OK message to the extension WebRTC server 107 (S1121).

내선 WebRTC 서버(107)는 상담원 단말 A(123)에게 event-answer 메시지를 전송한다(S1123).The extension WebRTC server 107 transmits an event-answer message to the agent terminal A 123 (S1123).

상담원 단말 A(123)는 req-reconnect를 내선 WebRTC 서버(107)에게 전송한다(S1125). The agent terminal A 123 transmits req-reconnect to the extension WebRTC server 107 (S1125).

내선 WebRTC 서버(107)는 ACK 메시지를 IP-PBX(103)에게 전송한다(S1127). The extension WebRTC server 107 transmits an ACK message to the IP-PBX 103 (S1127).

상담원 단말 A(123)은 S1125 단계 이후, 내선 WebRTC 서버(107)에게 호 전환을 요청하는 req-refer 메시지를 전송한다(S1129). 이때, req-refer 메시지는 전환할 대상의 착신번호, 즉, 상담원 단말 B(123)의 DN을 포함한다.After the step S1125, the agent terminal A 123 transmits a req-refer message requesting the call transfer to the extension WebRTC server 107 (S1129). At this time, the req-refer message includes the destination number of the object to be switched, that is, the DN of the agent terminal B 123.

내선 WebRTC 서버(107)는 IP-PBX(103)에게 전환 메시지(REFER)를 전송한다(S1131). The extension WebRTC server 107 transmits a conversion message (REFER) to the IP-PBX 103 (S1131).

IP-PBX(103)는 내선 WebRTC 서버(107)에게 202 Accepted 메시지를 전송한다(S1133). 내선 WebRTC 서버(107)는 rsp-referred 메시지를 상담원 단말 B(123)로 전송한다(S1135). The IP-PBX 103 transmits a 202 Accepted message to the extension WebRTC server 107 (S1133). The extension WebRTC server 107 transmits the rsp-referred message to the agent terminal B 123 (S1135).

또한, 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 extension WebRTC server 107 transmits an event-notify (refer) message to the agent terminal A 123 (S1139).

상담원 단말 A(123)는 ack-notified(refer) 메시지를 내선 WebRTC 서버(107)로 전송한다(S1141). 내선 WebRTC 서버(107)는 IP-PBX(103)에게 200 OK 메시지를 전송한다(S1143). The agent terminal A 123 transmits an ack-notified (refer) message to the extension WebRTC server 107 (S1141). The extension WebRTC server 107 transmits a 200 OK message to the IP-PBX 103 (S1143).

IP-PBX(103)는 상담원 단말 A(123)의 호를 종료하기 위해 내선 WebRTC 서버(107)에게 BYE 메시지를 전송하여 상담원 단말 A(123)에 연결된 호의 종료를 요청한다(S1145). The IP-PBX 103 sends a BYE message to the extension WebRTC server 107 to end the call of the agent terminal A 123 and requests termination of the call connected to the agent terminal A 123 (S1145).

내선 WebRTC 서버(107)는 호 종료를 요청하는 event-endcall 메시지를 상담원 단말 A(123)에게 전송한다(S1147). The extension WebRTC server 107 transmits an event-endcall message requesting termination of the call to the agent terminal A 123 (S1147).

상담원 단말 A(123)는 호 세션을 종료하는 req-disconnect 메시지를 내선 WebRTC 서버(107)에게 전송(S1149)한다.The agent terminal A 123 transmits a req-disconnect message ending the call session to the extension WebRTC server 107 (S1149).

내선 WebRTC 서버(107)는 200 OK 메시지를 IP-PBX(103)에게 전송한다(S1151). The extension WebRTC server 107 transmits a 200 OK message to the IP-PBX 103 (S1151).

IP-PBX(103)는 내선 WebRTC 서버(107)에게 INVITE 메시지를 전송한다(S1153).The IP-PBX 103 transmits an INVITE message to the extension WebRTC server 107 (S1153).

내선 WebRTC 서버(107)는 상담원 단말 B(123)에게 event-newcall 메시지를 전송(S1155)해서 req-answer 메시지를 수신(S1157)하면 200 OK 메시지를 IP-PBX(103)로 전송할 수 있다(S1159).When the extension WebRTC server 107 transmits an event-newcall message to the agent terminal B 123 (S1155) and receives the req-answer message (S1157), the 200 OK message can be transmitted to the IP-PBX 103 (S1159). ).

IP-PBX(103)는 reINVITE 메시지를 국선 WebRTC 서버(109)에게 전송한다(S1161). 국선 WebRTC 서버(109)는 고객 WebRTC 단말(303)에게 event-recall 메시지를 전송한다(S1163). IP-PBX 103 transmits the reINVITE message to the trunk line WebRTC server 109 (S1161). The trunk line WebRTC server 109 transmits an event-recall message to the customer WebRTC terminal 303 (S1163).

고객 WebRTC 단말(303)은 req-answer 메시지를 국선 WebRTC 서버(109)에게 전송한다(S1165). The customer WebRTC terminal 303 transmits a req-answer message to the trunk line WebRTC server 109 (S1165).

국선 WebRTC 서버(109)는 IP-PBX(103)에게 200 OK 메시지를 전송한다(S1167). The trunk line WebRTC server 109 transmits a 200 OK message to the IP-PBX 103 (S1167).

IP-PBX(103)는 내선 WebRTC 서버(107)에게 ACK 메시지를 전송한다(S1169).IP-PBX 103 transmits an ACK message to the extension WebRTC server 107 (S1169).

내선 WebRTC 서버(107)는 상담원 단말 B(123)에게 event-connected 메시지를 전송한다(S1171). The extension WebRTC server 107 transmits an event-connected message to the agent terminal B 123 (S1171).

또한, IP-PBX(103)는 국선 WebRTC 서버(109)에게 ACK 메시지를 전송한다(S1173). 국선 WebRTC 서버(109)는 고객 WebRTC 단말(303)에게 event-connected 메시지를 전송한다(S1175). In addition, the IP-PBX 103 transmits an ACK message to the trunk line WebRTC server 109 (S1173). The trunk line WebRTC server 109 transmits an event-connected message to the customer WebRTC terminal 303 (S1175).

고객 WebRTC 단말(303)은 국선 WebRTC 서버(109)와 STUN/ DTLS/SRTP 통신(S1177)을 하고, 상담원 단말 B(123)은 내선 WebRTC 서버(107)와 STUN/ DTLS/SRTP 통신(S1179)을 하고, 국선 WebRTC 서버(109)와 내선 WebRTC 서버(107)는 UDP/RTP 통신을 한다(S1181).The customer WebRTC terminal 303 performs STUN/DTLS/SRTP communication with the trunk line WebRTC server 109 (S1177), and the agent terminal B 123 communicates with the extension WebRTC server 107 and STUN/DTLS/SRTP communication (S1179). Then, the trunk line WebRTC server 109 and the extension WebRTC server 107 perform UDP/RTP communication (S1181).

이후, 고객 WebRTC 단말(303)와 상담원 단말 B(123) 간에 통화가 이루어진다. Thereafter, a call is made between the customer WebRTC terminal 303 and the agent terminal B 123.

또한, 도 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 agent terminal 123 using the Android OS is illustrated.

푸쉬 서버(119)와 푸쉬 알림 전송 장치(121)는 웹소켓 접속된다(S1201).The push server 119 and the push notification transmission device 121 are connected to a web socket (S1201).

상담원 단말(123)은 전용 앱을 설치한 후, 푸쉬 알림 전송 장치(121)에게 Push Token을 요청한다(S1203). 여기서, Push Token은 푸쉬 알림 전송 장치(121)가 상담원 단말(123)을 인식할 수 있는 유일한 키값이다. Push Token은 푸쉬 알림 전송 장치(121)가 푸쉬 메시지를 상담원 단말(123)에게 전송할 때, 함께 전송된다.After installing the dedicated app, the agent terminal 123 requests the Push Token from the push notification transmission device 121 (S1203). Here, the Push Token is the only key value that the push notification transmission device 121 can recognize the agent terminal 123. Push Token is transmitted when the push notification transmission device 121 transmits a push message to the agent terminal 123.

상담원 단말(123)은 푸쉬 알림 전송 장치(121)로부터 Push Token을 수신한다(S1205).The agent terminal 123 receives the Push Token from the push notification transmission device 121 (S1205).

상담원 단말(123)은 푸쉬 서버(119)에게 S1205 단계에서 수신한 Push Token 을 전송한다(S1207).The agent terminal 123 transmits the Push Token received in step S1205 to the push server 119 (S1207).

IP-PBX(103)는 상담원 분배가 완료되면, 푸쉬 서버(119)에게 분배된 상담원 단말(123)과 통화 연결을 위한 RESTful API Request를 전송한다(S1209). RESTful API Request는 요청 데이터 및 상담사 정보를 포함할 수 있다.When the agent-distribution is completed, the IP-PBX 103 transmits a RESTful API Request for a call connection with the agent terminal 123 distributed to the push server 119 (S1209). RESTful API Request may include request data and agent information.

푸쉬 서버(119)는 푸쉬 알림 전송 장치(121)에게 IP-PBX(103)로부터 제공받은 요청 데이터 및 상담사 정보와, S1207 단계에서 수신한 Push Token을 포함하는 푸쉬 메시지를 전송한다(S1211).The push server 119 transmits the push message including the request data and the counselor information provided from the IP-PBX 103 to the push notification transmission device 121 and the push token received in step S1207 (S1211).

푸쉬 알림 전송 장치(121)는 S1211 단계에서 수신한 푸쉬 메시지를 포함하는 통지 메시지(Push Notification)를 상담원 단말(123)에게 전송한다(S1215). The push notification transmission device 121 transmits a push message including the push message received in step S1211 to the agent terminal 123 (S1215).

상담원 단말(123)은 ACK/NACK 메시지를 푸쉬 알림 전송 장치(121)에게 전송(S1217)하고, 푸쉬 알림 전송 장치(121)는 ACK/NACK 메시지를 푸쉬 서버(119)에게 전송한다(S1219). 여기서, ACK 메시지는 푸쉬 메시지의 수락 메시지이고, NACK 메시지는 푸쉬 메시지의 거절 메시지이다.The agent terminal 123 transmits an ACK/NACK message to the push notification transmission device 121 (S1217), and the push notification transmission device 121 transmits an ACK/NACK message to the push server 119 (S1219). Here, the ACK message is an acceptance message of the push message, and the NACK message is a rejection message of the push message.

도 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 agent terminal 123 using iOS is illustrated.

상담원 단말(123)은 전용 앱을 설치한 후, 푸쉬 알림 전송 장치(121)에게 Device Token을 요청한다(S1301). 여기서, Device Token은 푸쉬 알림 전송 장치(121)가 상담원 단말(123)을 인식할 수 있는 유일한 키값이다. Device Token은 푸쉬 알림 전송 장치(121)가 푸쉬 메시지를 상담원 단말(123)에게 전송할 때, 함께 전송된다.After installing the dedicated app, the agent terminal 123 requests a device token from the push notification transmission device 121 (S1301). Here, the device token is the only key value that the push notification transmission device 121 can recognize the agent terminal 123. The Device Token is transmitted when the push notification transmission device 121 transmits a push message to the agent terminal 123.

상담원 단말(123)은 푸쉬 알림 전송 장치(121)로부터 Device Token을 수신한다(S1303).The agent terminal 123 receives the Device Token from the push notification transmission device 121 (S1303).

상담원 단말(123)은 푸쉬 서버(119)에게 S1303 단계에서 수신한 Device Token을 전송한다(S1305).The agent terminal 123 transmits the device token received in step S1303 to the push server 119 (S1305).

IP-PBX(103)는 상담원 분배가 완료되면, 푸쉬 서버(119)에게 분배된 상담원 단말(123)과 통화 연결을 위한 RESTful API Request를 전송한다(S1307). RESTful API Request는 요청 데이터 및 상담사 정보를 포함할 수 있다.When the agent-distribution is completed, the IP-PBX 103 transmits a RESTful API Request for a call connection with the agent terminal 123 distributed to the push server 119 (S1307). RESTful API Request may include request data and agent information.

푸쉬 서버(119)는 푸쉬 알림 전송 장치(121)와 웹 소켓 접속을 한다(S1309).The push server 119 makes a web socket connection with the push notification transmission device 121 (S1309).

푸쉬 서버(119)는 푸쉬 알림 전송 장치(121)에게 IP-PBX(103)로부터 제공받은 요청 데이터 및 상담사 정보와, S1305 단계에서 수신한 Device Token을 포함하는 푸쉬 메시지를 전송한다(S1311).The push server 119 transmits the push message including the request data and the counselor information provided from the IP-PBX 103 to the push notification transmission device 121 and the device token received in step S1305 (S1311).

푸쉬 알림 전송 장치(121)는 푸쉬 서버(119)에게 응답 메시지를 전송한다(S1313). 그리고 S1311 단계에서 수신한 푸쉬 메시지를 포함하는 통지 메시지(Push Notification)를 상담원 단말(123)에게 전송한다(S1315). The push notification transmission device 121 transmits a response message to the push server 119 (S1313). Then, a notification message (Push Notification) including the push message received in step S1311 is transmitted to the agent terminal 123 (S1315).

푸쉬 알림 전송 장치(121)는 S1309 단계에서의 웹소켓 접속을 해제한다(S1317). 그리고 IP-PBX(103)에게 RESTful API Response를 전송한다(S1319).The push notification transmission device 121 releases the web socket connection in step S1309 (S1317). Then, the RESTful API Response is transmitted to the IP-PBX 103 (S1319).

도 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 counselor terminal 123 can provide services and functions necessary for various phone interactions and consultations with only a softphone-based dedicated app to proceed with the service. The function may be as shown in Table 1 below.

상담사 상태 설정 - 대기, 휴식, 후처리, 다이얼패드, 로그아웃Agent status setting-standby, rest, post-processing, dial pad, logout 실시간 고객 대기 현황Real-time customer waiting status 실시간 고객 응대 현황Real-time customer response status 실시간 일별 콜인입/응대 추이Real-time daily call in/response trend 상담사 실시간 현황 - 통화중, 휴식, 대기, 후처리Real-time status of counselors-During call, rest, waiting, post-processing 상담사 일별 통계Daily statistics 호처리 통계Call processing statistics 수/발신 상담 이력Receiving/Sending Counseling History 콜백 관리Callback management 더보기 : 설정, 공지사항See more: Settings, Notice

한편, 도 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 call center system 100 described with reference to FIGS.

도 16를 참조하면, 콜센터 시스템(100)은 적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치(400)에서 본 발명의 동작을 실행하도록 기술된 명령들(instructions)이 포함된 프로그램을 실행할 수 있다. Referring to FIG. 16, the call center system 100 may execute a program including instructions described to execute an operation of the present invention on a computing device 400 operated by at least one processor.

컴퓨팅 장치(400)의 하드웨어는 적어도 하나의 프로세서(401), 메모리(403), 스토리지(405), 통신 인터페이스(407)를 포함할 수 있고, 버스(bus)를 통해 연결될 수 있다. 이외에도 입력 장치 및 출력 장치 등의 하드웨어가 포함될 수 있다. 컴퓨팅 장치(400)는 프로그램을 구동할 수 있는 운영 체제(Operating System, OS)를 비롯한 각종 소프트웨어가 탑재될 수 있다.The hardware of the computing device 400 may include at least one processor 401, a memory 403, a storage 405, a communication interface 407, and may be connected through a bus. In addition, hardware such as an input device and an output device may be included. The computing device 400 may be equipped with various software, including an operating system (OS) capable of driving a program.

프로세서(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 processor 401 is a device that controls the operation of the computing device 400, and may be various types of processors that process instructions included in a program. For example, the CPU (Central Processing Unit), MPU (Micro Processor Unit) ), MCU (Micro Controller Unit), GPU (Graphic Processing Unit). The memory 403 can load the corresponding program so that instructions described to execute the operations of the present invention are processed by the processor 401. The memory 403 may be, for example, read only memory (ROM), random access memory (RAM), or the like. The storage 405 may store various data, programs, and the like required to perform the operation of the present invention. The communication interface 407 may be a wired/wireless communication module.

이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.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)

컴퓨팅 장치가 WebRTC(Web Real-Time Communications) 통신을 이용한 콜센터 서비스를 제공하는 방법으로서,
고객 단말의 호 연결을 요청하는 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.
제1항에서,
상기 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.
제2항에서,
상기 수신하는 단계 이전에,
상기 상담원 단말로부터 가입자 전화번호가 포함된 등록 요청 메시지를 수신하는 단게, 그리고
상기 등록 요청 메시지를 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.
제3항에서,
상기 상담원 단말은 웹 단말을 포함하고,
상기 등록 요청 메시지는,
상기 고객 단말로부터 호 연결 요청 메시지를 수신하기 전에 상기 상담원 단말로부터 수신되는, 방법.
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.
제3항에서,
상기 상담원 단말은 모바일 단말을 포함하고,
상기 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.
제1항에서,
상기 고객 단말로부터 수신한 호 연결 요청 메시지는,
콜센터 대표 전화번호를 포함하고,
상기 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.
제1항에서,
상기 고객 단말로부터 수신한 호 연결 요청 메시지는,
특정 상담원 단말의 전화번호를 포함하고,
상기 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항에서,
상기 중계하는 단계 이후,
제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.
제8항에서,
상기 홀드하는 단계와 상기 세션을 생성하는 단계 사이에,
상기 제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.
제10항에서,
상기 프로그램은,
전화망을 통해 상기 고객 단말이 전송한 호 연결 요청 메시지를 상기 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.
제10항에서,
상기 프로그램은,
상기 고객 단말 및 상기 상담원 단말과 웹 소켓으로 연결한 후, 상기 고객 단말 및 상기 상담원 단말로부터 수신한 토큰 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.
제10항에서,
상기 프로그램은,
제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.
제10항에서,
상기 프로그램은,
상기 상담원 단말에서 실행된 전용 앱과 통신하는 명령어들을 포함하고,
상기 전용 앱은,
수신 이력, 발신 이력, 상담 내역 관리, 녹음 청취, 모니터링 및 통계 중 적어도 하나를 포함하는 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.
KR1020200009900A 2019-01-24 2020-01-28 Metho and apparstus for providing for call center service KR102240904B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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