Cos'è il DTMF? Toni, frequenze e agenti vocali

Rene, Kabir Goel 
Cos'è il DTMF? Toni, frequenze e agenti vocali

Il DTMF è il suono di un tasto del telefono. Ogni tasto emette due toni nello stesso momento, uno da un gruppo basso e uno da un gruppo alto, e il sistema dall’altra parte decodifica la coppia come una cifra. Il nome dice proprio questo: dual-tone multi-frequency, multifrequenza a doppio tono. Bell lo ha lanciato come Touch-Tone nel 1963 e la Raccomandazione ITU-T Q.23 ne definisce ancora le frequenze.

Più di sessant’anni dopo, il DTMF è il modo in cui chi chiama inserisce numeri di conto, salta i menu e digita i PIN, e in cui il software naviga gli alberi telefonici di altro software. È anche una fonte abituale di ticket del tipo “ieri le cifre funzionavano”, perché in una chiamata VoIP i toni possono viaggiare in tre modi diversi. Questa guida copre i toni, i tre trasporti, perché si perdono le cifre e cosa cambia quando a rispondere o a comporre è un agente vocale IA. È scritta per ingegneri e team di contact center che gestiscono un flusso telefonico.

(Cercavi “DtMF” di Bad Bunny? È una canzone di DeBÍ TiRAR MáS FOToS. Pagina sbagliata, ottimo disco.)

Frequenze DTMF

La tastiera è una griglia quattro per quattro. Ogni riga ha una frequenza bassa, ogni colonna una alta, e un tasto suona la sua riga e la sua colonna insieme.

1209 Hz1336 Hz1477 Hz1633 Hz
697 Hz123A
770 Hz456B
852 Hz789C
941 Hz*0#D

Il 5 suona 770 Hz e 1336 Hz. Il # suona 941 Hz e 1477 Hz. La quarta colonna, dalla A alla D, si usava su apparati militari e di rete e quasi non compare sui telefoni di consumo, quindi in pratica gestirai dodici tasti: da 0 a 9, asterisco e cancelletto.

L’idea furba è usare due toni invece di uno. La voce e la musica raramente concentrano energia proprio su una frequenza bassa e una alta di questi insiemi nello stesso istante, quindi un decodificatore distingue un tasto da una voce. Lo standard fissa anche limiti di durata e di differenza di volume tra i due toni, e questo rende rare le false rilevazioni anche quando qualcuno parla sulla linea.

Come viaggia il DTMF in una chiamata moderna

Su una linea in rame, il DTMF era solo audio sul filo. In una chiamata IP ci sono tre opzioni, e le due estremità devono accordarsi su una.

MetodoCome viaggia la cifraDove si rompe
Audio in bandaI toni sono mescolati all’audio della chiamata come qualsiasi altro suonoI codec compressi e la perdita di pacchetti deformano i toni; il decodificatore perde o raddoppia le cifre
Eventi RTP (RFC 4733 / 2833)Un pacchetto telephone-event nel flusso RTP indica la cifra e la sua durataUn lato invia eventi e l’altro ascolta solo l’audio
SIP INFOUn messaggio SIP INFO sul percorso di segnalazione porta la cifra, fuori dall’audioProxy e operatori che non inoltrano INFO, e una temporizzazione che si sfasa rispetto all’audio

RFC 4733 ha sostituito RFC 2833 nel 2006, ma molte impostazioni di PBX e operatori riportano ancora “RFC 2833”. È la stessa opzione. La RFC spiega in una frase perché esiste: i codec vocali a basso bitrate “non possono garantire di riprodurre questi toni con la precisione necessaria al riconoscimento automatico”. G.711, il codec a 8 kHz della maggior parte delle chiamate, trasporta bene i toni. I codec a basso bitrate come G.729 spesso no.

Gli eventi RTP sono la scelta sicura predefinita. Sopravvivono a qualsiasi codec, portano la cifra esatta invece di un suono da decodificare, e la maggior parte di operatori e piattaforme li supporta. Lo stack telefonico di LiveKit, per esempio, invia il DTMF come eventi telephone-event/8000.

Perché si perdono le cifre DTMF

