CID on Phones not displaying name and number

I saw an older post about this issue but didn’t see a solution. Is there a module I need to purchase so that our phones display name and number of inbound call? Also, is there a software out there that will connect the phone system to our contact database so that it will query and show the names on the CID?