aboutsummaryrefslogtreecommitdiff
path: root/src/java
diff options
context:
space:
mode:
authorHyunho <hhshin@google.com>2022-03-28 04:32:11 +0000
committerHyunho <hhshin@google.com>2022-03-29 23:09:41 +0000
commit3195dc704de4679569042680be35009cf66ac1fe (patch)
treedce1a363d587e7af50c81fe2cd92e1f995a5c7c0 /src/java
parent792ea4aaf2bd894f55dc83ec2ffae0eae4fd5c85 (diff)
downloadims-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')
-rw-r--r--src/java/com/android/ims/rcs/uce/UceDeviceState.java1
-rw-r--r--src/java/com/android/ims/rcs/uce/presence/publish/PublishRequestResponse.java1
-rw-r--r--src/java/com/android/ims/rcs/uce/util/NetworkSipCode.java1
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;