Twilio Voice

Twilio Voice

Twilio Voice(공식 명칭 Programmable Voice)는 애플리케이션 안에서 전화 통화를 손쉽게 걸고 받을 수 있게 해주는 클라우드 음성 통화 플랫폼이에요. 별도의 전화 장비나 통신 인프라 없이 Twilio가 내주는 전화번호와 SDK, TwiML 문서를 사용해서 며칠 안에 통화 기능을 붙일 수 있어요. 문서, 코드 샘플, SDK, 개발자 도구까지 모두 제공하니까 규모에 상관없이 누구나 바로 시작해요.

출처: 문서

본문

핵심 기능

Twilio Voice가 제공하는 주요 기능은 아래와 같아요.

전화 통화 (Voice calls)

  • 애플리케이션에서 전화를 걸고 받는 것이 핵심이에요. 사용자에게 중요한 업데이트를 알리는 알림 전화, 비상 기상 상황 안내 등에 활용할 수 있어요.
  • Notifications: 고객에게 전화를 걸어 중요한 업데이트(예: 비상 기상 휴무 공지)를 알리는 예시.
  • Self-service automation: 고객이 키패드로 숫자를 눌러 예약을 확인·취소·변경하는 안내.
  • Inbound call center: 사람이 직접 받지 않아도 착신 전화에 응답하고, 입력을 수집하고, 통화를 녹음하고, 결제까지 처리하는 콜센터.
  • Outbound call center / Sales dialer / Call tracking / PSTN connectivity 등 다양한 사용 사례도 지원해요.

Programmable Voice

  • 통화를 만들고 관리하는 Voice API를 제공해요. Calls, Recordings, Transcriptions, Conferences, Queues, OutgoingCallerIds, SIP 관련 리소스 등을 REST API로 제어할 수 있어요.
  • Voice SDK는 Android, iOS, JavaScript, React Native를 지원하며, WebRTC 기반으로 앱 안에 직접 통화 기능을 내장할 수 있어요.

TwiML (Twilio Markup Language)

  • Twilio가 전화 흐름을 제어할 때 쓰는 XML 기반 마크업 언어예요. <Say>, <Gather>, <Dial>, <Conference>, <Record>, <Stream> 등 다양한 동사(verb)를 조합해서 통화 동작을 정의해요.
  • 예를 들어 <Say>는 음성 안내를 재생하고, <Gather>는 사용자 키패드 입력을 받고, <Stream>은 실시간 오디오를 스트리밍해요.

AI/음성봇 연동

  • AI/ML transcription: 실시간 또는 녹음된 오디오를 검색 가능한 텍스트로 변환해서 회의 요약이나 고객 감성 분석에 활용해요.
  • AI agents: 부킹 등 작업을 처리하는 자연스러운 양방향 대화를 처리하는 대화형 어시스턴트를 배포할 수 있어요.
  • Conversation Relay를 통해 대화 내용을 애플리케이션으로 중계하고, <ConversationRelay><VirtualAgent> 같은 고급 컨트롤도 지원해요.

사용 예시 (첫 번째 통화 걸기)

Flask와 Python을 사용해서 가장 간단한 첫 통화를 구현하는 예시예요. Twilio가 전화를 걸면 지정한 URL로 요청을 보내고, 아래 함수가 반환하는 TwiML로 통화 내용을 제어해요.

from flask import Flask
from twilio.twiml.voice_response import VoiceResponse

app = Flask(__name__)

@app.route("/answer", methods=['GET', 'POST'])
def answer_call():
    resp = VoiceResponse()
    resp.say("Twilio's always there when you call!")
    return str(resp)

if __name__ == "__main__":
    app.run()

전체 흐름은 ① Twilio 서버 → ② 사용자 앱(위 Flask 코드) → ③ Twilio가 사용자에게 음성 안내("Twilio's always there when you call!")를 재생하는 3단계로 동작해요.

더 알아두면 좋은 것들

  • Voice Insights: 통화 품질과 지표를 분석하는 보고/인사이트 API예요. Call/Conference Insights, Reports API를 제공해요.
  • SIP API / BYOC (Bring Your Own Carrier): 기존 통신사 인프라를 연결하거나 직접 만든 전화 게이트웨이를 쓸 수 있어요.
  • 전통적인 PSTN 연결, 브랜드 통화(Branded Calling), 미디어 스트림(Media Streams) 기능도 지원해요.

더 알아보기 (Learn more)