수신 전화용 Phone AI 설정
Twilio 번호 하나를 연결하고 웹훅을 테스트한 후 Phone AI를 활성화하세요. 일반적으로 약 10분이 걸립니다.
이 가이드에서는 AVA로 호텔의 수신 전화를 받고 각 통화 기록을 검토하는 방법을 설명합니다.
이동 경로: Communication Hub → Phone AI
Phone AI 설정은 선택한 호텔에 속합니다. 호텔마다 자체 Twilio 번호, 저장된 인증 정보, 활성화가 필요합니다.
빠른 참조
| 설정 | 제어하는 항목 | 표시되는 내용 |
|---|---|---|
| Twilio Account SID | Twilio 계정 선택 | AC로 시작하는 식별자 |
| Twilio phone number | 고객 전화 수신 | +와 국가 코드가 포함된 번호 |
| Twilio Auth Token | AVA가 통화를 확인하고 처리하도록 인증 | 다시 표시되지 않는 보호된 비밀 값 |
| Purpose | 이 번호에 선택적 메모 기록 | 설정 페이지에 표시되는 설명 |
| Incoming-call webhook | Twilio의 전화를 AVA로 라우팅 | 복사 가능한 URL과 Test webhook 작업 |
| Phone AI 스위치 | AI 통화 처리 활성화 또는 일시 중지 | Active 또는 Not active |
| Call Activity | 통화와 상태 목록 표시 | 발신 번호, 시작 시간, 상태, 통화 기록 |
시작하기 전에
다음 요구 사항을 확인합니다.
- Phone AI 활동을 검토할
phone_ai:read권한이 있습니다 - Phone AI를 구성할
phone_ai:manage권한이 있습니다 - 전용 Twilio 전화번호가 있습니다
- Twilio Account SID와 Auth Token이 있습니다
- 전화번호가 E.164 형식으로 작성되어 있습니다
Phone AI 권한 확인
역할에 따라 사용할 수 있는 Phone AI 작업이 결정됩니다.
| 권한 | 사용 가능한 작업 |
|---|---|
phone_ai:read | Phone AI를 열고 Call Activity 및 통화 기록 검토 |
phone_ai:manage | 설정 저장, 웹훅 테스트, Phone AI 활성화 |
phone_ai:manage에는 phone_ai:read 권한도 포함됩니다. 읽기 권한만으로는 관리 권한이 부여되지 않습니다.
작업을 사용할 수 없다면 관리자에게 역할을 업데이트해 달라고 요청합니다.
Twilio가 WebSocket 연결을 지원하는 공개 HTTPS 주소를 통해 AVA에 연결할 수 있어야 합니다. 비공개 또는 제한된 배포에서는 AVA 관리자에게 이 요구 사항을 확인해 달라고 요청하세요.
공개 Phone AI URL 확인
AVA는 공개 Core 주소를 사용해 Twilio 웹훅 및 미디어 스트림 URL을 생성합니다.
| 환경 | URL 동작 | 확인할 내용 |
|---|---|---|
| 프로덕션 | 공개 HTTPS VOUCH_CORE_URL 사용 | 배포에서 해당 접두사를 사용하는 경우 URL에 /core가 포함되는지 확인 |
| 로컬 Docker | 공개 SERVICE_HOME 주소와 PUBLIC_PATH 사용 | 주소가 공개 ngrok 터널을 가리키는지 확인 |
AVA가 보안 wss:// 미디어 스트림 URL을 자동으로 생성합니다.
Twilio에서 복사한 수신 전화 웹훅만 구성하면 됩니다.
생성된 미디어 스트림 URL에 쿼리 매개변수를 추가하지 마세요.
복사한 웹훅이 내부 호스트 이름을 사용한다면 배포 관리자에게 해당 값을 수정해 달라고 요청합니다.
Phone AI 서비스 연결
Phone AI를 활성화하기 전에 배포 팀에 다음 항목을 확인해 달라고 요청합니다.
- Core와 Chat 간 실시간 라우트를 비공개로 유지하세요. 이 라우트는 내부 서비스 트래픽 전용입니다.
- Chat Microservice에서
INTER_SERVICE_SECRET을 Core의CHAT_MICROSERVICE_SECRET과 일치하도록 설정하세요. - Core보다 먼저 Chat Microservice를 배포하세요. Core가 실행된 후 Streamliner를 배포할 수 있습니다.
- 필요한 경우 역순으로 롤백하세요. Streamliner, Core, 그다음 Chat Microservice 순서입니다.
내부 실시간 라우트를 공개 인터넷에 노출하지 마세요. Twilio는 Chat Microservice에 직접 연결하지 말고 공개 AVA 웹훅을 통해 연결해야 합니다.
Twilio Auth Token을 비밀번호처럼 취급하세요. AVA는 저장한 후 이를 보호하며 다시 표시하지 않습니다.
Twilio 연결 저장
-
Communication Hub → Phone AI로 이동합니다.
-
Setup에 그대로 둡니다.
-
Twilio Account SID를 입력합니다.
-
+와 국가 코드가 포함된 Twilio phone number를 입력합니다. -
Twilio Auth Token을 입력합니다.
-
선택 사항인 Purpose를 추가합니다.
-
Save settings를 클릭합니다.
✓ "Phone AI settings saved."가 표시됩니다. ✓ Auth Token 필드가 보호된 자리표시자로 바뀝니다.
저장된 토큰을 유지하려면 Auth Token을 비워 두세요. 토큰을 교체해야 할 때만 새 토큰을 입력하세요.
Twilio에서 수신 전화 라우팅
-
Setup에서 Incoming-call webhook을 찾습니다.
-
Copy를 클릭합니다.
-
Twilio Console을 엽니다.
-
Phone Numbers를 열고 호텔 번호를 선택합니다.
-
Voice configuration에서 A call comes in을 Webhook으로 설정합니다.
-
복사한 URL을 붙여넣습니다.
-
POST를 선택한 다음 Twilio 구성을 저장합니다.
✓ 이제 Twilio가 수신 전화를 AVA 웹훅으로 전송합니다.
AVA는 전화를 수락하기 전에 Twilio 요청과 구성된 전화번호를 확인합니다. Twilio를 구성할 때 AVA에 저장된 번호와 정확히 일치하는 번호를 사용하세요.
Phone AI 테스트 및 활성화
-
Communication Hub → Phone AI로 돌아갑니다.
-
저장하지 않은 변경 사항을 저장합니다.
-
Test webhook을 클릭합니다.
-
성공 메시지를 확인합니다.
-
Enable Phone AI를 켭니다.
-
Save settings를 클릭합니다.
-
다른 전화기로 Twilio 번호에 전화합니다.
✓ Phone AI가 수신 전화를 받습니다. ✓ 통화가 끝나면 저장된 상태와 함께 Call Activity에 표시됩니다. ✓ View transcript를 선택하여 저장된 발신자 및 AI 메시지를 검토합니다.
활성화하기 전에 Account SID, 전화번호, Auth Token을 저장해야 합니다. 변경 사항을 저장하지 않은 동안에는 웹훅 테스트도 비활성화되어 있습니다.
통화 활동 검토
-
Call Activity를 엽니다.
-
발신 번호와 시작 시간으로 통화를 찾습니다.
-
통화 상태를 검토합니다.
-
View transcript를 클릭합니다.
-
검토를 마치면 통화 기록을 닫습니다.
✓ 해당 통화의 발신자 및 어시스턴트 메시지를 검토할 수 있습니다.
Call Activity는 페이지가 열릴 때 로드됩니다. 새 통화가 끝난 후 페이지를 다시 열거나 새로고침하세요.
저장된 AI 음성 이해
저장된 통화 기록은 통화 중 Phone AI가 실제로 말한 내용을 따릅니다. 주요 답변 전에 짧은 진행 안내가 포함될 수 있습니다. Phone AI는 “확인해 보겠습니다.”와 같은 공식적인 호텔 직원용 확인 표현을 사용합니다. “물론이죠” 또는 “알겠습니다”와 같은 격식 없는 한 단어짜리 추임새는 사용하지 않습니다. 진행 안내와 최종 응답에 대해 별도의 AI 항목이 표시될 수 있습니다. 이 항목을 통해 실제로 말한 대화 전체를 검토할 수 있습니다.
고객 서비스 요청 처리
Phone AI는 통화 중 일반적인 호텔 질문에 답할 수 있습니다. 지원되는 고객 서비스 작업을 수행하려면 신뢰할 수 있는 통화 기록과 명확한 고객 확인이 필요합니다. Phone AI는 고객이 동의했는지 판단하기 전에 고객의 최종 통화 기록을 기다립니다. 날짜에 민감한 요청의 경우 Phone AI는 호텔의 현재 날짜, 시간 및 시간대를 사용합니다. 발신자가 체크인한 고객인 경우 Phone AI는 사용 가능한 호칭을 반영한 인사말을 사용합니다.
| 고객 요청 | Phone AI의 동작 |
|---|---|
| 일반적인 호텔 질문 | 이용 가능한 호텔 정보를 사용해 답변 |
| 고객 서비스 요청, 취소 또는 변경 | 준비된 정확한 요청에 고객이 나중에 자연어로 동의하면 이를 사용 |
| 사용 가능한 통화 기록 없이 작업 요청 | 고객을 프런트 데스크로 안내 |
기존 고객 요청 취소
고객이 요청 취소를 요구하면 Phone AI는 먼저 해당 고객의 요청 목록을 확인합니다. 최근 대화와 AVA가 보유한 요청 세부 정보를 사용해 “그 요청”과 같은 지시를 식별합니다. 일치하는 요청이 둘 이상이면 Phone AI는 고객에게 어느 요청을 의미하는지 묻습니다. 그런 다음 확인을 요청하기 전에 취소 미리보기 내용을 읽어 줍니다. 고객이 이후 발화에서 해당 취소를 정확히 확인한 후에만 요청이 변경됩니다.
Phone AI는 “지금 취소하겠습니다.”와 같은 약속만으로 요청을 취소하지 않습니다. 목록에 있는 요청을 식별하고 취소를 준비한 후, 이후 확인을 받아야 합니다.
호텔 정보에서 질문에 답변
통화가 시작될 때 Phone AI는 AI Phone에 활성화된 출처에서 제한된 범위의 사실을 로드합니다. 해당 사실이 질문을 완전하고 명확하게 다루면 직접 답변할 수 있습니다. 후속 질문의 경우 Phone AI는 최근 대화 맥락을 사용하여 “그것” 또는 “거기”와 같은 지시어를 해석합니다. 답변이 불완전하거나, 확실하지 않거나, 서로 충돌하거나, 변경될 수 있거나, 개인적이거나, 작업을 요구하는 경우 최신 요청을 위임합니다. 시작 시 사용할 사실을 이용할 수 없거나 누락된 경우에도 위임합니다.
공개 검색으로 지역 질문에 답변
호텔 문서에서 인근 장소에 관한 질문을 다루지 않는 경우 Phone AI는 공개 인터넷을 검색할 수 있습니다. 이 대체 경로는 인근 쇼핑몰, 식당, 교통편, 관광 명소 및 길 안내를 지원합니다. 검색은 문서에 기록된 호텔 이름과 주소를 시작점으로 사용합니다. 고객의 출발 지점이 너무 모호하면 Phone AI가 명확한 정보를 요청합니다.
| 고객 질문 | Phone AI의 동작 |
|---|---|
| 인근 공공장소에 관해 질문 | 공개 출처를 검색하고 주변 선택지를 포함한 음성 답변 제공 |
| 출발지가 불분명한 길 안내 요청 | 고객에게 출발 지점을 명확히 해 달라고 요청 |
| 호텔 정책, 개인 투숙 정보 또는 작업에 관한 질문 | 대신 신뢰할 수 있는 호텔 정보 또는 프런트 데스크 경로 사용 |
| 공개 검색을 사용할 수 없음 | 지원되는 호텔 정보를 유지하거나 승인된 프런트 데스크 응답 제공 |
음성 답변에서 출처 링크를 소리 내어 읽지는 않습니다. 통화 화면에 표시되는 경우 통화 미러링 답변에 클릭 가능한 인용이 포함될 수 있습니다. 비공개 객실 번호, 예약 참조 번호, 별칭 및 고객 세부 정보는 공개 검색으로 전송되지 않습니다.
배포 관리자는 OPENAI_LIVE_LOCAL_SEARCH_ENABLED=false로 이 대체 경로를 비활성화할 수 있습니다.
호텔 문서 답변과 신뢰할 수 있는 고객 서비스 경로는 기존 동작을 계속 사용합니다.
| 발생한 상황 | 고객 경험 |
|---|---|
| 사실이 질문을 완전히 다룸 | Phone AI가 프런트 데스크로 전달하지 않고 간결하게 답변 |
| 사실이 질문을 부분적으로만 다룸 | Phone AI가 고객을 프런트 데스크로 안내 |
| 질문이 개인적이거나 변경 가능하거나 작업을 요구함 | Phone AI가 고객을 프런트 데스크로 안내 |
| 시작 시 사용할 사실이 없거나 이용할 수 없음 | Phone AI가 고객을 프런트 데스크로 안내 |
이 사실 로드를 위해 Phone AI 설정을 변경할 필요는 없습니다. Chatbot Documents에서 관련 출처를 AI Phone에 활성화된 상태로 유지하세요.
늦은 체크아웃이나 수하물 보관과 같은 일반적인 정책 질문은 호텔 정보가 해당 내용을 완전히 다룰 때 직접 답변할 수 있습니다. 검증된 투숙 정보가 없어도 가능합니다. 늦은 체크아웃을 준비하거나, 개인 자격을 확인하거나, 이용 가능 여부를 확인하는 요청은 프런트 데스크로 전달됩니다.
Phone AI가 서비스 요청을 미리 안내할 때는 각 항목 또는 서비스의 수량, 날짜, 시간을 말합니다. 내부 코드, ID, 참조 번호 또는 “amenities request”와 같은 레이블은 말하지 않습니다. 고객이 카탈로그 항목 하나의 정확한 이름을 말하면 Phone AI는 해당 항목의 코드로 확인합니다. 이름을 일치시킬 때는 대소문자를 구분하지 않습니다. 같은 이름을 가진 항목이 여러 개라면 Phone AI는 고객에게 대신 선택하도록 요청합니다. 중복된 이름에는 “Hand Towel (1)” 및 “Hand Towel (2)”와 같이 번호가 붙습니다. 중복 항목이 표시되면 고객은 번호가 붙은 이름을 선택해야 합니다.
모닝콜 날짜 처리
고객은 모닝콜을 요청할 때 상대적인 날짜를 사용할 수 있습니다. Phone AI는 호텔에 구성된 시간대를 사용해 해당 날짜를 해석합니다. 고객이 시간만 말하면 Phone AI는 어느 날을 의미하는지 묻습니다.
테스트하기 전에 Timezone이 Settings → Essentials → Hotel Basic Details에서 올바른지 확인하세요.
통화 기록을 사용할 수 없는 경우 Phone AI는 고객 서비스 요청을 제출, 취소 또는 변경하지 않습니다. 대신 고객에게 프런트 데스크로 안내합니다. 한 번의 고객 발화로 요청을 준비하고 확인할 수는 없습니다. Phone AI는 이후 고객 발화가 준비된 요청에 동의하는지 판단합니다. 질문, 망설임, 수정 또는 관련 없는 말은 이를 확인하는 것으로 간주하지 않습니다. Phone AI는 준비된 요청을 변경하는 확인을 거부합니다. Phone AI는 “목욕 수건 하나를 요청하시는 것이 맞는지 확인해 주세요.”와 같이 짧은 한 문장으로 확인을 요청합니다. 취소의 경우에는 “목욕 수건 요청을 취소하시겠습니까?”라고 묻습니다. 이 확인 문장 앞이나 뒤에는 아무 말도 하지 않습니다. 명확한 확인을 받으면 Phone AI는 위임된 하우스키핑 작업을 처리하는 동안 준비된 요청을 유지합니다. 고객의 동의가 불분명하면 Phone AI는 다시 묻기 전에 준비된 요청을 폐기합니다. 다음 확인 메시지가 표시되면 Phone AI는 같은 요청을 다시 준비하고 읽어 줍니다. 고객은 새로 읽어 준 요청을 확인해야 합니다.
통화 기록 없이 통화 중 작업을 완료해야 하는 경우에는 고객에게 프런트 데스크로 문의하도록 안내하세요.
문제 해결
전화번호가 거부됨
표시되는 내용: "+와 국가 코드를 포함한 E.164 형식으로 Twilio 전화번호를 입력하세요."
해결 방법:
- 번호를
+로 시작합니다. - 국가 코드를 추가합니다.
- 공백, 괄호, 하이픈을 제거합니다.
- Save settings를 다시 클릭합니다.
웹훅 테스트가 비활성화됨
표시되는 내용: Test webhook을 선택할 수 없습니다.
해결 방법:
- Account SID, 전화번호, Auth Token을 입력합니다.
- Save settings를 클릭합니다.
- 저장 확인 메시지가 표시될 때까지 기다립니다.
- Test webhook을 다시 클릭합니다.
웹훅 테스트 실패
표시되는 내용: "Twilio 웹훅 구성을 확인할 수 없습니다."
해결 방법:
- 현재 Incoming-call webhook을 다시 복사합니다.
- Twilio에서 A call comes in에 해당 URL을 사용하는지 확인합니다.
- 방법이 POST인지 확인합니다.
- Twilio에 저장한 다음 AVA에서 다시 테스트합니다.
복사한 웹훅이 내부 URL을 사용함
표시되는 내용: 복사한 URL에 내부 호스트 이름이 포함되거나 http://로 시작합니다.
해결 방법:
-
배포 관리자에게 프로덕션
VOUCH_CORE_URL을 공개 HTTPS Core 주소로 설정해 달라고 요청합니다. -
공개 배포에서 해당 접두사를 사용하는 경우 값에
/core가 포함되는지 확인합니다. -
로컬 Docker의 경우 공개 ngrok 주소가
SERVICE_HOME및PUBLIC_PATH를 통해 구성되어 있는지 확인합니다. -
Communication Hub → Phone AI를 다시 엽니다.
-
Incoming-call webhook을 다시 복사한 다음 Twilio를 업데이트합니다.
✓ 복사한 웹훅이
https://로 시작하고 공개 주소를 사용합니다.
통화가 Call Activity에 표시되지 않음
표시되는 내용: 테스트 통화가 끝났지만 선택한 호텔에 통화가 표시되지 않습니다.
해결 방법:
- Phone AI가 활성화된 호텔을 선택했는지 확인합니다.
- Twilio 번호가 Twilio phone number와 정확히 일치하는지 확인합니다.
- 통화가 끝난 후 Phone AI 페이지를 다시 열거나 새로고침합니다.
- 설정을 저장한 후 Test webhook을 다시 실행합니다.
- AVA 관리자에게 공개 HTTPS 주소가 WebSocket 연결을 지원하는지 확인해 달라고 요청합니다.
Phone AI를 활성화할 수 없음
표시되는 내용: Enable Phone AI 스위치가 비활성화된 상태로 유지됩니다.
해결 방법:
- 역할에
phone_ai:manage권한이 있는지 확인합니다. - 필요한 Twilio 설정을 모두 저장합니다.
- 전화번호에
+와 국가 코드가 포함되어 있는지 확인합니다. - 페이지를 새로고침하고 다시 시도합니다.
통화 기록이 열리지 않음
표시되는 내용: "이 통화 기록을 불러올 수 없습니다."
해결 방법:
- 통화 기록 패널을 닫습니다.
- Call Activity를 새로고침합니다.
- 통화를 다시 엽니다.
- 다른 통화 기록도 실패하면 지원팀에 문의합니다.
통화에 통화 기록이 없음
표시되는 내용: "이 통화에 저장된 통화 기록이 없습니다."
해결 방법:
-
Call Activity에서 완료된 다른 통화를 확인합니다.
-
일반적인 호텔 질문에는 Phone AI를 계속 사용합니다.
-
요청, 취소 또는 변경이 필요한 고객에게 프런트 데스크로 문의하도록 안내합니다.
-
배포 환경에서 통화 기록을 저장해야 하는데 저장되지 않는다면 AVA 관리자에게 문의합니다.
✓ 저장된 통화 기록이 없어도 Phone AI가 계속 질문에 답할 수 있습니다. ✓ 확인이 필요한 고객 작업은 대신 프런트 데스크로 전달됩니다.
최근 발화 내용이 누락됨
표시되는 내용: 어시스턴트가 마지막으로 말한 문구 전에 통화 기록이 끝납니다.
해결 방법:
- 통화가 끝난 후 몇 초 기다립니다.
- Call Activity를 다시 열거나 새로고침합니다.
- 통화를 열고 View transcript를 다시 선택합니다.
- 문구가 계속 누락되면 AVA 관리자에게 문의합니다.
Phone AI의 호텔 답변이 불완전함
표시되는 내용: Phone AI가 관련 서비스를 언급하지만 예상한 세부 정보가 누락됩니다.
해결 방법:
-
Chatbot Documents를 엽니다.
-
관련 출처에 서비스 세부 정보가 모두 포함되어 있는지 확인합니다.
-
출처가 활성 상태이고 AI Phone에 활성화되어 있는지 확인합니다.
-
지식 처리가 끝날 때까지 기다린 다음 다시 테스트합니다.
✓ Phone AI는 통화를 위해 활성화된 출처를 로드하고 완전히 다뤄지는 질문에 직접 답합니다.
Phone AI가 호텔 질문을 프런트 데스크로 전달함
표시되는 내용: 호텔 정보에 답이 있어야 하는데 Phone AI가 질문에 답하지 못합니다.
해결 방법:
-
Chatbot Documents를 엽니다.
-
관련 출처가 활성 상태이고 AI Phone에 활성화되어 있는지 확인합니다.
-
다시 테스트하기 전에 지식 처리가 끝날 때까지 기다립니다.
-
출처가 준비되었는데도 문제가 있으면 AVA 관리자에게 지식 서비스를 확인해 달라고 요청합니다.
✓ Phone AI는 호텔에서 활성화된 정보로 완전히 다뤄지는 질문에 답합니다.
Phone AI가 인근 장소 질문에 답하지 못함
표시되는 내용: 인근 장소에 관한 질문에 Phone AI가 프런트 데스크 응답을 제공합니다.
해결 방법:
-
호텔에 기록된 주소가 완전하고 최신인지 확인합니다.
-
고객에게 길 안내를 위한 명확한 출발 지점을 말해 달라고 요청합니다.
-
배포 환경에서 공개 지역 검색이 활성화되어 있는지 확인합니다.
-
인근 쇼핑몰, 식당, 관광 명소 또는 교통 정류장으로 질문을 다시 시도합니다.
✓ Phone AI는 호텔 문서가 답변하지 못하는 경우 지원 대상인 공개 지역 주제만 검색합니다.
그래도 문제가 해결되지 않나요?
다음 상황에서는 success@vouch-technologies.com으로 문의하세요.
- ❌ 저장된 웹훅 테스트가 계속 실패함
- ❌ Call Activity에 통화가 표시되지 않음
- ❌ 활성화 후 Phone AI가 응답하지 않음
함께 제공하면 유용한 정보:
- 비밀 값이 표시되지 않은 설정 상태 스크린샷
- Twilio 전화번호
- 테스트 통화 한 건의 시간
- 정확한 오류 메시지