UTILISATION
xteld utilise le fichier "/usr/X11R6/lib/X11/xtel/xtel.services"
(sous Xfree86) qui contient la liste des services disponibles sous la forme :
"[Nom du device,]" "Nom de l'entr?e du menu" ,
"Numero de t?l?phone du service[:nom_service]" [,
"login1[:login2...]" ]
? raison d'une ligne par service. Le premier champ (nom du device) d?finit un
nom symbolique (ou device) pour les connexions ? un standard donn?
(V.23, V32bis, TVR). Chaque
device est associ? ? une configuration particuli?re de la ligne physique (vitesse,
nombre de bits, parit?) qui sera d?finie dans xtel.lignes. Si le premier
champ a la valeur @pipe, cela signifie que l'acc?s au service se fait
au travers d'une commande locale (dont le chemin absolu est precis? dans le
dernier champ) par pipe Unix. On peut ajouter ? cette commande le flag
:crlf qui permet la conversion de CR en LF.
Si le premier champ a la valeur @tcp, l'acc?s au service se fait avec
une connexion TCP. Les champs suivant contiennent respectivement le nom de
l'entr?e du menu puis le nom Internet du serveur puis le num?ro de port
ou le nom de service TCP (s?par? du nom Internet par le caract?re ':')
Si le premier champ a la valeur @iminitel, l'acc?s au service se fait avec
une connexion PPP au num?ro 3622. Les champs suivant contiennent respectivement le
nom de
l'entr?e du menu puis le nom du script de connexion puis le num?ro de port
ou le nom de service TCP (s?par? du nom Internet par le caract?re ':')
Ce premier champ est optionnel ce qui permet en particulier de supporter
l'ancienne syntaxe. A ce moment la, les fichier xtel.services et
xtel.lignes ne doivent pas utiliser la nouvelle syntaxe (pas de
m?lange possible).
Si le dernier champ est absent, la connexion au service est permise ? tous
les utilisateurs,
sinon elle est limit?e ? ceux dont les noms de login sont
sp?cifi?s sous la forme 'user@machine'. Si la machine n'est pas sp?cifi?e, tous
les utilisateurs portant le nom 'user' sont autoris?s. La syntaxe '@machine'
permet d'autoriser tous les utilisateur d'une machine donn?e. Le nom d'utilisateur
est ignor? dans le cas des connexion Window$ (HyperTerminal).
On peut utiliser des caract?res 8 bits pour le nom du service (1er
champ), si le caract?re ne peut ?tre saisi directement, on pourra le repr?senter
sous la forme d'un code octal \xyz . Si troisi?me champ est de la forme
num?ro:nom_service, cela signifie que l'acc?s est limit? au service donn?
(ex: 3615:METEO).
Si les champs s?par?s pas des ':' sont de la forme :
user1=delai
cela signifie que l'utilisateur pourra rester connect? au service pendant la
dur?e pr?cis?e par le delai (en secondes). Si le nom d'utilisateur n'est pas
pr?sent, ce delai est alors valable pour tous les utilisateurs. Un d?lai de
ce type doit ?tre precis? en avant la d?finition des utilisateurs
autoris?s.
Exemple :
v23,Annuaire ?lectronique,3611,=180
v23,T?l?tel1,3613
v23,T?l?tel2,3614
tvr,T?l?tel TVR,3623
v23,T?l?tel3,3615,=60,user1@linuxbox:user2=120:user3:@pcwin
@pipe,Acc?s ondee,/usr/bin/telnet ondee
@pipe:crlf,Acc?s sidonie,/usr/bin/telnet sidonie
@tcp,Acc?s Minitel TCP/IP,minitel.fr:513
@iminitel,Acc?s I-Minitel,connect_iminitel:7516
v23,Direct,0
Dans cet exemple le service, le service d'Annuaire est autoris? ? tous
pendant 180 secondes (tant que c'est gratuit !). Le T?l?tel3 est
accessible ? tous les utilisateurs pendant 60 secondes, l'utilisateur
user2 y a droit pendant 120 secondes. Les connexions provenant de
'linuxbox' ne sont autoris?es qu'? 'user1'. Tous les utilisateurs de 'pcwin'
ont droit au service.
La derni?re ligne d?finit une possibilit? de num?ro de t?l?phone
direct (mot-cl? Direct), l'utilisateur saisira directement le num?ro lors de la
composition dans xtel.
On utilise ?galement le fichier "/usr/X11R6/lib/X11/xtel/xtel.lignes"
qui d?finit les lignes disponibles et la proc?dure de composition. Ce fichier est de
la forme :
"[Nom du device,]" "Nom de la ligne[:rtscts]" ,
"[Vitesse en bauds,]" "[Nombre de bits,]" "[Parit?,]" "chat-script avec le modem" ,
"delai maxi de r?ponse du modem en secondes" "[,temporisation entre commandes en millisecondes.]"
Et ce pour chaque ligne utilisable. Si le premier champs (nom du device) est r?p?t?
sur plusieurs lignes, cela signifie que plusieurs modem physiques sont associ?s au
device logique. Le serveur utilisera alors automatiquement le premier modem
disponible.
Si la ligne commence par le caract?re "/", on consid?re que l'ancienne
syntaxe est utilis?e. On peut ajouter au nom de la ligne la chaine
:rtscts qui pr?cise que cette ligne doit ?tre configur?e en controle de
flux hardware RTS/CTS. Cette configuration est g?n?ralement utile si la vitesse
de ligne est sup?rieure ou ?gale a 9600 (cas du TVR par exemple). On doit alors
configurer le modem (dans le chat-script) afin qu'il g?re
correctement le RTS/CTS (en g?n?ral par la commande AT&K3 sur un modem
compatible HAYES).
Les valeurs de vitesse possibles sont :
50, 75 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600,
19200, 38400,
les valeurs de tailles de caract?res sont : 5, 6, 7, 8, les valeurs de parit?
sont : E, O, N.
Un "chat-script" est une suite de paires chaine_emise/chaine_attendu entre un
processus et un modem (voir UUCP).
Si le chat-script est remplace par la chaine minitel2, la ligne est definie
comme utilisant un Minitel 2 comme modem.
Si le chat-script est remplace par la chaine minitel1, la ligne est d?finie
comme utilisant un Minitel 1/1B comme modem. A ce moment la, le menu "Services"
ne sera pas affich? dans xtel et l'utilisateur devra composer son num?ro ? la main
(le M1/M1B ne sachant th?oriquement pas composer de num?ro).
Le champ temporisation est optionnel et peut contenir une dur?e (en ms)
d'attente entre l'envoi de chaque commande au modem dans la phase
d'initialisation. Il permet un meilleur support de certains anciens modems qui
n'acceptaient pas de recevoir un flot de commande trop rapide. S'il n'est pas
pr?cis?, aucune temporisation n'est effectu?e (c'est le comportement standard de xteld).
Exemples :
/dev/cua0,\dat\r OK atdt\T\r CONNECT,30
v23,/dev/cua1,1200,7,E,\dat\r OK atdt\T\r CONNECT,30,250
tvr,/dev/cua2:rtscts,9600,8,N,\dat\r OK atdt\T\r CONNECT,30
Ce fichier d?finit la ligne
"/dev/cua0" sur laquelle on d?roule le chat-script suivant :
\d On attend 1 s pour laisser le modem souffler...
at\r OK On emet at + CR et on attend OK
at\T\r CONNECT On emet at + le numero + CR et on attend
CONNECT
Le d?lai de reponse du modem est de
30 secondes maxi. Si le d?lai est d?pass?, xteld essayera sur la ligne suivante du fichier
jusqu'? un succ?s ou la fin du fichier.
La ligne
v23 d?clare aussi une temporisation de
250ms entre chaque commande transmise au modem.
Remarques :
Le format du chat-script accepte les s?quences suivantes :
\a BELL
\n envoie LF
\r envoie CR
\t envoie VT
\d tempo de 1 s
\T envoie le num?ro de t?l?phone
\abc envoie le caract?re cod? en DECIMAL par abc (3 digits obligatoires)
\xab envoie le caract?re cod? en HEXADECIMAL par ab (2 digits)
Pour certains modems, il faudra OBLIGATOIREMENT pr?ciser une tempo \d
avant la premier commande at.
Dans le cas d'un fonctionnement en r?seau, xteld utilise ? priori le port
TCP num?ro 1313 d?fini dans le fichier "/etc/services"