### Answer
Based on the documentation, this behavior is expected by design. When using Agent Transfer, the voice setting will reflect the currently active agent after the transfer.
The documentation explicitly states which settings carry over and which don't: [(1) ](
)
Settings from the first agent used throughout the call:
- optInSignedUrl
- optOutSensitiveDataStorage
- webHookUrl
Settings that reflect the currently active agent (after transfer) :
- language
- voice
- voiceModel
This means when you transfer to another agent, the destination agent's voice configuration will be used—not the overridden voice from the original agent.
Potential workarounds:
1.
Configure the destination agent directly with the desired voice_id, rather than relying on runtime overrides from the source agent.
2.
Create multiple versions of your destination agents with different voice configurations, and route to the appropriate one based on your logic.
I don't see documentation for a way to dynamically pass or persist a runtime voice_id override through an Agent Transfer. If you need this functionality, you may want to submit a feature request.