Who Calls

Download fully functional evaluation copy

 

General

WhoCalls will use the selected modem to detect the CallerID of a calling party. Caller ID (caller identification or CID, and more properly calling number identification CNID, also known as CLID=calling line identity or CLIP=calling line identification presentation) is a telephone service that transmits the caller's number to the called party's telephone equipment during the ringing signal or when the call is being set up but before the call is answered. It will not answer the call, just display the caller information (if transmitted).
It will also not block the modem, so you can still use it to dial out to the Internet for example.
To be able to use this application you need to subscribe to the CallerID service from your local telephone company and you need a modem that supports CallerID.

After startup the application displays an icon in the System Tray (Right part of task bar).

By right clicking on this icon you can access the menu of the application. Clicking on the close  icon will not exit the application but minimize it. To quit select File->Exit.  

WhoCalls can work either in active mode or in passive mode.

 

 

Active Mode

In active mode WhoCalls uses its own database to display caller information and the associated picture of a caller.
You can add, edit and delete a record by selecting it and using the Record option.

To add a new entry
    first select the Record->New option,
    enter the Display name and the CallerID
    then select Save changes.

The CallerID is the 10-digit phone number formatted as phone number.

The associated photo for a record can be selected by double-clicking on the photo itself. 
For callers not yet in the database, the system chooses the default picture.
 

Passive Mode

The passive mode allows you to use an external database or application to store you caller information. WhoCalls will monitor the incoming line as usual but when a call is detected, transfer the CallerID to the selected external application through ActiveX or DDE. To set up which application the CallerID is transferred to, use the Setup menu item.

See the passive mode samples section for examples on how to use the passive mode.

 

Tools->Preferences

The settings window allows you to configure all aspects of WhoCalls.
 

Mode Define here if you want to run WhoCalls in active, passive or server mode
Modem

WhoCalls will scan the Windows modem database and list all modems configured there. JUst choose your modem from the list. Please make sure that you have configured your modem with the latest modem driver. Unfortunately modem suppliers still seem to sell their modems with outdated drivers, which often do not support CallerID. The only way to be sure that you have the right driver is to download the newest driver from the Internet. You may even need to experiment with different drivers.
IE the 3COM U.S.Robotics 56K Message Modem does not support Caller ID with its own driver (U.S.Robotics 56K Message) but detects CallerID with the U.S.Robotics 56K Voice EXT driver.

Call log Enable this option to display the call log for every new call and leave it open. This allows you to monitor the last calls that were received.
Server Port This is the port to be used for the communication between the server and the client when running in server mode
Directory If the Caller Name is not transmitted by the phone (normal case) , WhoCalls will try to access an internet directory of the selected country to retrieve the stored information for the Caller Number received. You need to select a directory of your country here for this option to work. As we continuously try to add new directories, you may also Update this list. If your country is still not on the list, contact us and we will se if we can add it.
Voice If you select the option Speak caller information, WhoCalls will playback the received information on your loudspeaker. The actual information is preceded by the voice files you can select below.
For more options on changing the voice for the read back please refer to the Windows control panel under Speech-> Text To Speech or go to the Microsoft Speech web site at http://www.microsoft.com/speech/speech2007/default.mspx. Here you can also download other voices and/or languages.

 

Call log

The Call log displays a list of the last calls received. By right-clicking on an entry you can also select the option "Call entry". This will dial the number of the received call and you may pick up the handset to talk to the caller.

 

 

Passive mode setup

 

WhoCalls comes with pre-configured samples for MsAccess, Excel, MySQL, TimeMatters and Outlook. You can add a new application by selecting the NEW button and entering the required information.

WhoCall can connect to the external application through DDE or ActiveX (by calling a Visual basic script). Please note that DDE should not be used anymore as it is an outdated technology now. The DDE samples here are given only for reference, in the case your application still requires a DDE connection.

By pressing the Close&Select button the selected application setting becomes the active setting.

 

Variables

The following variables are predefined and can be used to transfer the caller information to the remote application:

@CID  
@CIN
@DATE
@TIME  
@PORT

Caller ID number string           (if supported)  
Caller ID name string              (if supported)
Current date  
Current Time   
Selected modem driver

 

 

Passive mode samples


VBS Call to Excel  

This Excel sample uses the Samples\CallLog.xls database to record the caller information for an incoming caller. It is a simple example that logs every call through its date/time and CallerID. The advantage of using VBS rather than DDE is that Excel does not need to be kept open.
The syntax is exactly the normal VBS (Visual Basic Script) syntax except that the variables are replaced before the execution of the script.

const StartRow = 4 'First row to use
Dim ex, I
 

