Sounds like a bad header. I had that problem numerous time as I was building my IVR.
The IVR should be taking the curl result and setting it as the room header. if the curl result contains the right room name, then call connects. if the header contains the right room name + some extra erroneous characters, like white spaces or carriage returns, you’ll still connect but the headers being exchanged will cause issues. Symptom being no audio in the rtp stream.
If you’re using FreePBX, set your dialplan to display your curl result in the logs using a “verbose” statement. Check the asterisk log for whitespeaces in the curl result. If that’s the case, reconfigure your curl command to remove the white spaces. (If you’re using my IVR Tutorial, the verbose statement is already there… you can just skip to viewing the logs)
Other approach to that could also be figuring out why the white spaces are sent, if that’s what’s happening