Help Desk Software

Hi,
I am planning to implement a help desk based software in my organization. I do not want to use this software on the website.

Please suggest a free/open source software which can be used by service agent to assign the service call to support engineer. It should send a email as a incident is recorded and assigned. Also, recording of the resolution should be the part of it which can be later on used as the knowledge base.

At the time of creation of incident it should search for the client in the database which also records the client details at the time of client creation.

Thanks in advance.!!

-Dee