<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> <TITLE>The Linux Modem-HOWTO: Dial-in - ricevere chiamate</TITLE> <LINK HREF="Modem-HOWTO-12.html" REL=next> <LINK HREF="Modem-HOWTO-10.html" REL=previous> <LINK HREF="Modem-HOWTO.html#toc11" REL=contents> </HEAD> <BODY> <A HREF="Modem-HOWTO-12.html">Avanti</A> <A HREF="Modem-HOWTO-10.html">Indietro</A> <A HREF="Modem-HOWTO.html#toc11">Indice</A> <HR> <H2><A NAME="dialin_"></A> <A NAME="s11">11. Dial-in - ricevere chiamate</A></H2> <H2><A NAME="ss11.1">11.1 Introduzione</A> </H2> <P> Il dial-in è quando impostate il vostro PC così che altri possano chiamare il vostro numero di telefono ed usare il vostro PC. Il "punto di vista" è il vostro PC. Quando componete un numero esterno dal vostro PC state nel contempo facendo un dial-in in un altro computer (ma non potete fare il dial-in nel vostro proprio computer). <P>Il dial-in funziona così. Qualcuno con un modem compone il vostro numero telefonico. Il vostro modem risponde alla chiamata e si connette. Una volta che il chiamante è connesso, il vostro PC (tramite il programma <CODE>getty</CODE>) invia il processo di login per il chiamante. Il metodo originale era quello di inviare un prompt di login allo schermo del chiamante (login manuale). Ma un metodo più moderno (se usate <CODE>mgetty</CODE>) è lanciare PPP (pppd) e lasciar fare al PPP il login al chiamante in modo automatico (non c'è bisogno di digitare manualmente un nome o una password). Vedere il PPP-HOWTO (una nuova revisione è attesa tra poco) e la documentazione di <CODE>mgetty</CODE> per maggiori dettagli. <P>Dopo che il chiamante si è collegato, egli usa il vostro PC. Usare il vostro PC significa che il chiamante ha un account di shell e può usare il vostro PC proprio come se si fosse collegato tramite console (o terminale di testo). Potrebbe anche significare che egli si può connettere ad Internet attraverso il vostro PC (tramite PPP). Il programma che usate nel vostro PC per gestire il dial-in è chiamato <CODE>getty</CODE> o <CODE>mgetty</CODE>. Vedere <A HREF="#mgetty_">A proposito di mgetty</A><P>Se vi aspettate che qualcuno sia in grado di collegarsi a 56k, non è possibile a meno che: <OL> <LI> Abbiate una connessione digitale alla compagnia telefonica tipo una linea trunkside-T1 o ISDN.</LI> <LI> Usiate modem digitali speciali (vedere <A HREF="Modem-HOWTO-3.html#digital_modem">Modem digitali</A>)</LI> <LI> Abbiate un "...concentrator" (concentratore) o simile per interfacciare i vostri modem digitali alle linee digitali della compagnia telefonica. </LI> </OL> Un "... concentrator" potrebbe essere chiamato anche "modem concentrator" oppure "remote access concentrator" (concentratore di accesso remoto) o potrebbe essere incluso in un "remote access server" (server di accesso remoto) che includa i modem digitali, ecc. Questo tipo di impostazioni vengono usate dagli Internet Service Provider (ISP). <P> <H2><A NAME="getty_"></A> <A NAME="ss11.2">11.2 Getty </A> </H2> <P> <CODE>getty</CODE> è il programma che lanciate per il dial-in. Non ne avete bisogno per chiamate verso l'esterno (dialout). Oltre a presentare un prompt di login, risponde anche al telefono. Originariamente getty veniva usato per il login verso un computer da un terminale stupido. È attualmente usato per il login verso una console Linux. Ci sono alcuni programmi getty differenti con nomi leggermente diversi. Solo alcuni funzionano con i modem per il dialin. Questo programma <CODE>getty</CODE> viene in genere lanciato in fase di boot. Deve essere chiamato dal file /etc/inittab. Potreste trovare un esempio in questo file di una chiamata a getty nel quale potreste avere bisogno di fare qualche piccola modifica. Se usate un programma getty diverso da quello mostato nell'esempio, allora dovreste apportare delle modifiche importanti visto che le opzioni hanno diversi formati. <P> <P> Ci sono quattro diversi programmi getty tra cui scegliere che possono essere usati coi modem per il dialin: <CODE>mgetty</CODE>, <CODE>uugetty</CODE>, <CODE>getty_em</CODE> e <CODE>agetty</CODE>. Alcuni dettagli vengono forniti nelle sottosezioni seguenti. <CODE>getty</CODE> è il più semplice (e più debole) dei quattro ed alcuni lo considerano principalmente da usarsi con terminali di testo collegati direttamente. <CODE>mgetty</CODE> supporta fax e voice mail, invece <CODE>uugetty</CODE> no. <CODE>mgetty</CODE> si afferma manchi di alcune delle caratteristiche di <CODE>ugetty</CODE>. <CODE>getty_em</CODE> è una versione semplificata di <CODE>ugetty</CODE>. Quindi <CODE>mgetty</CODE> è probabilmente la vostra scelta migliore a meno che abbiate già familiarità con <CODE>ugetty</CODE> (o troviate difficile reperire <CODE>mgetty</CODE>). La sintassi per questi programmi getty differisce, così assicuratevi di stare usando la sintassi corretta in <CODE>/etc/inittab</CODE> per qualsiasi getty usiate. <P> <P> <H3><A NAME="mgetty_"></A> Mgetty </H3> <P><CODE>mgetty</CODE> fu scritto come rimpiazzo di <CODE>uugetty</CODE> che esisteva molto prima di <CODE>mgetty</CODE>. Entrambi si possono usare con i modem. Sebbene <CODE>mgetty</CODE> possa anche essere usato per terminali direttamente connessi, la documentazione per questa cosa è difficile da trovare e mgetty (a metà 1999) non supporta il controllo di flusso software ( usato da molti terminali) senza ricompilarlo. Questo difetto viene classificato come un bug. Oltre a consentire login in dialup, <CODE>mgetty</CODE> fornisce supporto FAX ed autoriconoscimento del PPP. C'è un programma addizionale chiamato <CODE>vgetty</CODE> che gestisce le caselle vocali per alcuni modem. La documentazione per <CODE>mgetty</CODE> è buona (eccetto per le caselle vocali), e non necessita di supplementi. Per cortesia riferitevi ad essa per le istruzioni di installazione. Potete trovare le ultime informazioni su <CODE>mgetty</CODE> a <A HREF="http://www.leo.org/~doering/mgetty/">http://www.leo.org/~doering/mgetty/</A> e <A HREF="http://alpha.greenie.net/mgetty">http://alpha.greenie.net/mgetty</A><P> <H3><A NAME="uugetty_"></A> uugetty </H3> <P><CODE>getty_ps</CODE> contiene due programmi: <CODE>getty</CODE> viene usato per le console ed i terminali, e <CODE>ugetty</CODE> per i modem. Greg Hankins (già autore del Serial-HOWTO) usava <CODE>ugetty</CODE> così le sue considerazioni circa questo sono là incluse. Vedere <A HREF="Modem-HOWTO-12.html#uugetty_">Uugetty</A>. Gli altri getty sono ben trattati dalla documentazione che li accompagna. <P> <H3><A NAME="getty_em_"></A> getty_em </H3> <P> Questa è una versione semplificata di "uugetty". Fu scritta da Vern Hoxie dopo che fu completamente confuso dai complessi file di supporto che occorrono a getty_ps e uugetty. <P>Fa parte della raccolta di utilità ed informazioni di Vern Hoxie reperibili tramite ftp da <A HREF="scicom.alphacdc.com/pub/linux">scicom.alphacdc.com/pub/linux</A>. Il nome della raccolta è "serial_suite.tgz". Quando eseguite il login in "scicom" come anonimi, dovete usare il vostro indirizzo e-mail completo come password. Ad esempio: greg.hankins@cc.gatech.edu <P> <H3>agetty e mingetty</H3> <P><CODE>agetty</CODE> è una semplice e completamente funzionale implementazione di <CODE>getty</CODE> che meglio si adatta alle console virtuali od ai terminali piuttosto che per i modem. Ma, date determinate condizioni favorevoli, funziona bene anche con i modem (a meno che voi non eseguiate una chiamata quando agetty è in esecuzione in fase di attesa di chiamate). <CODE>agetty</CODE> nella distribuzione Debian viene semplicemente chiamata <CODE>getty</CODE>. <P><CODE>mingetty</CODE> è un piccolo getty che funzionerà solo per le console (monitor), quindi non si può usare con i modem per il dialin. <P> <H2><A NAME="ss11.3">11.3 Cosa succede quando qualcuno ci chiama? (dial-in)</A> </H2> <P> Il chiamante lancia un certo programma di configurazione che compone il vostro numero di telefono ed il vostro telefono squilla. Ci sono due differenti modi nei quali il vostro PC può rispondere al telefono. Un modo è che il modem risponda automaticamente alla chiamata. L'altro modo è che getty rilevi lo squillo ed invii un comando al modem che gli imponga di rispondere alla chiamata. Una volta che viene risposto alla chiamata, il vostro modem invia dei toni all'altro modem (e viceversa). I due modem negoziano il modo con il quale essi comunicheranno e quando finiscono il vostro modem invia un messaggio di "CONNECT" (connessione) o simile a <CODE>getty</CODE>. Quando <CODE>getty</CODE> riceve questo messaggio invia un prompt di login attraverso la porta seriale. Qualche volta <CODE>getty</CODE> invoca semplicemente un programma chiamato <CODE>login</CODE> per gestire il login. <CODE>getty</CODE> in genere viene lanciato in fase di boot ma deve aspettare fino a quando viene effettuata una connessione prima di fare partire il prompt di login. <P>Ora ulteriori dettagli sui due modi di rispondere ad una chiamata. Impostando il registro S0 del modem a 3, il modem automaticamente risponde al terzo squillo. Se è impostato a 0 allora il modem risponderà alla chiamata solo se getty gli invia il comando "A" (Risposta) mentre il telefono sta squillando. In realtà il comando è "ATA" visto che tutti i comandi modem devono essere prefissati da "AT". Potreste pensare che sia meglio utilizzare la capacità del modem di rispondere automaticamente alla chiamata, ma in verità è meglio fare sì che sia <CODE>getty</CODE> a rispondere. Se il modem non risponde automaticamente, si parla di risposta manuale (anche se <CODE>getty</CODE> la gestisce in modo automatico). <P>Per il caso di risposta manuale, <CODE>getty</CODE> apre la porta in fase di boot e resta in ascolto. Quando il telefono squilla, un messaggio "RING" viene inviato a <CODE>getty</CODE> che sta ascoltando. Poi se <CODE>getty</CODE> vuole rispondere allo squillo, invia al modem il comando "ATA". Il modem poi esegue la connessione ed invia il messaggio "CONNECT ..." a <CODE>getty</CODE> che invia un prompt di login al chiamante. <P>Nel caso della risposta automatica, viene usata la linea CD "Carrier detect" (Portante rilevata) che va dal modem alla porta seriale per rilevare quando viene fatta una connessione. Funziona così. In fase di boot, <CODE>getty</CODE> cerca di aprire la porta seriale, ma fallisce visto che in genere non c'è segnale CD dal modem. Allora il programma <CODE>getty</CODE> si ferma all'istruzione di apertura (open) nel programma fino a che il segnale CD compare. Quando un segnale CD arriva (forse ore dopo), allora la porta viene aperta e <CODE>getty</CODE> invia il prompt di login. Mentre <CODE>getty</CODE> sta aspettando all'altezza dell'istruzione di apertura, altri processi possono essere lanciati visto che Linux è un sistema operativo multiprocessing. Quello che fa "svegliare" <CODE>getty</CODE> è un interrupt che viene generato quando la linea CD dal modem pone il suo stato ad on. <P>Potreste chiedervi come getty sia capace di aprire la porta seriale nel caso della risposta manuale visto che non vi è segnale CD. Bene, si può scrivere un programma per forzare l'apertura della porta anche se non è presente un segnale CD. <P> <H2><A NAME="ss11.4">11.4 Perché la risposta manuale è meglio</A> </H2> <P> La differenza tra i due modi di risposta si palesa quando il computer è spento ma il modem sta ancora lavorando. Nel caso manuale, il messaggio "RING" viene inviato a getty ma visto che il computer è spento, getty non è pronta, quindi non ci sarà mai risposta al telefono. Non ci sono addebiti telefonici quando non si risponde alla chiamata. Nel caso della risposta automatica, c'è risposta alla telefonata ma non verrà mai inviato un prompt di login visto che il computer è spento. La bolletta cresce mentre l'attesa continua. Se la chiamata è gratuita, non fa molta differenza, sebbene possa essere frustrante attendere per un prompt di login che mai arriverà. <CODE>mgetty</CODE> usa la risposta manuale. <CODE>uugetty</CODE> può fare questo tramite uno script di configurazione. <P> <H2><A NAME="ss11.5">11.5 Callback</A> </H2> <P>Si definisce callback quando qualcuno per primo chiama il vostro modem. Poi voi ottenete un po' di informazioni dal chiamante e lo richiamate. Perché si vuole fare questo? Una ragione è risparmiare sulla bolletta se voi potete telefonare al chiamante con tariffe più convenienti rispetto alle sue. Un altro è assicurarvi che il chiamante sia davvero colui che sostiene di essere. Se un chiamante vi contatta e dice di chiamare dal suo abituale numero telefonico, un modo per verificarlo è di effettuare una nuova chiamata a quel numero. <P>C'è un programma per Linux chiamato "callback" che funziona con mgetty. Si trova in <A HREF="ftp://ftp.icce.rug.nl/pub/unix/">ftp://ftp.icce.rug.nl/pub/unix/</A>. Istruzioni passo-passo su come installarlo (e PPP) si trovano a <A HREF="http://www.stokely.com/unix.serial.port.resources/callback.html">http://www.stokely.com/unix.serial.port.resources/callback.html</A><P> <H2><A NAME="voice_"></A> <A NAME="ss11.6">11.6 Casella vocale (Voice Mail) </A> </H2> <P> La casella vocale è come una segreteria telefonica eseguita da un computer. Per fare questo dovete avere un modem con il supporto "voice" ed il relativo software. Invece di incidere i messaggi su nastro, essi vengono salvati in forma digitale sul disco. Quando qualcuno vi chiama, ascolterà un messaggio di benvenuto e poi può lasciare un messaggio per voi. Sistemi più avanzati possono avere caselle postali selezionabili dal chiamante e messaggi da fare ascoltare selezionabili dall'utente. Software gratuito è disponibile in Linux per la semplice risposta, ma non sembra essere ancora a disposizione per capacità più avanzate. <P>So di due diversi pacchetti di voicemail per Linux. Uno è minimale (vedere <A HREF="Modem-HOWTO-14.html#voice_sw">Voicemail Software</A>). L'altro, più avanzato, ma attualmente scarsamente documentato, è <CODE>vgetty</CODE>. È una aggiunta opzionale al ben documentato e largamente distribuito programma <CODE>mgetty</CODE>. Supporta i comandi modem vocali tipo ZyXEL. Nella distribuzione Debian potete ottenere il pacchetto mgetty-voice in aggiunta al pacchetto mgetty e mgetty-doc. La documentazione obsoleta è stata rimossa da mgetty, ma quella messa al suo posto è latitante (a meno che voi usiate l'opzione -h (aiuto) quando lanciate certi programmi, ecc). Ma si potrebbero consultare i messaggi circa l'uso che vengono inviati nel newsgroup di mgetty. Vedere <A HREF="#mgetty_">A proposito di mgetty</A> e >. Sembra che <CODE>vgetty</CODE> sia attualmente non molto stabile ma che venga usato con successo e che il suo sviluppo continui. Se questa è l'ultima versione di questo HOWTO qualcuno che è familiare con vgetty mi faccia cortesemente sapere lo stato attuale delle cose. <P> <HR> <A HREF="Modem-HOWTO-12.html">Avanti</A> <A HREF="Modem-HOWTO-10.html">Indietro</A> <A HREF="Modem-HOWTO.html#toc11">Indice</A> </BODY> </HTML>