3 # -*- perl -*- vim: ft=perl sw=4 sts=4
5 # Watches my modem on ttyS4 for new calls and reports the caller id.
6 # Requires a $HOME/bin/phone-call to handle them.
14 my $modem = new Device::Modem( port => '/dev/ttyS4', baudrate => '38400', log => 'file,/dev/null');
22 $modem->connect() || return 0;
23 $modem->atsend( 'AT#CID=1' . Device::Modem::CR );
28 daemonize() if (shift eq "-d");
30 initialize($modem) || die "Could not initialize modem: $!";
34 %values = wait_for_ring();
35 #%values=("NMBR" => "2102130787", "NAME" => "WIRELESS CALLER");
37 print $values{"NMBR"}. " " .$values{"NAME"}, "\n";
38 ring($values{"NMBR"}.' "'.$values{"NAME"}.'"');
39 } elsif (!%values) {last;}
46 #local $SIG{ALRM} = sub { die "alarm\n" };
48 $_ = $modem->answer("NMBR = [0-9A-Z]*[^0-9A-Z]");
52 #die unless $@ eq "alarm\n";
55 #my $CR = Device::Modem::CR;
56 my %values = ("success" => 1);
57 #print ("$_\n"); # if ($_);
58 foreach (split /\r\n/) {
59 if(m/^(.*) = (.*)$/) {
68 system($ENV{"HOME"} . "/bin/phone-call " . $_[0]);
81 open(STDOUT,">/tmp/.phone.log") or die "$!";
88 $modem->disconnect() if($modem);
89 unlink "/tmp/.phone.log";