Quando i tasti non funzionano in una chiamata VoIP, la causa di solito è una di queste:

  • Metodi non allineati. L’operatore invia eventi RFC 4733 e il sistema dall’altra parte decodifica solo l’audio in banda, o viceversa. Controlla la modalità DTMF nell’offerta e nella risposta SDP di entrambe le tratte della chiamata.
  • Audio compresso. Una tratta che transcodifica verso un codec a basso bitrate rovina i toni in banda. Passa quella tratta agli eventi RTP o tienila su G.711.
  • Cifre doppie. Un gateway invia il tono sia come audio sia come evento, e il ricevitore li conta entrambi. “1234” arriva come “11223344”.
  • Un flusso media che ascolta soltanto. Alcune API di streaming inoltrano i tasti solo in certe modalità. Twilio Media Streams, per esempio, invia un messaggio dtmf solo sui flussi bidirezionali.
  • Timeout. Chi chiama fa una pausa tra una cifra e l’altra e il sistema invia un inserimento parziale. Il <Gather> di Twilio attende 5 secondi per impostazione predefinita e invia con #. Chiedi a chi chiama di premere cancelletto alla fine e imposta il numero di cifre quando lo conosci.

La prova più veloce è un telefono vero sull’operatore vero. Chiama, premi ogni tasto e digita un numero con cifre ripetute. I softphone nel browser e i client SIP di test spesso negoziano un metodo diverso da quello di un cellulare sulla rete pubblica.

DTMF e agenti vocali IA

Gli agenti vocali stanno sostituendo molti menu “premi 1 per la fatturazione”, ma le tastiere non spariranno. Un agente gestisce il DTMF in due direzioni: chi chiama preme tasti verso l’agente, e l’agente preme tasti verso il sistema di qualcun altro.

Ricevere i tasti da chi chiama

Alcune persone preferiscono digitare invece di parlare, e alcuni numeri si digitano più facilmente di quanto si dicano. Un numero di conto di 16 cifre letto ad alta voce su una linea rumorosa è un test di riconoscimento vocale; lo stesso numero sulla tastiera sono sedici pressioni senza ambiguità. Un buon agente accetta entrambe le cose nella stessa conversazione, senza menu.

Alcune regole fanno funzionare l’input da tastiera con un agente:

  • Aspetta l’inserimento completo. Chi chiama digita un codice cliente tutto d’un fiato. Se l’agente risponde dopo la prima cifra, parla sopra il resto. Cartesia Managed Agents raccoglie le cifre finché chi chiama non fa una pausa, poi passa l’inserimento al modello come un unico turno da tastiera, etichettato in modo che il modello sappia che è stato digitato e non detto.
  • Lascia che un tasto interrompa. Chi inizia a digitare a metà frase vuole che l’agente smetta di parlare. Su Managed Agents, un tasto interrompe la risposta dell’agente come la voce.
  • Tieni i segreti lontani dal modello. Non raccogliere numeri di carta o PIN completi tramite l’agente. Trasferisci a una linea di pagamento che resti nel tuo perimetro PCI e restituisci solo un token o un esito. La guida per le banche approfondisce il punto.
  • Di’ cosa premere. “Digiti il codice cliente e poi cancelletto” funziona meglio di “Mi indichi il codice cliente”, perché chi chiama sa che esistono entrambe le opzioni.

Su Managed Agents, i tasti arrivano all’agente nelle chiamate tramite Twilio e tramite il WebSocket dell’agente. Se colleghi un tuo client al WebSocket, inoltra ogni tasto come evento dtmf_input:

{ "type": "dtmf_input", "digit": "5" }

Le cifre valide sono da 0 a 9, * e #. Su qualsiasi altro percorso telefonico, trunk SIP compreso, fai una chiamata di prova e verifica che l’agente senta i tasti prima di costruire un flusso che ne dipende.

Inviare toni per navigare un altro menu telefonico

L’altra direzione è l’agente che preme i tasti. Gli agenti in uscita che chiamano assicurazioni, farmacie o fornitori passano il primo minuto di ogni chiamata nell’IVR di qualcun altro. SuperDial, che gestisce con Cartesia le chiamate agli enti pagatori per conto di strutture sanitarie, ha integrato la navigazione IVR nei suoi agenti proprio per questo.

Su Managed Agents, attiva lo strumento di sistema send_dtmf (Send keypad tones nella pagina Tools del Playground). L’agente potrà inviare uno o più toni, come 12#, quando un menu li chiede.

