WIC (WhoIsCalling) codenamed cliserver-net
13 June 2007 - A new release v 1.0.0b2 is now available. readme for 1.0.0b2.
12 June 2007 - Finally after much wait this simple web page saw the light of internet.
Congratulate me people, AT LAST I have been to create and upload AT LEAST a simple web page containing the
and WHERE for WIC (codenamed cliserver-net). Ah, the joy of creativity :). And I
hope that all the developers, geeks, semi-geeks, trying to be geeks people worldwide will agree with
me that creating a piece of code is fun and you will always find some extra time for coding, but
when you try to create any kind of documentation for your project, somehow you find yourself too
much tied up and busy with several other things. Anyway finally I was able to squeeze some time for creating
this web page and here we are. OK, enough of my useless and out of topic blah blah.
So, we start with WHAT of WIC..
The following WHAT questiosns always arise in my mind whenever I come accross a sourceforge project.
1. What is the purpose/objective of the project?
2. What dependencies this project have?
3. What are the hardware requirements?
4. What are the future plans?
There is the one and only prime question in this category.
1. Why should I use this piece of code?
There are the three main questions which I feel are for end users.
1. How it works?
2. How to install the software?
3. How to configure the software for my own use?
As a developer interested in source code following questions are there.
4. How to get the source code?
5. How to compile the code?
In this part I think the only question that can be there is.
1. When can I get my hands on a stablerelease of the software?
The questions here might be like..
1. Where can I get the binary/installer/source code files?
Q. What is the purpose/objective of this project?
This project aims at providing the CLI (caller
line identification) information on your computer terminals, whenever you get a call on your
landline telephone. Imagine you are working on something very important (e.g. deadline is tommorow)
and you get a call, you don't know who is calling you and you pickup the phone only to find out
that this is the very person who will talk about everything useless and will consume your 15
Now imagine whenever the phone rings you gets an alert on your computer screen showing you the
calling no and the name of the caller. I think by now you should get my point and the purpose
of the project.
Q.What dependencies this project have?
To run this software you need a windows terminal (Windows 2000 and above) and dot net
framework 2.0 installed on your machine.
Q.What are the hardware requirements?
Any decent machine according to current market standards :). This software should run fine
with a P IV 2.6 Ghz and 512 MB of RAM. Of course you will also need a network interface and a
serial port (COM/RS232) interface to get
data from your EPABX. Also we will need an
EPABX whixh should be able to provide data for the incoming call on a RS232 interface.
Q. What are the future plans?
Following are my short term plans.
1. Provide support for more than one database. Currently I am planning for MSDE and
2. Create a client application to show alerts for the incoming calls.
3. Provide options for running the applications either in console mode or as a service.
And following are long term ones..
1. Create a Mono port for the applications,
so that the application should be able to run on linux distros also.
2. In future for databases also able to use FirebirdSQL,
MySQL and PostgreSQL.
3. Any other plans as and when comes to mind.
Q. Why should I use this piece of code?
Seriously, I am not very good at visualizing the uses of my own software :)). Apart from
What is the purpose/objective of this project? you can also use it in
your client side application which will not only show the name, number of the caller but will
allow you to record/note down the conversation also. This can also be updated to show you the
details of previous conversations with the caller. This can be very useful in call centers and
for customer relationship peoples. There can be various other uses for this software depending
on your working model and needs.
Q.How it works?
It is not a very complicated piece of software and it should work smoothly :)). OK, here is the
not so good looking diagram which I somehow managed to put togather.
Let us say somebody named X calls you and his/her telephone no is Y. The call comes through your
service provider and lands on your EPABX. The telephone line which is connected to your EPABX
should be CLI enabled. EPABX routes the call to the configured extension but before sending the
ring to the telephone extension it sends the call information on serial port interface. At the
other end of the serial port interface the WIC server is listening and on receiving the incoming
call string it will parse the string, extract the calling no and extension and broadcast the
information on ethernet network as UDP packets. You can have your client application listening for
the UDP broadcasts on the configured port and can take actions as per its logic e.g. show alert for
the incoming calls.
Q. How to install the software?
To install the software you can download the binary installer files or source code from
WIC requires Windows 2000 and above as it works as a Windows service. You will also need
Dot Net Framework 2.0 installed on your system. For creating the database you can find a
script file in the source distribution.
Q. How to configure the software for my own use?
Currently you can change the config file in the installation folder as per your configuration.
I am working on a GUI interface for updating the config file which I will be releasing pretty
soon with the next release of the software.
Q. How to get the source code?
You can download the source code from
Q. How to compile the code?
I have used SharpDevelop v2.1/2.2
for WIC. SharpDevelop is a very good Open Source IDE for Dot Net and provides you with all the
features which you may require for day to day dot net development. You can also use other
commercial dot net IDEs available from Microsoft, Borland etc if you already have them.
Q. When can I get my hands on a stable release of the software?
I will be releasing first RC version of the software after the my short term plans mentioned in
future plans sections are completed. I will also be releasing intermediate releases
as fully working beta versions.
Q. Where can I get the binary/installer/source code files?
You can download the files from