Historique du DTMF
Le protocole DTMF a été développé à la fin des années 1950 par les laboratoires Bell, alors filiale de recherche d'AT&T, pour remplacer la composition par impulsions (pulse dialing) qui équipait les téléphones à cadran. La composition par impulsions présentait deux défauts majeurs : une lenteur croissante avec le nombre composé (un « 9 » mettait neuf fois plus de temps qu'un « 1 »), et une incompatibilité avec les autocommutateurs électroniques qui commençaient à se déployer.
Le système a été commercialisé en 1963 aux États-Unis sous le nom de Touch-Tone, déposé par AT&T. Il s'est ensuite imposé comme standard mondial sous le nom DTMF. La norme actuelle est définie par l'UIT-T dans la recommandation Q.23, qui spécifie les fréquences, les tolérances, les niveaux et les durées attendues.
Bien que de plus en plus de communications passent par des protocoles purement numériques, le DTMF reste omniprésent au XXIᵉ siècle. Tout serveur vocal interactif (« Tapez 1 pour le service client ») repose encore sur ce protocole, qui n'a pas trouvé de remplaçant universel pour l'interaction touche-à-touche avec un automate téléphonique.
Principe du Dual-Tone Multi-Frequency
Le principe du DTMF est résumé par son nom : deux tonalités simultanées, choisies parmi plusieurs fréquences, pour représenter chaque touche. Plus précisément, le clavier téléphonique est organisé en une matrice 4×4, où chaque ligne est associée à une fréquence « basse » et chaque colonne à une fréquence « haute ».
Pourquoi deux fréquences plutôt qu'une ?
L'utilisation de deux fréquences est une décision d'ingénierie élégante qui répond à plusieurs contraintes :
- Robustesse à la voix humaine : la voix produit un spectre continu, jamais constitué de deux fréquences pures simultanées. Un décodeur DTMF peut donc distinguer aisément un signal de commande d'une conversation en cours.
- Robustesse au bruit : les bruits de fond (ventilateur, circulation, statique) ont eux aussi un spectre continu. Les fréquences DTMF, soigneusement choisies pour ne pas être des multiples ou des sous-multiples entiers, sont identifiables même en environnement perturbé.
- Compatibilité avec la bande audio téléphonique : toutes les fréquences DTMF se situent entre 697 et 1633 Hz, soit dans la bande passante standard d'une ligne téléphonique (300–3400 Hz).
- Évolutivité : la matrice 4×4 permet 16 combinaisons, ce qui couvre les 10 chiffres, les caractères * et #, et laisse 4 codes étendus (A, B, C, D) pour des usages spéciaux.
Les huit fréquences fondamentales
Les huit fréquences DTMF officielles sont :
| Groupe bas (lignes) | Groupe haut (colonnes) |
|---|---|
697 Hz | 1209 Hz |
770 Hz | 1336 Hz |
852 Hz | 1477 Hz |
941 Hz | 1633 Hz |
Le choix de ces valeurs n'est pas arbitraire : elles ont été sélectionnées pour ne pas être harmoniques entre elles (aucune n'est un multiple entier d'une autre) et pour éviter les fréquences les plus présentes dans la voix humaine.
Le DTMF en téléphonie classique
Sur une ligne téléphonique analogique traditionnelle (PSTN, Public Switched Telephone Network), les signaux DTMF voyagent simplement dans le canal audio. Lorsque vous appuyez sur une touche, votre téléphone émet la tonalité correspondante dans le microphone virtuel de la ligne, et cette tonalité est transportée comme n'importe quel son.
À l'autre bout, l'autocommutateur ou l'équipement destinataire dispose d'un récepteur DTMF qui analyse en permanence le flux audio entrant à la recherche de combinaisons valides. Lorsqu'il en trouve une, il la convertit en chiffre composé et l'exploite : routage d'appel, navigation dans un menu vocal, validation d'un code d'accès.
Cette approche dite « inband » (le signal de commande circule dans le même canal que la voix) est extrêmement répandue mais possède quelques limites : les codeurs vocaux à compression aggressive (utilisés en VoIP) peuvent dégrader la qualité du signal DTMF au point de le rendre indétectable. C'est l'une des raisons qui ont conduit à définir un transport alternatif pour la VoIP.
Le DTMF en VoIP
En VoIP (Voice over IP), trois méthodes coexistent pour transmettre des signaux DTMF :
1. DTMF inband
Comme en téléphonie classique, le signal DTMF est mélangé au flux audio et transmis comme tel. Cette méthode est simple mais fragile : les codecs à faible débit (G.729, AMR, Opus en mode voix très compressé) peuvent altérer le signal au point de le rendre invalide. À éviter sauf pour des codecs haute fidélité (G.711, G.722).
2. RFC 2833 / RFC 4733 (DTMF en RTP)
La méthode aujourd'hui dominante en VoIP : le signal DTMF n'est plus transmis comme un son, mais comme un événement numérique dans le flux RTP. Un paquet RTP spécial indique « touche 5 appuyée pendant 200 ms », et le récepteur reconstruit la tonalité côté destinataire si nécessaire.
Avantages : fiabilité totale, indépendance du codec audio, consommation de bande passante réduite. La RFC 4733 a remplacé la RFC 2833 en 2006 mais reste largement compatible.
3. SIP INFO
Une méthode plus rare, où les chiffres composés sont transmis via le canal de signalisation SIP (en dehors du flux RTP) à l'aide de messages SIP INFO. Cette approche est utilisée par certains opérateurs historiques mais tend à disparaître au profit de la RFC 4733.
XF788 émet et analyse du DTMF en mode inband acoustique : les tonalités sont produites comme du son par les haut-parleurs et captées par le microphone. Pour tester un système VoIP utilisant la RFC 4733, il faut soit générer la tonalité acoustiquement vers un téléphone IP, soit utiliser un outil de signalisation SIP spécifique.
Tolérances et exigences techniques
La recommandation UIT-T Q.23 et les standards américains AT&T spécifient plusieurs paramètres qu'un récepteur DTMF conforme doit respecter :
- Tolérance fréquentielle : ±1,5 % par rapport à la fréquence nominale. Au-delà, le signal doit être rejeté.
- Durée minimale de tonalité : 40 ms pour la détection, 23 ms pour l'acceptation conditionnelle selon les normes.
- Durée minimale de pause : 40 ms entre deux tonalités pour permettre la séparation.
- Twist accepté : l'écart d'énergie entre les deux fréquences doit rester dans une plage de -8 dB (high twist) à +4 dB (low twist).
- Rapport signal-bruit : les composantes parasites doivent être au moins 20 dB en dessous du signal utile.