AI Phone Gateway Live Call Demo

Continuous Web + Backend call

Start one continuous live call

한 번 연결하면 일반 전화처럼 계속 말할 수 있습니다. 브라우저는 마이크 오디오를 계속 게이트웨이로 스트리밍하고, 발화 종료 감지와 답변 생성은 live backend가 처리합니다.

Secret은 URL, query, 브라우저 저장소에 저장하지 않고 WebSocket subprotocol 헤더로만 전달합니다. raw caller ID도 보내지 않습니다.

Backend WebSocket

Disconnected

브라우저는 Authorization 헤더를 설정할 수 없어 ai-phone-gateway.demo + bearer.<base64url-secret> subprotocol로 인증합니다.

Speech
0 frames
Gated
0 frames
Outbound
0 frames
Latest latency
--
Turns
0

Voice cloning lab

Not loaded

10~20초 정도의 깨끗한 WAV 또는 M4A reference audio와 실제 발화 transcript를 업로드하면 Baseten에 named cloned voice를 등록하고, 선택한 voice로 live call 답변 음성을 테스트합니다.

Input (mic)

0%Level
Idle
00:00:00

Start live call을 누르면 마이크 권한 요청 후 같은 연결에서 계속 음성을 스트리밍합니다.

gateway-backend-stream
8kHz G.711 μ-lawDisconnected

Microphone access

허용 전

마이크 권한은 Start live call을 누를 때만 요청됩니다.

Response monitoring

Response latency log

각 발화 턴마다 backend가 보내는 call.stats를 누적해 답변 음성이 생성되어 처음 들리기까지의 시간을 확인합니다.

    1. Continuous mic stream

    • 한 번 연결하면 End call 전까지 마이크 프레임을 계속 전송
    • 브라우저 입력을 8kHz G.711 μ-law 프레임으로 변환
    • 낮은 RMS 노이즈는 frontend noise gate에서 무음으로 치환 후 backend VAD가 발화 종료를 판단

    2. Backend answer audio

    • 같은 media WebSocket에서 backend outbound audio를 즉시 재생
    • barge-in audio.clear 수신 시 예약 재생 큐를 비움
    • mock/live 모드 모두 같은 protocol로 검증

    3. Turn latency visibility

    • first_stt_partial_ms, first_stt_transcript_ms 확인
    • first_text_delta_ms, first_tts_audio_ms 확인
    • first_outbound_audio_ms로 총 응답 체감 시간을 추적