There are several plugins in the Store for this. But they cost money.
I never tried this one from Grandstream but from a very quick look at it, I 'd say it’s worth a shot - try installing it in a test system and see if it works with SuiteCRM.
It’s also nice to see Grandstream taking the trouble of putting out a free plugin for this. So perhaps you can talk them into doing the work of adapting it for SuiteCRM also. Or at least ask them if it does work in SuiteCRM, in its current state.
FWIW, There is another “free” option. I was able to get the opensource Asterlink working with our on-site Asterisk based PBX “VitalPBX”. (Thank you serfreeman1337.) When a call comes in, users get a pop-up on screen that has the SuiteCRM contact record info if the phone number is found and a create new record option if not. Since the source code is available you can customize it as needed. We can click on a phone number and the associated users phone will ring and when answered, the outgoing call gets connected. Both incoming and outgoing calls are logged. I still need to refine a few issues such as:
Add a dial confirmation dialog so that accidently clicking a phone number doesn’t place a call as well as the ability to only place the outgoing call if the associated extension is actually answered by a human and not voicemail.
Modify the phone number search to ignore non-numeric characters and configure dialing rules.
Improve security of the data connections. (wss vs ws for example for obvious reasons as well as Chrome not allowing insecure connections on a page with secure connections. I have a workaround but will be moving it to wss soon.)
In the meantime it really does work if you have control of your own Asterisk based phone system, SuiteCRM, and time and ability to modify things. (The code is written in GO, PHP and JS. There is a SuiteCRM plug-in available in the repository.)