Hey all,
We’re trying to get t.38 fax working over a SIP trunk in Genesys Cloud, and it’s…not going well. It’s looking like the media stream isn’t negotiating correctly. I’ve seen a bunch of threads on this generally, but nothing specific to Genesys Cloud and the current SDK versions.
Here’s the setup. We’ve got a SIP trunk connected to a third-party fax provider - they’ve confirmed their side is sending t.38-capable fax signals. On the Genesys Cloud side, we’re routing inbound calls to an Architect flow. The flow’s designed to pass the audio stream directly to a Data Action, which then forwards it to our internal processing system. Seems simple enough, right?
+-----------------+ SIP +-----------------+ Data Action +-----------------+
| External Fax | <--------> | Genesys Cloud | <----------------> | Internal System |
| Provider | | SIP Trunk | | |
+-----------------+ +-----------------+ +-----------------+
The problem is, instead of getting clean fax data, we’re getting garbled audio - it sounds like static and distorted tones. No actual fax tones. The provider insists they’re sending t.38. My thought is something isn’t translating the SIP signaling or the RTP stream correctly within Genesys Cloud.
We’re using the genesys-cloud-go-sdk (v1.4.2) to manage the SIP trunk configuration - mostly just verifying the codec preferences are set. I’ve checked the trunk config in the Genesys Cloud admin interface as well. Codec negotiation is enabled, and t.38 is listed as a preferred codec.
package main
import (
"fmt"
"github.com/genesyscloud/genesys-cloud-go-sdk/v1.4.2/core"
)
func main() {
// ... SDK init and auth
trunk, _, err := apiClient.TrunksApi.GetTrunk(trunkId)
if err != nil {
fmt.Println("Error getting trunk:", err)
return
}
fmt.Printf("Trunk Codecs: %+v\n", trunk.CodecPreferences)
}
The output of that shows t.38 is listed in the codec preferences. We also tried adding it higher in the priority list, but it didn’t change anything.
I’ve dug through the call detail records (CDRs) and the Architect flow execution history - nothing jumps out as an obvious error. No specific error codes are being logged. It’s just consistently garbled audio. The Architect flow itself isn’t doing anything beyond basic call handling and forwarding.
Anyone else run into this? Is there something specific in Genesys Cloud that needs to be configured to properly handle t.38 fax over SIP? I’m thinking there’s a media negotiation step that’s failing, or perhaps a codec transformation happening somewhere. Just trying to figure out where to look next.
Don’t hesitate to ask for more details if something isn’t clear. Happy to provide any additional information.