'Get path of WhoCalls directory
Set WSHShell = CreateObject("WScript.Shell")
sCurPath = WSHShell.RegRead("HKCU\Software\MAW Software\WhoCalls\" )


Set ex=CreateObject("Excel.Application")
ex.Workbooks.Open
sCurPath & "\Samples\CallLog.xls" 'Open file

'Find first empty Line
I=StartRow 
while ex.ActiveSheet.Range("A" & I).Value <>""
    I=I+1
wend

'Record values
ex.ActiveSheet.Range("A" & I).Value = "@DATE" 'Set Time
ex.ActiveSheet.Range("B" & I).Value = "@TIME" 'Set Date
ex.ActiveSheet.Range("C" & I).Value = "@CID"  'Set CallerID
ex.ActiveSheet.Range("D" & I).Value = "@CIN"  'Set CallerID Name
ex.ActiveSheet.Range("E" & I).Value = "@PORT" 'Set Port
ex.ActiveWorkbook.Save
ex.Quit
WScript.Quit(0) 

 

VBS Call to MSAccess  

This sample uses the Samples\CallerCenter.mdb database to record the caller information for an incoming caller. It is a simple example that logs every call through its date/time and CallerID. The advantage of using VBS rather than DDE is that MsAccess does not need to be kept open.
The syntax is exactly the normal VBS (Visual Basic Script) syntax except that the variables are replaced before the execution of the script.

Dim AccApp, dbs, rst

'Get path of WhoCalls directory
Set WSHShell = CreateObject("WScript.Shell")
sCurPath = WSHShell.RegRead("HKCU\Software\MAW Software\WhoCalls\" )

Set AccApp= CreateObject("Access.Application")
AccApp.OpenCurrentDatabase(sCurPath & "\samples\CallerCenter.mdb")

Set dbs = AccApp.CurrentDb

Set rst = dbs.OpenRecordset("SELECT * FROM CallLog")

rst.AddNew

rst.dDate ="@DATE" 'Set Time
rst.tTime ="@TIME" 'Set Date
rst.cCID ="@CID" 'Set CallerID
rst.cCIN ="@CIN" 'Set CallerID Name


rst.Update

'Clean up
rst.Close
dbs.Close
set rst = Nothing
set dbs = Nothing
AccApp.Quit
set AccApp = Nothing

WScript.Quit(0) 
 

 

VBS Call to Outlook
This sample shows on how to send the CallerID information to MsOutlook to display the associated Outlook entry.
Please refer to the VBS code for more information.

Note(s):

 

 

VBS Call to MySQL
This sample connects to a MySQL database to transmit the received information.
Please refer to the VBS code for more information.

 

 

 

Please note that DDE should not be used anymore as it is an outdated technology now. The DDE samples here are given only for reference, in the case your application still requires a DDE connection.

DDE to MsAccess

The MsAccess sample uses DDE and the Samples\CallerCenter.mdb database to display the caller information of an incoming caller.
If MsAccess is not yet running it will be started by using the information in the EXE Path and DB Path field of the Setup.

No data will be "poked" (transferred) as all data transfer is handled by the commands. 

1

2

3

4

5

;Note: @CID is the 10 digit number with no formatting
;Alert user
[Beep]
;Add new entry to caller log
[RunSQL "INSERT INTO CallLog (dDate,tTime,cCID) VALUES ('@DATE','@TIME','@CID')"]
;Open the form "Clients" and advance to the record with the detected CallerID
[OpenForm Customers,,, CallerID = "@CID"]
;Set the CallerID info in case it is a new record
[SetCallerIDValue]

 

Line 1 shows the usage of a comment by using a semicolon in front of the line.
Line 2 requests MsAccess to emit a beep.
Line 3 runs a SQL query that adds the Date, Time and CallerID information to a table called CallLog in MsAccess. This table will be used to monitor the frequency of the calls received by every caller.
Line 4 opens the form Customers and displays the record with the matching CallerID.
Line 5 runs a macro that enters the CallerID information into the right field if a new record is created.

 

Note:
For the sample to work correctly it is important to change the security settings of MsAccess to allow the running of macros without asking for your permission. (Tools->Macro->Security->Low) and to also disable Options->Edit/Find->Confirm: Record changes and Options->Edit/Find->Confirm: Action queries.

 

 

DDE to Excel

The Excel sample uses the Samples\CallLog.xls database to record the caller information for an incoming caller. It is a simple example that logs every call through its date/time and CallerID.
If Excel is not yet running it will be started by using the information in the EXE Path and DB Path field of the Setup
As soon as the CallerID is available it is transferred "poked" to the Excel sheet CallLog.

The "Poke data" field is set to

@DATE{TAB}@TIME{TAB}@CID{TAB}@CIN{TAB}@PORT

which sends the Date, Time, CallerID, CallerName and Port information across five columns, the destination being from cell R3C1 to R3C5.

Then two commands are executed.


1
2

;Shifts the data down to make place for the next entry
[SELECT("R3C1:R3C5")]
[INSERT]

Line 1 selects the cells R3C1 to R3C5 and Line 2 inserts an empty line above. This ensures that the next time information is transmitted it will not overwrite the previous data.

 

 

 

 

Server Mode

WhoCalls can also run in server environment. This means that you may have WhoCalls running on one PC with a modem attached and distribute the received caller information to other PCs running WhoCalls in client mode. The clients do not need to have a modem as they receive the required information over the network.
The following schema shows a possible configuration:

The server starts WhoCalls with the /server command line while the clients start it with /client and the IP address of the server.
The server can still be used as normal WhoCalls station in active or passive mode. If the server only acts as gateway without displaying any information, then select the server mode in the settings.

IMPORTANT: Please make sure that the port used for the communication between the client and the server (Default: 50134) is not blocked by a firewall, this for the server and all the clients. Instead of opening the port you can also enable the communication for the two processes ..\whocalls\WhoCalls.exe and ..\whocalls\WhoCallsService.exe)

 

Server Mode as Windows service

For additional security you can also run the WhoCalls server as Windows service. This will run the WhoCalls server as background task and just let it distribute its information it receives through the modem.
To install WhoCalls as service please follow those steps:

  1. Start WhoCalls.exe without command line.

  2. Configure the modem, server port and directory you want to use in the settings.

  3. Close WhoCalls.exe

  4. Install the service with the short cut provided under ..\WhoCalls\Service\InstallService

  5. Start the service with the short cut provided under ..\WhoCalls\Service\StartService

  6. Check with the Taskmanager that the process WhoCallsService.exe (runs under the SYSTEM account) is running. If not please go to the Windows services and try to start the service manually.

From then on the service will start every time you start your computer. To uninstall the service again please follow those steps:

  1. Stop the service with the short cut provided under ..\WhoCalls\Service\StoptService

  2. Uninstall the service with the short cut provided under ..\WhoCalls\Service\UninstallService

 

 

Dynamic Data Exchange (DDE)

DDE has three parts: the name of the application; the file name or topic; and the cell range, value, field, or data that's referred to. The following illustration shows the parts of a remote reference formula and the use of the required separator character (|).
 

Topic:              Excel|Sheet1
Item:                R1C1  

You can either get data form a DDE server, send data to the DDE server or execute a macro on the DDE server.
The program that contains the data you want to link must support Dynamic Data Exchange (DDE). To determine whether your program supports DDE or to learn the DDE name and topic information for the program, contact the software vendor of the program.

Note(s):

 


Caller ID

To use WhoCalls with Caller ID you need two things:

*       Caller ID Service From your local telephone company
*       A MODEM or hardware device that supports Caller ID

The first is required as only your local telephone company can supply this data. The second is required so that the data sent by the Telephone Company can be passed to software programs for processing.
Many current MODEMs offer support for Caller ID. The key question is always what setup string to use to enable Caller ID (virtually every MODEM disables Caller ID as the default).

For most MODEMs, the string AT#CID=1 will enable Caller ID. On some voice based MODEMs the string is AT#CLS=8#CID=1. Look in the user's manual for your MODEM to see if any setup string is referenced or mentioned.

Other common setup strings are:

*       AT#CID=2
*       AT%CCID=1
*       AT%CCID=2
*       AT+VCID=1
*       AT#CC1
*       AT*ID1

The best way to test is to use a terminal data program. In Windows 3.X, the TERMINAL program (usually in the accessories folder) can be used, (be sure you set the COM port to the PORT your MODEM uses). In Windows 95 the HyperTerminal program can be used.

To use HyperTerminal do the following:

1) Select "HyperTerminal" by navigating through the Start button to "Programs," then "Accessories," then "HyperTerminal"
2) Double click on "hyperterm" or "hyperterm.exe"
3) Name the new connection "test," and select OK
4) Change the "connect using" to Direct to COM X, were X is the COM port used by the Caller ID device
5) Click on OK on the screen for port settings

 

