Creating talking caller id for SIP calls

With the loss of my copper POTS lines and the poor performance of VOIP to analog devices I want to change my phones to VOIP models.

One big problem!
I can’t find a model that has talking caller id.

Somehow I need to grab in realtime the caller id info from an incomming call and then send it somewhere that can speak the information.

I have considered sending it to my HomeAssistant and let the voice modules connected to it speak the information but I’m having trouble figuring out how to extract and send the necessary data.

Another option might be to send the data to any of my computers with screen reading software running in a way that would pop up a message in Windows.

One last thing I considered is having a speech synthesizer connected to my network that just spits out the caller info when data was fired at a specific ip address.

So in short I need a realtime way to get useful data from any call coming in to my pbx, package it in to a usable format, and get it somewhere useful.
HELP!!!

CallerID appears on the phone. What more do you need? So you get it in a usable format and it goes somewhere useful (displays on phone). You know, the normal way CallerID works.

To do what you want will require a bunch of custom coding in the PBX.

The OP seems to be describing a feature that is found on phones for the assistive technology market. It is possible that the OP has poor or no eyesight, which is also born out by their reference to “screen reading software”. I selected my phones for their features for the hard of hearing, but they also have voice announcement of caller ID, as well as large keys.

I presume they want this before they answer, for which I’d guess that you would have to call the phone in paging mode. After answer would probably fairly easy to do with custom feature code, but before answer is likely to involve overriding parts of the FreePBX dialplan which weren’t designed to be overridden.

Mine is an analogue line DECT phone, so not helpful here.

Using a voice synthesiser seems like over-engineering, given that Asterisk has a dialplan application to assemble spoken phone numbers from recorded digits. One approach to getting the sound out, that might be possible, follows.

BEGIN GOOGLE (GEMINI) AI CONTENT

Asterisk has dedicated console drivers (like chan_alsa) that can treat the host machine’s sound card as a native phone device.

  • How it works: You configure your alsa.conf file to treat the sound card as an extension.
  • Auto-Answer: The alsa.conf configuration file contains an autoanswer=yes directive. When an incoming call routes to this channel, Asterisk will immediately send the audio output to the sound card without needing a manual pickup.

END AI CONTENT

Assuming the above information was, and is still correct, you would find a suitable hook point in the FreePBX call flow and use Originate to setup a call to the sound card. The AI’s incoming call is actually the originated call, not the real incoming call. Sound card handling is an area that is subject to change, and you need to check, and possibly adapt, the AI’s advice for the impact of such changes.

Yes but that feature is very specific and only one of many for a Visually Impaired Phone. Braille-labeled buttons, speaking buttons (that say the digit pressed), large screens, the 5 key will have a raised bump to help them determine the center of the dial pad, voice dialing, etc. One would think that if this was to solve visual impairment issues it would be mentioned. Dictation is also a feature.

Since Talking CallerID has been around longer than hearing or visually impaired devices where main market options. It used to require a CallerID Reader that sat between the phone jack and your phone. Then there were a few analog phones that had the reader built in to them.

So Talking CallerID has been a telecom feature for numerous decades and is not an indicator of “needs visually impaired solutions”.

Few years ago I’ve created very simple softphone plugin that is using Microsoft TTS API: https://tomeko.net/software/SIPclient/ring_speak.php - taking number description from local phone book. It would be very likely underdeveloped, though I would be busy this week. This requires either using softphone for calls or placing it in ring group.

Other option - but I have not tested it - might be using “on BLF (dialog-info) change” event, and checking with GetBflState() function if this event was triggered by incoming call to extension used for calling, what is caller number and/or display name and then using display name or number to generate speech using NirCmd.

Hi there, I had the same requirement, this is what I set up.

Panasonic cordless base with caller ID talking, connected to a voip/analog converter (like the grandstream 802) added an extension to the ring group.

Simple as that.

I never use the extension to pickup calls, its just for announcing each caller, and its loud so we can hear, using this like for 4 years now.