WhoIsCalling Logo

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 WHAT,WHY, HOW,WHEN 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 precious minutes.
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 SQLite.
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.
How WIC works
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 Sourceforge. 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 Sourceforge.

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 Sourceforge.

Created With SharpDevelop SourceForge.net Logo