]>
git.ipfire.org Git - people/fbuehrle/ipfire-2.x.git/blob - src/ppp/dialer
5 # This code is distributed under the terms of the GPL
7 # (c) The SmoothWall Team
9 # $Id: dialer,v 1.3.2.2 2005/01/26 12:23:26 riddles Exp $
13 require '/var/ipfire/general-functions.pl';
18 &General
::readhash
("${General::swroot}/ppp/settings", \
%pppsettings);
19 &General
::readhash
("${General::swroot}/modem/settings", \
%modemsettings);
21 if ($modemsettings{'INIT'} eq '') {
22 $modemsettings{'INIT'} = '+++ATZ'; }
23 if ($modemsettings{'HANGUP'} eq '') {
24 $modemsettings{'HANGUP'} = 'ATH'; }
25 if ($modemsettings{'SPEAKER_ON'} eq '') {
26 $modemsettings{'SPEAKER_ON'} = 'AT'; }
27 if ($modemsettings{'SPEAKER_OFF'} eq '') {
28 $modemsettings{'SPEAKER_OFF'} = 'AT'; }
29 if ($modemsettings{'TONE_DIAL'} eq '') {
30 $modemsettings{'TONE_DIAL'} = 'ATD'; }
31 if ($modemsettings{'PULSE_DIAL'} eq '') {
32 $modemsettings{'PULSE_DIAL'} = 'ATD'; }
34 my $telephone = $pppsettings{'TELEPHONE'};
35 my $username = $pppsettings{'USERNAME'};
36 my $password = $pppsettings{'PASSWORD'};
38 my ($loginscript, $speaker, $dial, $btfudge);
40 if ($pppsettings{'AUTH'} eq 'standard-login-script') {
41 $loginscript = 'standardloginscript'; }
42 elsif ($pppsettings{'AUTH'} eq 'demon-login-script') {
43 $loginscript = 'demonloginscript'; }
45 $loginscript = $pppsettings{'LOGINSCRIPT'}; }
46 if ($pppsettings{'SPEAKER'} eq 'on') {
47 $speaker = $modemsettings{'SPEAKER_ON'}; }
49 $speaker = $modemsettings{'SPEAKER_OFF'}; }
50 if ($pppsettings{'DIALMODE'} eq 'T') {
51 $dial = $modemsettings{'TONE_DIAL'} }
53 $dial = $modemsettings{'PULSE_DIAL'} }
54 if ($pppsettings{'SENDCR'} eq 'off') {
60 my ($add_at1, $add_at2, $add_at3);
62 if ($pppsettings{'ADD_AT1'} eq '') {
65 $add_at1 = $pppsettings{'ADD_AT1'}; }
66 if ($pppsettings{'ADD_AT2'} eq '') {
69 $add_at2 = $pppsettings{'ADD_AT2'}; }
70 if ($pppsettings{'ADD_AT3'} eq '') {
73 $add_at3 = $pppsettings{'ADD_AT3'}; }
75 unlink('/var/log/connect.log');
77 my $com = "/usr/sbin/chat -v -r /var/log/connect.log \
81 ABORT '\\nNO ANSWER\\r' \
82 ABORT '\\nRINGING\\r\\n\\r\\nRINGING\\r' \
83 ABORT '\\nNO CARRIER\\r' \
84 '' '$modemsettings{'INIT'}' \
86 '' '$modemsettings{'INIT'}' \
87 OK '$modemsettings{'HANGUP'}' \
92 TIMEOUT '$modemsettings{'TIMEOUT'}' \
93 OK '\d${dial}${telephone}' \
94 CONNECT '${btfudge}' ";
98 if (open(FILE
, "/etc/ppp/${loginscript}"))
104 $com =~ s/USERNAME/$username/;
105 $com =~ s/PASSWORD/$password/;