> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Odtwórz ton klawiatury

## Przegląd

Narzędzie tonów klawiatury pozwala agentom ElevenLabs odtwarzać podczas rozmów telefonicznych tony DTMF (Dual-Tone Multi-Frequency) — czyli dźwięki odtwarzane po naciśnięciu cyfr na klawiaturze. Dzięki temu agenci mogą korzystać z automatycznych systemów telefonicznych, poruszać się po menu głosowych, wpisywać numery wewnętrzne, kody PIN i wykonywać inne operacje tonowe, które zwykle wymagają od rozmówcy naciskania klawiszy na telefonie.

To narzędzie systemowe obsługuje standardowe tony DTMF (0-9, \*, #) oraz komendy pauzy do kontroli czasu. Działa bezproblemowo zarówno z integracjami telefonicznymi Twilio, jak i SIP trunking, automatycznie generując odpowiednie tony audio dla używanej infrastruktury telefonicznej.

Aby zamiast tego zbierać cyfry z klawiatury od rozmówców, zobacz [wprowadzanie DTMF](/docs/pl/eleven-agents/customization/multimodal-input#dtmf-input).

## Działanie

* **Standardowe tony DTMF**: Obsługuje wszystkie standardowe znaki klawiatury (0-9, \*, #)
* **Kontrola pauzy**: Zawiera komendy pauzy dla precyzyjnego sterowania czasem (w = 0,5 s, W = 1,0 s)
* **Obsługa wielu dostawców**: Działa z integracjami Twilio i SIP trunking

To narzędzie systemowe może służyć do nawigacji po menu telefonicznych, wprowadzania numerów wewnętrznych i kodów.
LLM na podstawie kontekstu rozmowy określa, kiedy i jakie tony odtworzyć.

Domyślny opis narzędzia informuje LLM obsługujący rozmowę, że ma dostęp do odtwarzania tych tonów,
a my zalecamy zaktualizowanie promptu systemowego agenta, aby wyjaśnić, kiedy powinien wywoływać to narzędzie.

**Parametry**:

* `reason` (string, opcjonalny): Powód odtwarzania tonów DTMF (np. „przejście do numeru wewnętrznego”, „wpisywanie PIN-u”)
* `dtmf_tones` (string, wymagany): Sekwencja DTMF do odtworzenia. Prawidłowe znaki: 0-9, \*, #, w (pauza 0,5 s), W (pauza 1 s)

**Format wywołania funkcji**:

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

## DTMF poza pasmem

Domyślnie tony DTMF są wysyłane jako sygnały audio w paśmie, w strumieniu głosowym. Niektóre systemy IVR (Interactive Voice Response) mogą jednak nie wykrywać tych tonów niezawodnie z powodu kompresji audio, warunków sieciowych lub konfiguracji systemu.

DTMF poza pasmem (RFC 4733) wysyła tony jako oddzielne pakiety RTP zamiast audio. Ta metoda jest bardziej niezawodna w implementacjach SIP trunking, w których systemy IVR odbiorcy mają problem z wykrywaniem standardowych tonów DTMF w paśmie.

Aby włączyć DTMF poza pasmem:

1. Przejdź do konfiguracji narzędzi agenta
2. Wybierz narzędzie **Odtwórz ton klawiatury**
3. Zaznacz pole **Używaj DTMF poza pasmem (RFC 4733)**

> **Note**
>
> DTMF poza pasmem jest dostępny tylko dla połączeń SIP trunking. To ustawienie zostanie zignorowane
> w połączeniach z integracją Twilio Native.

## Obsługiwane znaki

Narzędzie obsługuje następujące znaki i komendy DTMF:

* **Cyfry**: `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`
* **Tony specjalne**: `*` (gwiazdka), `#` (kratka)
* **Komendy pauzy**:
  * `w` - Krótka pauza (0,5 sekundy)
  * `W` - Długa pauza (1,0 sekunda)

## Implementacja API

Podczas tworzenia lub aktualizowania agenta przez API możesz skonfigurować narzędzie systemowe `play_keypad_touch_tone`. To narzędzie nie wymaga żadnych dodatkowych parametrów konfiguracji poza jego włączeniem.

```python
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"},
                    }
                },
            },
        ),
    ),
)
```

```javascript
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";

const elevenlabs = new ElevenLabsClient({
  apiKey: "YOUR_API_KEY",
});

await elevenlabs.conversationalAi.agents.create({
  conversationConfig: {
    agent: {
      firstMessage: "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.",
        builtInTools: {
          playKeypadTouchTone: {
            type: "system",
            name: "play_keypad_touch_tone",
            description: "Play DTMF tones to interact with automated phone systems.", // Optional custom description
            params: {
              systemToolType: "play_keypad_touch_tone",
            },
          },
        },
      },
    },
  },
});
```

> **Note**
>
> Narzędzie działa tylko podczas aktywnych rozmów telefonicznych obsługiwanych przez Twilio lub SIP trunking. Zwróci
> błąd, jeśli zostanie wywołane poza kontekstem rozmowy telefonicznej.