diff options
author | Hyunho <hhshin@google.com> | 2022-03-28 04:32:11 +0000 |
---|---|---|
committer | Hyunho <hhshin@google.com> | 2022-03-29 23:09:41 +0000 |
commit | 3195dc704de4679569042680be35009cf66ac1fe (patch) | |
tree | dce1a363d587e7af50c81fe2cd92e1f995a5c7c0 /src/java | |
parent | 792ea4aaf2bd894f55dc83ec2ffae0eae4fd5c85 (diff) | |
download | ims-3195dc704de4679569042680be35009cf66ac1fe.tar.gz |
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
Diffstat (limited to 'src/java')
3 files changed, 3 insertions, 0 deletions
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; |