본문 바로가기

카테고리 없음

AI 콜센터 상담원 구축 가이드 (PoC 버전)

1. 프로젝트 목표

목표

고객이 일반 전화로 문의하면 AI가 음성으로 응대하고, 필요한 경우 실제 상담원에게 연결하는 AI 콜센터 구축

MVP 범위

  • 대표번호 전화 수신
  • AI 음성 안내
  • FAQ 응답
  • 상담원 연결
  • 통화 녹취
  • 상담 이력 저장

2. 전체 아키텍처

고객 전화
    │
    ▼
SIP Trunk
    │
    ▼
FreePBX (Asterisk)
    │
    ▼
AI Gateway Server
    │
    ├── STT
    ├── LLM
    └── TTS
    │
    ▼
고객 응답

필요시

AI
 │
 ▼
상담원 내선 연결

3. 개발 단계

STEP 1. FreePBX 구축

목적

전화 교환기(PBX) 역할

서버 권장 사양

항목사양

CPU 2 Core
Memory 4GB
Disk 20GB
OS Ubuntu 22.04

✅ Ubuntu 기반 FreePBX 설치 방법

1. 시스템 업데이트

sudo apt update && sudo apt upgrade -y

2. 필수 패키지 설치

sudo apt install -y wget curl git build-essential apache2 mariadb-server mariadb-client \
bison flex php php-cli php-curl php-mysql php-xml php-mbstring php-zip php-gd php-intl \
sox libncurses5-dev libssl-dev libxml2-dev uuid-dev

3. Asterisk 설치

cd /usr/src
sudo wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-20-current.tar.gz
sudo tar zxvf asterisk-20-current.tar.gz
cd asterisk-20.*
sudo contrib/scripts/install_prereq install
sudo ./configure
sudo make menuselect
sudo make -j$(nproc)
sudo make install
sudo make samples
sudo make config
sudo ldconfig

4. Asterisk 실행

sudo systemctl start asterisk
sudo systemctl enable asterisk

5. FreePBX 설치

cd /usr/src
sudo wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-16.0-latest.tgz
sudo tar zxvf freepbx-16.0-latest.tgz
cd freepbx
sudo ./start_asterisk start
sudo ./install -n

6. 웹 접속

브라우저에서 접속:

http://서버IP

관리자 계정 생성 후 로그인


⚠️ Cloud Run에서 FreePBX 운영 가능 여부

결론: Cloud Run에서는 FreePBX 운영이 사실상 불가능합니다.

이유

  1. Cloud Run은 컨테이너 기반 서버리스 환경
    • 지속적인 프로세스 유지가 어려움
    • Asterisk는 항상 실행되는 데몬 구조 필요
  2. SIP / RTP 포트 제약
    • SIP (5060), RTP (10000~20000) 등 다수 포트 필요
    • Cloud Run은 HTTP/HTTPS 기반 단일 포트만 지원
  3. UDP 지원 제한
    • SIP/RTP는 UDP 기반
    • Cloud Run은 TCP 중심 구조
  4. 실시간 음성 처리 불리
    • 콜센터는 low-latency 필수
    • Cloud Run은 cold start 및 네트워크 지연 존재

✅ 권장 대안

1. GCP Compute Engine (추천)

  • FreePBX 설치 가능
  • SIP/RTP 포트 자유롭게 오픈 가능
  • 안정적인 실시간 통화 처리

2. AWS EC2

  • 동일하게 안정적인 PBX 운영 가능

3. 온프레미스 서버

  • 내부망 콜센터 구축 시 적합

✅ 권장 아키텍처 (Cloud Run 활용 방식)

Cloud Run은 AI 서버 용도로만 사용하는 것이 적합합니다.

고객 전화
    │
    ▼
SIP Trunk
    │
    ▼
FreePBX (GCP VM / EC2)
    │
    ▼
AI Gateway (Cloud Run)
    │
    ├── STT
    ├── LLM
    └── TTS
    │
    ▼
고객 응답

STEP 2. 내선 생성

예시

사용자내선

고객 테스트 1001
상담원 1002
AI 상담원 9000

STEP 3. Softphone 설치

추천 프로그램

  • MicroSIP
  • Zoiper
  • Linphone

테스트 구조

MicroSIP (1001)
      │
      ▼
 FreePBX
      │
      ▼
MicroSIP (1002)

성공 기준

1001 → 1002 통화 성공


STEP 4. IVR 구축

예시

안녕하세요.

AI 고객센터입니다.

AS 문의는 1번
제품 문의는 2번
상담원 연결은 0번

FreePBX 기능

  • IVR
  • Queue
  • Ring Group

기본 제공


STEP 5. AI 서버 구축

기술스택

영역기술

Backend FastAPI
STT Google STT / Whisper
LLM GPT / Gemini
TTS ElevenLabs / Google TTS
DB PostgreSQL

✅ Ubuntu 기반 AI 서버 설치 (FastAPI)

1. Python 설치

sudo apt install -y python3 python3-pip python3-venv

2. 프로젝트 생성

mkdir ai-callcenter
cd ai-callcenter
python3 -m venv venv
source venv/bin/activate

3. 패키지 설치

pip install fastapi uvicorn openai google-cloud-speech

4. 서버 실행

uvicorn main:app --host 0.0.0.0 --port 8000

STEP 6. 음성 처리 흐름

고객 음성
      │
      ▼
STT
      │
      ▼
텍스트
      │
      ▼
LLM
      │
      ▼
답변 생성
      │
      ▼
TTS
      │
      ▼
음성 반환

STEP 7. 상담원 연결 기능

예시

고객:

"상담원 연결해주세요"

AI:

"상담원에게 연결해드리겠습니다."

AI
 │
 ▼
Extension 1002

자동 연결


4. 초기 개발 순서

1주차

목표

전화 연결 성공

작업

  • VM 서버 준비 (Ubuntu 22.04)
  • FreePBX 설치
  • MicroSIP 설치
  • 내선 생성

결과

1001 ↔ 1002

통화 성공


2주차

목표

AI 연결

작업

  • FastAPI 구축 (Ubuntu 또는 Cloud Run)
  • STT 연동
  • Gemini 연동
  • TTS 연동

결과

전화
 ↓
AI 응답

구현


3주차

목표

상담원 연결

작업

  • Queue 생성
  • 상담원 연결 구현

결과

AI
 ↓
상담원

전환 성공


4주차

목표

실제 전화번호 연결

선택지

방법 1

Twilio 번호 구매

방법 2

KT SIP Trunk

방법 3

LG U+ SIP Trunk

방법 4

SKB SIP Trunk


5. 운영 화면

관리자 기능

통화 관리

  • 통화 이력
  • 녹취 조회
  • 통화 시간

AI 분석

  • 질문 유형
  • 응답 성공률
  • 상담원 전환율

고객 관리

  • 고객 번호
  • 상담 내역
  • 만족도

6. 예상 기술 스택

인프라

  • GCP Compute Engine (PBX)
  • Cloud Run 또는 Ubuntu VM (AI 서버)

PBX

  • FreePBX
  • Asterisk

AI

  • Gemini
  • GPT

음성

  • Whisper
  • Google STT
  • ElevenLabs

데이터

  • PostgreSQL

관리자

  • Svelte
  • Bootstrap

최종 목표

고객 전화

↓
대표번호

↓
FreePBX

↓
AI 상담원

↓
FAQ 응답

↓
필요시 상담원 연결

↓
상담이력 저장

1차 목표는 "전화 한 통을 AI가 받아서 자연스럽게 응답하는 것"이며, 실제 번호 연동은 마지막 단계에서 진행한다.

반응형