Possible to record all calls (in and out) with FreePBX?

I am looking into using FreePBX for some work. I need to be able to record each and every calls made and and also answered.
Accordingly I might need to find back a said recording to play that and I would like to be able to make a search within all recordings based on number dialed, date&time of call and extension no.

Possible to do that out of the box? Is there a third-party sloution I might hook up FreePBX that will let me record, save recordings and also find them if needed?

This solution will be used for small office with 5-10 workers that today uses regular pbx.