키패드 터치 톤 재생

에이전트가 DTMF 톤을 재생하여 자동화된 전화 시스템과 상호작용하고 메뉴를 탐색할 수 있도록 하세요.

개요

키패드 터치 톤 도구를 사용하면 ElevenLabs 에이전트가 전화 통화 중 DTMF(이중 톤 다중 주파수) 신호음을 재생할 수 있습니다. 이는 키패드에서 숫자를 누를 때 들리는 신호음입니다. 이를 통해 에이전트는 자동화된 전화 시스템과 상호작용하고, 음성 메뉴를 탐색하며, 내선 번호와 PIN 코드를 입력하는 등 일반적으로 사람이 전화 키패드의 키를 눌러야 하는 다양한 터치 톤 작업을 수행할 수 있습니다.

이 시스템 도구는 표준 DTMF 신호음(0-9, *, #)과 타이밍 제어를 위한 일시 정지 명령을 지원합니다. Twilio 및 SIP 트렁킹 전화 통합 모두와 원활하게 작동하며, 기본 전화 인프라에 맞는 적절한 오디오 신호음을 자동으로 생성합니다.

대신 발신자로부터 키패드 숫자를 수집하려면 DTMF 입력을 참조하세요.

기능

  • 표준 DTMF 신호음: 모든 표준 키패드 문자(0-9, *, #) 지원
  • 일시 정지 제어: 정밀한 타이밍을 위한 일시 정지 명령 포함(w = 0.5초, W = 1.0초)
  • 다중 제공업체 지원: Twilio 및 SIP 트렁킹 통합 모두에서 작동

이 시스템 도구는 전화 메뉴 탐색, 내선 번호 입력 및 코드 입력에 사용할 수 있습니다. LLM은 대화 맥락을 기반으로 언제 어떤 신호음을 재생할지 결정합니다.

기본 도구 설명은 대화를 구동하는 LLM에 이러한 신호음을 재생할 수 있음을 알리며, 에이전트가 이 도구를 호출해야 하는 시점을 설명하도록 에이전트의 시스템 프롬프트를 업데이트하는 것이 좋습니다.

매개변수:

  • reason (string, 선택 사항): DTMF 톤을 재생하는 이유(예: “내선 번호로 이동”, “PIN 입력”)
  • dtmf_tones (string, 필수): 재생할 DTMF 시퀀스입니다. 유효한 문자: 0-9, *, #, w(0.5초 일시 정지), W(1초 일시 정지)

함수 호출 형식:

{
"type": "function",
"function": {
"name": "play_keypad_touch_tone",
"arguments": "{"reason": "Navigating to customer service", "dtmf_tones": "2"}"
}
}

대역 외 DTMF

기본적으로 DTMF 신호음은 음성 스트림 내 대역 내 오디오 신호로 전송됩니다. 하지만 일부 IVR(대화형 음성 응답) 시스템은 오디오 압축, 네트워크 상태 또는 시스템 구성으로 인해 이러한 대역 내 신호음을 안정적으로 감지하지 못할 수 있습니다.

대역 외 DTMF(RFC 4733)는 신호음을 오디오 대신 별도의 RTP 패킷으로 전송합니다. 이 방법은 수신 측 IVR 시스템이 표준 대역 내 DTMF를 감지하는 데 어려움을 겪는 SIP 트렁킹 구현에서 더 안정적입니다.

대역 외 DTMF를 활성화하려면 다음 단계를 따르세요.

  1. 에이전트의 도구 구성으로 이동합니다.
  2. 키패드 터치 톤 재생 도구를 선택합니다.
  3. 대역 외 DTMF(RFC 4733) 사용 체크박스를 선택합니다.

대역 외 DTMF는 SIP 트렁킹 통화에서만 사용할 수 있습니다. 이 설정은 Twilio Native 통합 통화에서는 무시됩니다.

지원 문자

이 도구는 다음 DTMF 문자와 명령을 지원합니다.

  • 숫자: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
  • 특수 신호음: *(별표), #(샵/해시)
  • 일시 정지 명령:
    • w - 짧은 일시 정지(0.5초)
    • W - 긴 일시 정지(1.0초)

API 구현

API를 통해 에이전트를 생성하거나 업데이트할 때 play_keypad_touch_tone 시스템 도구를 구성할 수 있습니다. 이 도구는 활성화 외에 추가 구성 매개변수가 필요하지 않습니다.

from elevenlabs import AgentConfig, ConversationalConfig, ElevenLabs
elevenlabs = ElevenLabs(api_key="YOUR_API_KEY")
response = elevenlabs.conversational_ai.agents.create(
conversation_config=ConversationalConfig(
agent=AgentConfig(
first_message="Hi, I can help you navigate phone systems. How can I assist you today?",
prompt={
"prompt": "You are a helpful assistant that can interact with phone systems.",
"built_in_tools": {
"play_keypad_touch_tone": {
"type": "system",
"name": "play_keypad_touch_tone",
# Optional custom description
"description": "Play DTMF tones to interact with automated phone systems.",
"params": {"system_tool_type": "play_keypad_touch_tone"},
}
},
},
),
),
)

이 도구는 Twilio 또는 SIP 트렁킹으로 구동되는 활성 전화 통화 중에만 작동합니다. 전화 대화 컨텍스트 밖에서 호출하면 오류를 반환합니다.