Voice Conference
Voice Conference
여러 명이 동시에 통화하는 컨퍼런스 콜을 앱에 넣고 싶다면, Twilio Voice Conference를 쓰면 돼요. 2명부터 250명까지 참여하는 다자간 음성 통화를 관리하는 유연한 제품이에요. 착신 콜센터, 발신 다이얼러, 통화 추적 같은 시나리오에 맞춰 참가자를 대기시키고, 음소거하고, 보류하고, 제거하는 일을 코드로 제어할 수 있어요.
컨퍼런스 만들기
참가자는 PSTN, SIP, Twilio Voice Client를 통해 컨퍼런스에 다이얼인할 수 있어요. 컨퍼런스를 만드는 방법은 두 가지예요.
- 들어오는 통화를 처리할 때 TwiML의
<Conference>명사를 사용하는 방법. - 이름이 있는 컨퍼런스에 참가자를 추가하는 Create Participant API를 호출하는 방법.
컨퍼런스는 첫 번째 참가자가 연결되는 순간 생성돼요. 이때 참가자는 대기 상태가 되어 대기음(hold music)을 듣게 돼요. 중재자(moderator)가 설정된 컨퍼런스라면 중재자가 들어올 때까지 시작되지 않고 모두 대기음을 들어요. 중재자가 없다면 두 번째 참가자가 들어올 때 컨퍼런스가 시작되고, 참가자들이 서로의 목소리를 들을 수 있게 돼요. 설정에 따라 컨퍼런스가 시작될 때부터 녹음이 될 수도 있어요.
컨퍼런스의 수명주기와 종료
진행 중인 컨퍼런스에서 참가자를 보류(hold)하거나 음소거(mute)할 수 있고, 추가 참가자가 들어오거나 떠날 수 있어요. 참가자에게 안내음을 재생할 수도 있고, 필요하면 프로그래밍 방식으로 참가자를 제거할 수도 있어요.
컨퍼런스가 끝나는 세 가지 경우는 다음과 같아요.
- Update Conference API로 컨퍼런스 상태를
Completed로 설정한 경우. - 모든 참가자가 컨퍼런스를 떠난 경우.
- 중재자가 컨퍼런스를 떠나거나 연결이 끊긴 경우.
컨퍼런스·참가자 관리 리소스
개발자가 컨퍼런스와 참가자를 관리하는 리소스는 두 가지예요.
- Conference resource — 컨퍼런스 자체의 속성.
- Participant resource — 각 참가자의 속성.
이 리소스들의 속성은 REST API로 조회(fetch)·수정(update)할 수 있어요. 또 Conference 웹훅(statusCallbackEvent)을 설정하면 컨퍼런스와 참가자 관련 상태 이벤트를 받을 수 있어요.
핵심 기능
- Announcements(비프/음악) — 새 참가자가 들어올 때 비프(beep)음을 울리도록 설정할 수 있고, 컨퍼런스 시작 후 원하는 시점에 개발자가 정의한 안내음을 재생할 수 있어요.
- 참가자 관리(Hold / Mute / Remove) — 보류된 참가자는 개발자가 정의한 대기음만 듣고 다른 참가자를 듣지 못해요. 음소거된 참가자는 다른 사람이 못 듣지만 본인은 들을 수 있어요. 어떤 참가자든 컨퍼런스에서 제거할 수 있어요.
- 컨퍼런스 녹음 — 컨퍼런스 시작 시점부터 전체 참가자를 녹음할 수 있어요.
- 전환(Warm & Cold Transfer) — 참가자가 두 명일 때 통화 전환을 관리하는 데 쓸 수 있어요. 웜 전환은 새 참가자를 추가한 뒤 세 사람이 얘기하고 기존 참가자가 나가고, 콜드 전환은 새 참가자가 응답하기 전에 기존 참가자가 먼저 나가요.
- 참가자 코칭(Monitor & Whisper) — 참가자가 감독(monitor) 역할을 맡아 음소거 상태로 들어와 듣기만 하거나, 코치(coach)로 참가해 다른 참가자가 못 듣는 가운데 특정 참가자에게만 귓속말(whisper)할 수 있어요.