VoIP: RTP SSRC changes on every TTS segment causing no audio on receiving phone

Hi guys,

maybe someone can help me…

HA Version: 2026.2.2
IP Phone: Polycom CCX 500, firmware 8.1.3.1301
Codec: Opus PT 121

My problem: HA generates a new SSRC for each TTS response segment during a call, causing RFC-compliant phones to discard all audio packets

for non tech guys, i dont have audio.

I do have Wireshark trace…and you can see that from the networking point of view you have conection and HA Voice Assistant answers. but no audio.

But in the trace you can hear the audio calling and the Voice Assistant answer.

If someone can help me i will really apreciate

Do you have logs with debug enabled for the Voip integration?

i think i do. where should i upload them ? …

Post them here or send me a message with them?

Hi mate,

Sorry for the delay — sometimes work gets in the way :slightly_smiling_face:
But I managed to fix it!

For anyone trying to solve this issue, the solution is actually very easy, but also a bit tricky to discover. I figured it out using Wireshark and after accidentally creating a new extension in FreePBX.

Scenario

Your setup looks like this:

Home Assistant ⇄ FreePBX ⇄ IP Phones (Polycom or other SIP phones)

The Problem

If you configure FreePBX from the beginning to allow only the OPUS codec, you will run into a problem.

This was confusing because Home Assistant communicates with FreePBX using OPUS, but IP phones often cannot properly handle the audio stream in this situation, even if OPUS is configured as the first codec on the phone. ( you need to select! also uLaw (G.711 µ-law) als first codec or second)

The result is:

  • No uplink audio
  • No downlink audio

In short: HA hears you, but you dont hear him.

The Solution

You must enable another codec in FreePBX, specifically:

uLaw (G.711 µ-law)

It should be configured as either the first or second allowed codec.

What Happens After the Fix

Once uLaw is enabled, the call flow works correctly:

  1. Home Assistant → FreePBX using OPUS
  2. FreePBX transcodes OPUS → uLaw
  3. FreePBX → IP Phone using uLaw

After that, everything works perfectly:

  • Audio uplink works
  • Audio downlink works
  • No more sound issues

Bonus Tip (Polycom Phones + Home Assistant)

By the way, since Polycom phones have an integrated micro web server, I created a small HTML file and connected Home Assistant to the phone using the HA API.

Now, when I open the web server on the phone (basically like opening a webpage in a browser, but directly on the phone), I can see a Home Assistant dashboard.

The dashboard:

  • Updates automatically every 10 seconds
  • Shows live Home Assistant entities
  • Displays MJPEG streams

So the phone basically acts like a small Home Assistant monitoring panel