blob: eae1ae2b5cb5e02541872d1f9bf42fce38b25d43 [file] [log] [blame]
# Please follow these guidelines when adding config.
#
# 1. The Error Config is defined as an Array of APNs identified by "ApnName"
# 1.1. Other than Apn names this can also have "*" value which
# represents that this can be used as a generic fallback when no
# other policy matches.
# 2. Each Apn associated with "ApnName" has an array of "ErrorTypes". Where each element
# in "ErrorTypes" array defines the config for the Error
# 3. The element in "ErrorTypes" array has the following items
# 3.1. "ErrorType": Defines the type of error in String.
# String should match @ErrorPolicyErrorType in @ErrorPolicyManager
# 3.1.1. "IKE_PROTOCOL_ERROR_TYPE" refers to the Notify Error coming in
# Notify paylod. Refer to https://tools.ietf.org/html/rfc4306#section-3.10.1
# for global errors and carrier specific requirements for other carrier specific
# error codes.
# 3.1.2. "GENERIC_ERROR_TYPE" refers to the following Iwlan errors - "IO_EXCEPTION",
# "TIMEOUT_EXCEPTION", "SERVER_SELECTION_FAILED" and "TUNNEL_TRANSFORM_FAILED"
# 3.1.3. "*" represents that this policy a generic fallback when no
# other policy matches.
# 3.2. "ErrorDetails": Array of error specifics for which the policy needs to be applied to.
# Following are the currently supported formats of elements in the array:
# Note: Array can be a mix of number, range and string formats.
# 3.2.1. Number or Code: "24" - Number specific to the error(see 3.2.6, 3.2.7).
# 3.2.2. Range: "9000-9050" Range of specific errors.
# 3.2.3. Any: "*" value represents that this can be applied to all ErrorDetails
# when there is no specific match. This will be a single element array.
# 3.2.4. String: String describing the specific error.
# Currently allowed string values - "IO_EXCEPTION", "TIMEOUT_EXCEPTION",
# "SERVER_SELECTION_FAILED" and "TUNNEL_TRANSFORM_FAILED"
# 3.2.5. "IKE_PROTOCOL_EXCEPTION" ErrorType expects the "ErrorDetail" to be
# defined only in numbers or range of numbers.
# Examples: ["24"] or ["9000-9050"] or ["7", "14000-14050"]
# 3.2.6. "GENERIC_ERROR_TYPE" or "*" ErrorType expects only the following to be
# in "ErrorDetail" - "IO_EXCEPTION", "TIMEOUT_EXCEPTION",
# "SERVER_SELECTION_FAILED", "TUNNEL_TRANSFORM_FAILED" and "*".
# Example: ["IO_EXCEPTION", "TIMEOUT_EXCEPTION"] or ["*"]
# 3.3. "RetryArray": Array of retry times (in secs) represented in string format.
# Following formats are currently supported.
# 3.3.1. ["0","0", "0"] Retry immediately for maximum 3 times and then Fail.
# 3.3.2. [] Empty array means to fail whenever the error happens.
# 3.3.3. ["2", "4", "8"] Retry times are 2 secs, 4secs and 8 secs - Fail after that.
# 3.3.4. ["5", "10", "15", "-1"] Here the "-1" represents infinite retires with the
# retry time "15" (the last retry number).
# 3.3.5. ["2+r15"] 2 seconds + Random time below 15 seconds.
# 3.4. "UnthrottlingEvents": Events for which the retry time can be unthrottled.
# String should match the events defined in @IwlanEventListener
# Following are the currently supported UnthrottlingEvents
# 3.4.1. WIFI_DISABLE_EVENT: Wifi on to off toggle.
# 3.4.2. APM_DISABLE_EVENT: APM on to off toggle.
# 3.4.3. APM_ENABLE_EVENT: APM off to on toggle.
# 3.4.4. WIFI_AP_CHANGED_EVENT: Wifi is connected to a AP with different SSID.
# 3.4.5. WIFI_CALLING_DISABLE_EVENT: Wifi calling button on to off toggle.
#
# Note: When the value is "*" for any of "ApnName" or "ErrorType" or "ErrorDetails",
# it means that the config definition applies to rest of the errors for which
# the config is not defined.
# For example, if "ApnName" is "ims" and one of the "ErrorType" in it
# is defined as "*" - this policy will be applied to the error
# that doesn't fall into other error types defined under "ims".
[
{
"ApnName": "*",
"ErrorTypes": [
{
"ErrorType": "*",
"ErrorDetails": ["*"],
"RetryArray": ["5", "10", "-1"],
"UnthrottlingEvents": ["APM_ENABLE_EVENT", "APM_DISABLE_EVENT", "WIFI_DISABLE_EVENT", "WIFI_AP_CHANGED_EVENT"]
},
{
"ErrorType": "GENERIC_ERROR_TYPE",
"ErrorDetails": ["IO_EXCEPTION"],
"RetryArray": ["0", "0", "0", "60+r15", "120", "-1"],
"UnthrottlingEvents": ["APM_ENABLE_EVENT", "APM_DISABLE_EVENT", "WIFI_DISABLE_EVENT", "WIFI_AP_CHANGED_EVENT"]
},
{
"ErrorType": "IKE_PROTOCOL_ERROR_TYPE",
"ErrorDetails": ["24"],
"RetryArray": ["10", "20", "40", "80", "160"],
"UnthrottlingEvents": ["APM_ENABLE_EVENT", "WIFI_DISABLE_EVENT", "WIFI_CALLING_DISABLE_EVENT"]
}
]
}
]