Socotel S63 avec Asterisk

Il y a trois ans, lors du vide-greniers annuel que j'aime tant fréquenter, j'avais mis la main sur un Minitel 1B. Cette année, j'y ai mis la main sur un téléphone à cadran Socotel S63.

Mon Socotel S63
Mon Socotel S63

Pour la petite histoire, ce téléphone a été fabriqué par la Société des Constructeurs de Téléphone et dont les premiers modèles dateraient de 1963. Je suis hélas trop jeune pour les avoir connus, mais ces téléphones sont apparemment très répandus en France et en ouvrant un peu l'œil, on peut en trouver de nombreux exemplaires dans des vide-greniers.

Le mien sera bien entendu branché sur ma tour servant de PBX avec Asterisk, grâce à sa carte OpenVox A400P.

Numérotation à impulsions

Ce téléphone à cadrans utilise cependant l'ancien système de numérotation à impulsions, contrairement à la numérotation à fréquences vocales (DTMF) quasi-omniprésente de nos jours.

Le système de numérotation à impulsions (aussi appelée numérotation décimale) consiste à envoyer des trains d'impulsions sur la ligne téléphonique : une impulsion pour le chiffre 1, deux pour le chiffre 2, et ainsi de suite jusqu'à dix pour le chiffre 0. Ces impulsions consistent en une ouverture du circuit de la ligne pendant 33,3 ms (comme si on appuyait sur le bouton de raccrochage) puis une fermeture du circuit pendant 66,7 ms.

Ce système est toujours accepté sur les commutateurs téléphoniques de France Télécom (si vous possédez une ligne fixe « classique » non liée à une offre VoIP d'une box quelconque), mais n'est plus acceptée par les box Internet. Ces box nécessitent l'adjonction d'un boîtier de conversion de numérotation décimale vers DTMF au téléphone pour pouvoir numéroter correctement.

Cela dit, Asterisk accepte également la numérotation par impulsions. Cependant, pour que cela fonctionne correctement, il faut charger le module wctdm (pilote de la carte OpenVox A400P) avec l'option dialdebounce=32. Cette valeur est positionnée par défaut à 64 (millisecondes), empêchant la bonne détection des impulsions : un 1 qui n'est pas détecté du tout, un 4 qui devient un 2 ou un 3...

Mon fichier /etc/modprobe.d/dahdi.conf sur mon système est ainsi le suivant :

options wctdm opermode=TBR21 dialdebounce=32

Avec cette ligne, le Socotel marche à merveille, et il m'est alors possible de faire sonner mon téléphone IP sur mon bureau en composant son numéro interne sur le cadran du Socotel. Ou bien d'entendre la sonnerie si appréciée du Socotel en composant son numéro sur mon téléphone IP. Cerise sur le gâteau : je peux même passer des appels via ma ligne téléphonique Livebox, alors que la box elle-même n'accepte pas la numérotation à impulsions ; Asterisk faisant lui-même la conversion entre impulsions et DTMF.

Je tiens à préciser qu'aucune autre modification de la configuration d'Asterisk n'est nécessaire pour accepter la numérotation décimale.

Petite optimisation de sonnerie et de présentation du numéro

J'en profite pour documenter une petite optimisation que j'ai trouvée pour réduire le délai entre le début de la sonnerie d'une ligne analogique et l'affichage du numéro sur un téléphone analogique avec présentation du numéro.

En effet, en France, le numéro de l'appelant est transmis entre la première et la deuxième sonnerie. Or certains téléphones analogiques ne sonnent pas tant qu'ils n'ont pas reçu le numéro de l'appelant, ce qui les font systématiquement sonner avec 4 secondes de retard par rapport à mes téléphones IP...

C'est pour cela que France Télécom modifie sa cadence de sonnerie pour ne faire qu'une courte première sonnerie (250 ms), puis une pause de 2 secondes pour transmettre le numéro de l'appelant, pour ensuite continuer avec la cadence normale de sonnerie (1,5 s puis 3,5 s de silence).

Pour faire de même, il suffit de paramétrer /etc/asterisk/chan_dahdi.conf ainsi :

[channels]

progzone=fr
defaultzone=fr
cadence=250,-2000,1500,3500,1500,3500,1500,3500,1500,3500,1500,3500,1500,3500,1500,3500

Ensuite, il faut modifier son plan de numérotation (extensions.conf) afin de substituer les canaux DAHDI/Xr1 à DAHDI/X. Par exemple Dial(DAHDI/1) devient Dial(DAHDI/1r1).

Il ne reste plus qu'à recharger le module noyau wctdm (oui oui, il le faut) puis redémarrer Asterisk pour appliquer ces changements.

Posté par x0r à 3 commentaires • Tags : asterisk téléphone socotel s63 pbx

Commentaires

Poster un commentaire

#1 — Alexis

Hello, Je viens de tomber sur ce blog qui est ma foi très intéressant et aux articles variés. Ce n'est qu'une maigre contribution mais je vous confirme que le Socotel S63 fonctionne sur une box SFR (Modèle NB6V-FXC-r0 et ligne dégroupée), sans aucun bricolage, tant en émission qu'en réception. Entendre cette bonne vieille sonnerie ravive à chaque fois de doux souvenirs d'enfance, notamment les vacances passées à la campagne chez les grands parents ! ;) Bonne soirée Alexis

#2 — FSC

Compliments sur le site et la qualité des recherches. Du pur geek comme on aime :) Mais je me sens vieux, parce que moi, je l'ai utilisé, ce socotel. Je l'aimais bien, d'ailleurs. Vu que j'ai installé un asterisk au bureau, je crois que je ne résisterai pas au plaisir de faire stresser les collabs de plus de 40 ans (ou mieux, les jeunes de 20 piges) en remplaçant leur cisco par un socotel...

As-tu testé la messagerie, et notamment la saisie du code pin par impulsions ?

#3 — x0r

Oui, j'ai testé la messagerie ; la navigation dans les menus fonctionne même par impulsions, donc la saisie de code PIN devrait marcher. Amuse-toi bien ;)

Poster un commentaire