{
	"config": {
		"system_tools": {
			"send_dtmf": {}
		}
	}
}

I menu telefonici sono pensati per esseri umani pazienti, quindi spiega all’agente come comportarsi:

  • Ascolta tutto il messaggio prima di premere. Molti menu ignorano l’input finché il messaggio non è finito, e l’opzione che cerchi spesso è l’ultima.
  • Metti i percorsi noti nel prompt. “Per Acme Health, premi 2, poi 4, poi inserisci l’NPI del medico seguito da cancelletto.” Le variabili dinamiche possono compilare gli identificativi per ogni chiamata.
  • Non parlare mentre navighi. La voce sulla linea può confondere un menu che ascolta toni o parlato. Lo strumento invia i toni senza che l’agente li commenti.
  • Preparati all’operatore. Quando risponde una persona, l’agente deve passare dalla modalità menu alla conversazione. Scrivi questo passaggio nel prompt.

Per verificare che tutto funzioni, esegui gli stessi scenari che useresti per qualsiasi flusso telefonico. La guida ai test IVR copre i percorsi da tastiera con script e come valutare un agente sul risultato.

Dove si inserisce Cartesia

Cartesia sviluppa i modelli vocali su cui girano gli agenti: Sonic per la sintesi vocale e Ink per la trascrizione. Managed Agents li riunisce in un agente ospitato che risponde alle chiamate su numeri Cartesia, Twilio o sul tuo trunk SIP, con send_dtmf e trasferimenti integrati. Le chiamate dell’agente costano 0,06 $ al minuto, e puoi crearne uno nel playground e chiamarlo dal tuo telefono.

Se ti serve solo un menu fisso da tastiera, un CPaaS come Twilio o il tuo PBX lo fanno già bene. Un agente conviene quando chi chiama alterna voce e tastiera, o quando le tue chiamate devono superare il menu di qualcun altro.

Guide correlate

Domande frequenti

Cos'è il DTMF?

DTMF sta per dual-tone multi-frequency, multifrequenza a doppio tono. È la segnalazione che un telefono usa quando premi un tasto: ogni tasto emette due toni insieme, uno basso e uno alto, e il sistema dall'altra parte decodifica la coppia come una cifra. Bell lo ha lanciato come Touch-Tone nel 1963 e la Raccomandazione ITU-T Q.23 ne standardizza le frequenze.

Quali sono le frequenze dei toni DTMF?

Le righe della tastiera usano 697, 770, 852 e 941 Hz. Le colonne usano 1209, 1336, 1477 e 1633 Hz. Premendo il 5, per esempio, suonano insieme 770 Hz e 1336 Hz. La colonna a 1633 Hz porta i tasti A, B, C e D, che la maggior parte dei telefoni non ha.

Perché il DTMF non funziona sulla mia chiamata VoIP?

Di solito le due estremità non sono d'accordo su come trasportarlo. Il DTMF può viaggiare come audio nella chiamata, come eventi telefonici RTP (RFC 4733) o come messaggi SIP INFO. I codec compressi deformano i toni in banda, e se un lato invia eventi mentre l'altro ascolta l'audio, le cifre spariscono. Verifica che entrambe le estremità negozino lo stesso metodo e preferisci gli eventi RFC 4733.

Che differenza c'è tra RFC 2833 e RFC 4733?

Descrivono la stessa cosa. RFC 4733 ha sostituito RFC 2833 nel 2006 e definisce come inviare le cifre DTMF come eventi con nome dentro il flusso audio RTP. Molti apparati e operatori chiamano ancora l'opzione "RFC 2833", quindi considera i due nomi come un'unica opzione.

Un agente vocale IA può rilevare e inviare toni DTMF?

Sì, se la piattaforma lo supporta. Su Cartesia Managed Agents, lo strumento di sistema send_dtmf permette all'agente di premere tasti per navigare il menu telefonico di un'altra azienda, con i toni da 0 a 9, asterisco e cancelletto. Sulle chiamate Twilio e sul WebSocket dell'agente, l'agente legge anche i tasti premuti da chi chiama e risponde. Prova i tasti in entrata sul tuo percorso operatore prima di farci affidamento.