4 # Watches my modem on ttyS4 for new calls and reports the caller id.
5 # Requires a $HOME/bin/phone-call to handle them.
13 my $modem = new Device::Modem( port => '/dev/ttyS4', baudrate => '38400', log => 'file,/dev/null');
21 $modem->connect() || return 0;
22 $modem->atsend( 'AT#CID=1' . Device::Modem::CR );
27 daemonize() if (shift eq "-d");
29 initialize($modem) || die "Could not initialize modem: $!";
33 %values = wait_for_ring();
34 #%values=("NMBR" => "2102130787", "NAME" => "WIRELESS CALLER");
36 print $values{"NMBR"}. " " .$values{"NAME"}, "\n";
37 ring($values{"NMBR"}.' "'.$values{"NAME"}.'"');
38 } elsif (!%values) {last;}
45 #local $SIG{ALRM} = sub { die "alarm\n" };
47 $_ = $modem->answer("NMBR = [0-9A-Z]*[^0-9A-Z]");
51 #die unless $@ eq "alarm\n";
54 #my $CR = Device::Modem::CR;
55 my %values = ("success" => 1);
56 #print ("$_\n"); # if ($_);
57 foreach (split /\r\n/) {
58 if(m/^(.*) = (.*)$/) {
67 system($ENV{"HOME"} . "/bin/phone-call " . $_[0]);
80 open(STDOUT,">/tmp/.phone.log") or die "$!";
87 $modem->disconnect() if($modem);
88 unlink "/tmp/.phone.log";