You need to decide exactly what your requirements are for a call tracking system, but more importantly define your support processes first. Once you know HOW you would like to handle support requests, you can then define which call tracking system would support your processes. Create a workflow for your support process that is independant of tools. Example:

All users call a central number
A "triage" support person logs a request in your call tracking system
That "triage" support person then assigns the request to one of your on-site support team
The on-site support person is notified via the call tracking tool that he is responsible for a new request
The on-site support person fixes the problem on-site, then records the solution in the call tracking system
The "triage" support person can be contacted to determine the status of the call

There are call tracking systems that are very simple and free, some web-based, and others that have more features that you will ever need and are very very expensive. Determine exactly what you'd like to have, and then you can do the research on products that exist today (free or expensive). A very good system would be to have:

Web application where end-users could submit and track their calls.
Knowledge base that tied into above application to help users solve their own calls.
Web application where support personnel could manage their calls.
Knowledge base that support personnel could use to solve end users' calls.
Client application where administrators and support personnel could manage calls.
Database driven system where reports could be generated (what support problems are we having the most, who is taking which calls, etc).
_________________________
Mark Cushman