From 3195dc704de4679569042680be35009cf66ac1fe Mon Sep 17 00:00:00 2001 From: Hyunho Date: Mon, 28 Mar 2022 04:32:11 +0000 Subject: Add the processing code that the device received the 504 response to the PUBLISH request As per AT&T requirements, if a device receives a 504 response to a PUBLISH request, it is treated like a received 403 response. However, the current AOSP framework is missing for this. Bug: b/225094509 Test: atest CtsTelephonyTestCases:ImsServiceTest Change-Id: I43665589e735023de9c8d3d3138e23d094910c19 Merged-In: I43665589e735023de9c8d3d3138e23d094910c19 --- src/java/com/android/ims/rcs/uce/UceDeviceState.java | 1 + .../com/android/ims/rcs/uce/presence/publish/PublishRequestResponse.java | 1 + src/java/com/android/ims/rcs/uce/util/NetworkSipCode.java | 1 + 3 files changed, 3 insertions(+) (limited to 'src/java') diff --git a/src/java/com/android/ims/rcs/uce/UceDeviceState.java b/src/java/com/android/ims/rcs/uce/UceDeviceState.java index 857e25c8..8d4de9f2 100644 --- a/src/java/com/android/ims/rcs/uce/UceDeviceState.java +++ b/src/java/com/android/ims/rcs/uce/UceDeviceState.java @@ -255,6 +255,7 @@ public class UceDeviceState { // Update the device state based on the given sip code. switch (sipCode) { case NetworkSipCode.SIP_CODE_FORBIDDEN: // sip 403 + case NetworkSipCode.SIP_CODE_SERVER_TIMEOUT: // sip 504 if (requestType == UceController.REQUEST_TYPE_PUBLISH) { // Provisioning error for publish request. setDeviceState(DEVICE_STATE_PROVISION_ERROR); diff --git a/src/java/com/android/ims/rcs/uce/presence/publish/PublishRequestResponse.java b/src/java/com/android/ims/rcs/uce/presence/publish/PublishRequestResponse.java index b651cfb5..47aa37c3 100644 --- a/src/java/com/android/ims/rcs/uce/presence/publish/PublishRequestResponse.java +++ b/src/java/com/android/ims/rcs/uce/presence/publish/PublishRequestResponse.java @@ -352,6 +352,7 @@ public class PublishRequestResponse { return RcsUceAdapter.PUBLISH_STATE_OK; case NetworkSipCode.SIP_CODE_FORBIDDEN: case NetworkSipCode.SIP_CODE_NOT_FOUND: + case NetworkSipCode.SIP_CODE_SERVER_TIMEOUT: return RcsUceAdapter.PUBLISH_STATE_RCS_PROVISION_ERROR; case NetworkSipCode.SIP_CODE_REQUEST_TIMEOUT: return RcsUceAdapter.PUBLISH_STATE_REQUEST_TIMEOUT; diff --git a/src/java/com/android/ims/rcs/uce/util/NetworkSipCode.java b/src/java/com/android/ims/rcs/uce/util/NetworkSipCode.java index e5505803..30099f3b 100644 --- a/src/java/com/android/ims/rcs/uce/util/NetworkSipCode.java +++ b/src/java/com/android/ims/rcs/uce/util/NetworkSipCode.java @@ -64,6 +64,7 @@ public class NetworkSipCode { int uceError; switch (sipCode) { case NetworkSipCode.SIP_CODE_FORBIDDEN: // 403 + case NetworkSipCode.SIP_CODE_SERVER_TIMEOUT: // 504 if(requestType == UceController.REQUEST_TYPE_PUBLISH) { // Not provisioned for PUBLISH request. uceError = RcsUceAdapter.ERROR_NOT_AUTHORIZED; -- cgit v1.2.3