To test your MODEM, do the following:

1. Type the string ATZ, (OK should appear on the screen)
2. Enter the Caller ID string to be tested, (AT#CID=1 for most modems)
3. If OK results, continue; If ERROR results the modem may not support Caller ID; try a different setup string
4. Have someone call you and watch the terminal screen
5. If Caller ID is working, you will see the word RING, followed by one or more additional data lines. The word RING will then continue to appear for each incoming ring.
6. If Caller ID is not working, you will only see the word RING for each incoming ring. If this is the case try another setup string and go back to step two.

  The most common result, when Caller ID data works, is the following:

        RING
       
DATE = xxxxx
       
TIME = xxxx
       
NMBR = xxxxxxxxx
       
NAME = xxxxxxxx
       
RING
       
RING ...

 

Order and registration

To order a copy of WhoCalls or to check its current price, please go to
www.mawnet.com/order.html

After your order has been approved, you will receive from us within 24 hours an e-mail with your serial key that unlocks your evaluation copy into a fully licensed version. This key also entitles you to future upgrades, so please store it in a safe place.

 

 

How can I get more information?

Support
For all support questions please refer to our support forum on www.mawnet.com/support.html

Please note:
- We can not provide phone support for our evaluation copies, please use the forum above
- Always indicate your name and e-mail address whenever you contact us


 

MAW Software Ltd. International
E-Mail   info@mawnet.com               (general inquiries)
Web     http://www.mawnet.com

 

European Headquarters Switzerland

MAW Software Ltd.
Hofacker 19

8808 Pfäffikon
Switzerland

Phone:
Fax:
+41-(0)55-4201386
+41-(0)55-4201387

 

UK Support line

Phone:
Fax
+44-(0)7092288534
+44-(0)7092288539