Installing and configuring Voice Over IP for Home Assistant connecting to FreePBX:

I recently, 1st October 2025, got this configured and running so that all my phones could call HA Voice Assist and control my home. It is a slow slug taking little bits of the required knowledge from a lot of different sources.
Why would I do this? We like being about to voice control HA but are not happy with the outside world listening in on our home. Instead of a wake work, you need to press a speed dial button on a phone. This has the best of both worlds. When not in use nothing is listening to us. Ease of use, just press the button on any phone and talk though the handsfree configuration.
This is not a complete set up by any means. There are some issues I am still working on, like HA Voice Assist not ‘hanging up’ and the next user getting a busy signal. On HA all the phones are showing as coming from the IP of FreePBX making diagnosis a little cumbersome. CID would be preferable, or CID & IP.
Issues and workarounds:
#1 my main PBX is located off site. Configuring it to link to HA was a little too large of a headache. To get around this I have a very small FreePBX inside my firewall dealing with ha HAA Voice load. This does not need to be anything powerful as it is only dealing with HA Voice requests.
#2 connecting over a trunk vs an extension in FreePBX. To be 100% honest, I just went with the first one I got working. There are pros and cons to both methods.

The setup of FreePBX:
#1 Install and configure FreePBX getting ready for your first trunk.
#2 Configure a pjsip trunk in FreePBX (FPBX):
#2.1 Configure the Dialed Number Rules for the extension/number you want to dial to go to this trunk.
#2.2 pjsip Settings:
#2.2.1 General: Authentication & Registration set to None
#2.2.2 Codec: Make sure the ONLY Codec selected is opus.
At this point your trunk is set up, but not operational yet.

Set up Home Assistant:
#1 Add the following integration to Home Assistant: Voice over IP - Home Assistant this integration allowed the incoming VoIP connection to be routed to Voice Assist. Ignore the information about the Grandstream HT802 for now. I did end up using the soft phone to test the HA side of the configuration. This made my life a lot easier.
#2 Under settings go to Voice Assistants (http://homeassistant.local:8123/config/voice-assistants/assistants)
#2.1 set up your preferred Voice Assistant. I am using Home Assistant Cloud. You can use which ever one you would like.
#2.2 make sure the devices you want exposed to HA Voice are selected, and the rest unselected. Start with a smaller set of devices. Add more as you progress in your configuration. Nothing like saying “Turn bathroom light off” and have your whole house plunged into darkness. And yes that was my first attempt, followed by a lot of justified yelling by others.
#3 Use a softphone to call into HA Voice Assist. You should get a message about Voice Assist working and you needing to configure things. The MOST important thing is to configure HA to that calls are allowed in.
#3.1 Under Settings → Voice Assistants (http://homeassistant.local:8123/config/voice-assistants/assistants) Look for Assist Devices and click on it.
#3.2 In the list of devices you will find all the devices that have tried to attach to Voice Assist. You need to click on each one and make sure under Configuration, Allow Calls is turned on. For now I have also set the “Finished speaking detection” to “Aggressive”.

You now need to set up FPBX so that extensions can dial HA Assist. I use the extension number 4663 (Home) and use an outbound route to send it to the HA Assist trunk set up in FPBX set #2.

I did not go into a lot of detail of installing and configuring HA or FPBX. I am assuming a working knowledge on both to get this working. If you have any question please message me and I can try and help. These two communities have been eminence help to me, so my turn to help others in return.

Greg

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.