Version 2.2.0.1 includes the following changes from the previous release:
- fixed problem where a small notification window would show the wrong call data if the call was deleted while the window was showing
- when testing an action from the Action list, load the test caller's contact info if a contact is defined
- added ContactCallsMade, ContactCallsReceived, ContactFirstCalled, ContactLastCalled, PhoneCallsMade, PhoneCallsReceived, PhoneFirstCalled, PhoneLastCalled to CallInfo object
As always, bug reports and feedback are appreciated.
You can download this version here:
http://ascendis.com/callerid/CallerID_Beta_Setup.exe
The beta page is available here:
http://ascendis.com/callerid/beta.php
Ascendis Caller ID beta version 2.2.0.1 now available
Action using new CallInfo members
Thanks for the new CallInfo members. I've written a short action that I now apply to numbers which continually call and don't leave messages on my answering machine. Every Nth message (N user configurable) the action plays a message which gives the caller notice that if they don't leave a message on subsequent calls, their number will be permanently blocked. It does nothing (but could if you wanted to) on other calls from the number. If you don't want this to occur for all callers, you have to add the problem number to your contacts list and assign the action to it there.
Code: Select all
// LANGUAGE=DWS
// BWM 20091001 - original
//
// Purpose: provide alternating actions on every Nth call to a caller. One use is to
// warn telemarketers by announcing that they should leave a message or risk being
// blocked permanently, and to then accept a few subsequent calls from them without
// an announcement so they can leave a message on your answering machine.
//
// Uses new CallInfo (v2.2.0.1 and higher) members ContactCallsReceived and
// PhoneCallsReceived to determine how many calls a contact/number has made.
//
// If caller is in contacts under multiple numbers this script treats any call from
// the contact from any of the caller's numbers as another call using
// CallInfo.ContactCallsRecieved. If the caller is not in contacts then this script
// looks at the number of calls from the particular phone number using
// CallInfo.PhoneCallsRecieved.
//
// The alternate action repeat frequency is controlled by the RemindOnCall variable.
// If this is set to N, on every Nth call the script will run through the 'alternate
// action' block. On all other calls the 'normal action' block will run. In this
// example with ReminderOnCall :=3, the caller will get a reminder on every third call.
// USER SETTINGS:
// Note: RemindOnCall must be >0. Set to 1 to remind on every call, 2 to remind on every
// other call, 3 to remind on every 3rd call, ....
var RemindOnCall: Integer = 3;
// Script body
var NumCalls: Integer;
// Get number of calls from contact if it exists, or from phone number if not
// Note: Script will throw an error if it tries to access CallInfo.ContactCallsRecieved
// and there is no contact information associated with the number, so you need to test
// with CallInfo.FoundCaller (no such problem with CallInfo.PhoneCallsRecieved).
if CallInfo.FoundCaller then NumCalls := CallInfo.ContactCallsReceived
else NumCalls := CallInfo.PhoneCallsReceived;
LogActivity('Handling call from: ' + CallInfo.Number + ' (' + IntToStr(NumCalls) + ')');
// RemindOnCall usage is changed here. It is set to 0 if this is a reminder call, >0 if not
RemindOnCall := (NumCalls mod RemindOnCall);
// Switch between Normal action and Alternate action
if(RemindOnCall > 0) then
begin
// Normal action: Handle call normally (do nothing in this example)
LogActivity('Handle call: normal');
end
else
begin
// Alternate action: Handle call with alternate action
// phonesound('reminder message file');
LogActivity('Handle call: alternate');
phonesound('<notification filespec>');
hangup;
end;