I have a FreePBX 14 server. My setup is pretty simple. All calls coming in through a trunk are send to a ring group that rings a bunch of extensions at once. Each phone has only 1 account/extension associated with it and the phone consist of a mix of yealinks, polycom, grandstream, and softphones.
I want to know what caller ID (just the number) is on each extension in near real-time. The purpose is so I can tie the phone system into my POS to pre-populate the customer’s telephone field (cut down on user error and fatigue).
Basically when an extension picks up, I want FreePBX to send which extension picked up and what the caller ID is to an external source (via url?). Similarly, when an extension hangs up, I want FreePBX to send which extension hanged up to the same external source.
The method we used to use for SugarCRM would probably get you close. You could try the Sangoma CRM Interface (a commercial package) and see if you can interface with it.
We’ve been doing this kind of thing for years, so I’m pretty sure we still can.
“Real Time” is best achieved through either the good old traditional “Asterisk Manager Interface” by default available on tcp port 5038 , you can do that with whatever floats your boat, php, python, bash , probably even microsoft basic
Both the others have provided good answers. I had forgotten about SugarCRM and vTiger CRM in which both of those come in Open Source Versions. VTiger also does (or did) have a free Asterisk connector which will bring up the customer’s profile when they call in using Caller Identification. Some manufacturer may, or may not have a plug-in for those to tie into the POS system. Some third party could even have something as there is a store for extensions.