FreePBX calling Home Assistant

Call Home Assistant from FreePBX

Release 2023.5 of Home Assistant introduced the new Voice over IP integration that enables talking to the HA voice assistant using a regular (analog) phone. The instructions currently only apply to the Grandstream HT801 and HT802 analog phone adapters. After some trial and error, I managed to call Home Assistant from a SIP phone registered on my FreePBX VoIP server. Continue reading for more details on how to configure this in FreePBX.

I assume you already have FreePBX setup and you have at least one SIP phone registered. We will be dialing 81 (the alphabetical position of the letters H and A) to call Home Assistant.

Home Assistant

Settings > Devices & Services > Add Integration > Voice over IP

This is the minimal setup to call Home Assistant using SIP. For the further setup of voice assistant in Home Assistant, check the relevant documentation.

FreePBX

  1. Log on to your FreePBX admin page, the URL should be https://my_freepbx_ip/admin/
  2. Add a new Trunk:
    • go to menu Settings > Asterisk SIP Settings > Codecs section and check that opus is enabled (a great tip by on George1422 on the HA forum)
    • go to menu Connectivity > Trunks > Add Trunk > Add SIP Trunk
    • tab General:
      • Trunk Name: HomeAssistant
    • tab pjsip Settings:
      • tab General:
        • Authentication: None
        • Registration: None
        • SIP Server: the IP-address of you Home Assistant system
        • SIP Server Port: 5060 (default) should be OK
      • tab Advanced
        • Qualify Frequency: 0
      • tab Codecs:
        • make sure the opus codec is enabled and at the top of the list
    • Click Submit at the bottom of the page
  3. Add a new Outbound Route:
    • go to menu Connectivity > Outbound Routes > Add Outbound Route
    • tab Route Settings:
      • Route Name: HomeAssistant
      • Trunk Sequence for Matched Routes: HomeAssistant
    • tab Dial Patterns:
      • Enter 81 as the prefix
    • Click Submit at the bottom of the page
  4. Click Apply Config at the top of the page

SIP phone

You should not perform any specific configuration on the SIP phone, but you could verify dialing *43 (echo test) that your phone is successfully registered to FreePBX and the audio is OK in both the upstream and downstream directions.

For ease of use you can make a speed dial entry to call Home Assistant that calls number 81. This will depend on the model of your phone.

Testing

Call 81 with your sip phone and you should hear the Home Assistant voice prompt:

This is your smart home speaking. Your phone is connected but you must configure it within Home Assistant.

When this is successful, you can continue setting up Home Assistant by enabling Allow calls in the Voice over IP integration.

Leave a Reply

Your email address will not be published. Required fields are marked *