SIP Early Media: Edge Generating Local Ringback Instead of Bridging 183 Session Progress

I’m chasing a bug where we want a specific subset of callers to hear a custom European ringback tone before the call connects to our IVR.

We have the carrier sending a 183 Session Progress SIP message containing the SDP for the early media stream (the custom ringback tone). However, instead of playing the audio stream provided by the carrier, the Genesys Cloud Edge server seems to be ignoring the SDP and just playing the standard North American local ringback tone generated by the Edge itself until the 200 OK is received. Why is the Edge ignoring the carrier’s early media stream?

I’ve dealt with this when setting up international trunks.

Check your Trunk configuration under the ‘Protocol’ section. There is a setting called ‘Early Media’ (or ‘Media in 18x’). By default, Genesys Cloud sometimes ignores early media to protect against toll fraud and unexpected media clipping. You need to ensure that the Trunk is explicitly configured to ‘Accept’ early media. If it’s set to ‘Ignore’ or ‘Generate Local’, the Edge will discard the carrier’s SDP and force its own local ringing.

Also, watch out for the Require: 100rel header!

If the carrier is sending the 183 Session Progress but they are expecting PRACK (Provisional Response Acknowledgement) to confirm the early media session, the Edge might fail to establish the stream if PRACK isn’t enabled on the trunk. Go to your Trunk settings, look for ‘Reliable Provisional Responses’ (PRACK), and make sure it is enabled. If the Edge doesn’t PRACK the 183, the carrier might refuse to send the RTP packets containing your custom ringback tone.