#!/usr/bin/perl -w

require '/var/smoothwall/header.pl';

my %pppsettings;

&readhash("${swroot}/ppp/settings", \%pppsettings);
 
$telephone = $pppsettings{'TELEPHONE'};
$username = $pppsettings{'USERNAME'};
$password = $pppsettings{'PASSWORD'};
if ($pppsettings{'AUTH'} eq 'standard-login-script') {
	$loginscript = 'standardloginscript'; }
elsif ($pppsettings{'AUTH'} eq 'demon-login-script') {
	$loginscript = 'demonloginscript'; }
else {
	$loginscript = $pppsettings{'LOGINSCRIPT'}; }
if ($pppsettings{'SPEAKER'} eq 'on') {
	$atspeaker = 'ATM1'; }
else {
	$atspeaker = 'ATM0'; }
$dialmode = $pppsettings{'DIALMODE'};

$com = "/usr/sbin/chat -v					\
	TIMEOUT		3					\
	ABORT		'\\nBUSY\\r'				\
	ABORT		'\\nNO ANSWER\\r'			\
	ABORT		'\\nRINGING\\r\\n\\r\\nRINGING\\r'	\
	ABORT		'\\nNO CARRIER\\r'			\
	''		+++ATZ					\
	OK		ATH0					\
	OK		$atspeaker				\
	TIMEOUT		45					\
	OK		ATD${dialmode}${telephone}		\
	CONNECT		''";

if ($loginscript)
{
	if (open(FILE, "/etc/ppp/${loginscript}"))
	{
		while (<FILE>) {
			$com = "$com $_ "; }
		close FILE;
	}
	$com =~ s/USERNAME/$username/;
	$com =~ s/PASSWORD/$password/;
}

$com =~ s/\n//g;

exec $com;
