That code using the GATEWAY_URI was definitely added in Eclair.
Looking into AOSP, in packages/apps/Phone/src/com/android/phone/InCallScreen.java, that bit of code is completely inexistant in Donut :
// If a provider is used, extract the info to build the
// overlay and route the call. The overlay will be
// displayed the first time updateScreen is called.
if (PhoneUtils.hasPhoneProviderExtras(intent)) {
mProviderLabel = PhoneUtils.getProviderLabel(this, intent);
mProviderIcon = PhoneUtils.getProviderIcon(this, intent);
mProviderGatewayUri = PhoneUtils.getProviderGatewayUri(intent);
mProviderAddress = PhoneUtils.formatProviderUri(mProviderGatewayUri);
mProviderOverlayVisible = true;
if (TextUtils.isEmpty(mProviderLabel) || null == mProviderIcon ||
null == mProviderGatewayUri || TextUtils.isEmpty(mProviderAddress)) {
clearProvider();
}
} else {
clearProvider();
}
I cannot see any alternative. You're best luck maybe to take that Phone application from Donut, add what you need and release it as a new Phone application on Donut devices...