rjw | 6c1fd8f | 2022-11-30 14:33:01 +0800 | [diff] [blame] | 1 | /***************************************************************************** |
| 2 | * Copyright Statement: |
| 3 | * -------------------- |
| 4 | * This software is protected by Copyright and the information contained |
| 5 | * herein is confidential. The software may not be copied and the information |
| 6 | * contained herein may not be used or disclosed except with the written |
| 7 | * permission of MediaTek Inc. (C) 2005 |
| 8 | * |
| 9 | * BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES |
| 10 | * THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE") |
| 11 | * RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON |
| 12 | * AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES, |
| 13 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF |
| 14 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT. |
| 15 | * NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE |
| 16 | * SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR |
| 17 | * SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH |
| 18 | * THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO |
| 19 | * NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S |
| 20 | * SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM. |
| 21 | * |
| 22 | * BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE |
| 23 | * LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE, |
| 24 | * AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE, |
| 25 | * OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO |
| 26 | * MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. |
| 27 | * |
| 28 | * THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE |
| 29 | * WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF |
| 30 | * LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND |
| 31 | * RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER |
| 32 | * THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC). |
| 33 | * |
| 34 | *****************************************************************************/ |
| 35 | |
| 36 | #ifndef IMC_IMCB_STRUCT_H |
| 37 | #define IMC_IMCB_STRUCT_H |
| 38 | |
| 39 | #include "ims_common_def.h" |
| 40 | |
| 41 | #define IMCB_IMC_MAX_RTP_ADDRESS_LENGTH (64) |
| 42 | #define IMCB_IMC_MAX_SDP_EGBYTE_LENGTH (8) |
| 43 | #define IMCB_IMC_MAX_CALL_NUM (7) |
| 44 | #define IMCB_IMC_MAX_DATA_TO_IMC_LENGTH (512) |
| 45 | #define IMCB_IMC_MAX_CNAME_LENGTH (52) |
| 46 | |
| 47 | typedef enum { |
| 48 | IMCB_IMC_QUERY_TYPE_INVALID = 0, |
| 49 | IMCB_IMC_QUERY_TYPE_CELL_ID = 1 |
| 50 | } imcb_imc_query_type_enum; |
| 51 | |
| 52 | //IMS SIM Enum |
| 53 | typedef enum { |
| 54 | IMCB_IMC_SIM_PLUG_OUT = 0, |
| 55 | IMCB_IMC_SIM_USIM_REFRESH = 1, |
| 56 | IMCB_IMC_ISIM_REFRESH = 2, |
| 57 | IMCB_IMC_SIM_USIM_RESET = 3, //unused |
| 58 | IMCB_IMC_ISIM_RESET = 4, //unused |
| 59 | IMCB_IMC_SIM_USIM_INIT = 5, //unused |
| 60 | IMCB_IMC_ISIM_INIT = 6 //unused |
| 61 | } imcb_imc_sim_error_reason_enum; |
| 62 | |
| 63 | typedef enum { |
| 64 | IMCB_IMC_IMS_AKA_USING_USIM = 0, |
| 65 | IMCB_IMC_IMS_AKA_USING_ISIM |
| 66 | } imcb_imc_ims_aka_cal_decision_enum; |
| 67 | |
| 68 | //IMS Bearer Enum |
| 69 | typedef enum { |
| 70 | IMCB_IMC_SIP_TYPE = 0, |
| 71 | IMCB_IMC_NON_SIP_TYPE, |
| 72 | IMCB_IMC_VOICE_TYPE, |
| 73 | IMCB_IMC_VIDEO_TYPE, |
| 74 | IMCB_IMC_TEXT_TYPE |
| 75 | } imcb_imc_ebi_filter_type_enum, |
| 76 | imcb_imc_bearer_filter_type_enum; |
| 77 | |
| 78 | //IMS P-CSCF Enum |
| 79 | typedef enum { |
| 80 | IMCB_IMC_PCSCF_P_LIST_NONE = 0, |
| 81 | IMCB_IMC_PCSCF_P_LIST_DHCP = 1, |
| 82 | IMCB_IMC_PCSCF_P_LIST_PCO = 2, |
| 83 | IMCB_IMC_PCSCF_P_LIST_SIM = 3, |
| 84 | IMCB_IMC_PCSCF_P_LIST_MO = 4, |
| 85 | IMCB_IMC_PCSCF_P_LIST_MANUAL = 5, |
| 86 | IMCB_IMC_PCSCF_P_LIST_END |
| 87 | } imcb_imc_pcscf_priority_list_enum; // copy from imcb_imcb_struct.h, imcb_pcscf_type_enum |
| 88 | |
| 89 | typedef enum { |
| 90 | IMCB_IMC_USE_DEDICATED_BEAERER = 0, |
| 91 | IMCB_IMC_USE_SIGNALLING_BEARER = 1, |
| 92 | IMCB_IMC_FORCE_SIGNALLING_BEARER = 2 |
| 93 | } imcb_imc_voice_bearer_ctrl_enum; |
| 94 | |
| 95 | //IMS Registration Enum |
| 96 | typedef enum { |
| 97 | IMC_REG_STATE_UNREGISTERED = 0, |
| 98 | IMC_REG_STATE_REGISTERING, |
| 99 | IMC_REG_STATE_REGISTERED, |
| 100 | IMC_REG_STATE_UNREGISTERING |
| 101 | } imc_reg_state_enum; |
| 102 | |
| 103 | typedef enum { |
| 104 | IMC_CAUSE_NORMAL = 0, |
| 105 | IMC_CAUSE_INTERNAL_ERROR = 1, |
| 106 | IMC_CAUSE_STACK_ERROR = 2, |
| 107 | IMC_CAUSE_TIMER_ERROR = 3, |
| 108 | IMC_CAUSE_TRY_NEXT_PCSCF = 4, |
| 109 | IMC_CAUSE_PCSCF_ALL_FAILED = 5, |
| 110 | IMC_CAUSE_AUTH_ERROR = 6, |
| 111 | IMC_CAUSE_RESET = 7, |
| 112 | IMC_CAUSE_ASSURI_CHANGED = 8, |
| 113 | IMC_CAUSE_NETWORK_INITIATED = 10, |
| 114 | IMC_CAUSE_CHANNEL_BIND = 11, |
| 115 | IMC_CAUSE_OOS = 12, |
| 116 | IMC_CAUSE_SIP_ERROR = 13, |
| 117 | IMC_CAUSE_PARAMETER_ERROR = 14, |
| 118 | IMC_CAUSE_NOT_BIND = 15, |
| 119 | IMC_CAUSE_NOT_AUTO_RE_REG = 16, |
| 120 | IMC_CAUSE_RETRY_AFTER = 17, |
| 121 | IMC_CAUSE_IMS_PDN_FATAL_FAIL = 18, |
| 122 | IMC_CAUSE_MD_LOWER_LAYER_ERR = 19, |
| 123 | IMC_CAUSE_C2K_FAIL = 20, |
| 124 | IMC_CAUSE_RETRY_BY_RFC5626 = 21, |
| 125 | IMC_CAUSE_REL_EMC_PDN_AFR_Timer_Expr = 22, |
| 126 | IMC_CAUSE_IMS_PDN_DEACT_DETACH_REATTACH = 23, |
| 127 | IMC_CAUSE_Teardown_for_State_Unsync = 24, |
| 128 | IMC_CAUSE_IMS_SERVICE_NR_RECOVER = 25, |
| 129 | IMC_CAUSE_NOT_IMS_RETRY = 26, |
| 130 | IMC_CAUSE_NOT_AUTO_RE_REG_UNTIL_RAT_CHANGE = 28, |
| 131 | IMC_CAUSE_IMS_PDN_INFINITE_SUGGEST_TIME = 29, |
| 132 | IMC_CAUSE_INIT_REGISTER_SENT = 30, |
| 133 | IMC_CAUSE_UNKNOWN = 99, |
| 134 | IMC_CAUSE_MAX = IMC_CAUSE_UNKNOWN, |
| 135 | } imcb_imc_reg_cause_enum; |
| 136 | |
| 137 | typedef enum { |
| 138 | IMCB_IMC_EM_REG_SCHEME_NONE = 0, |
| 139 | IMCB_IMC_EM_REG_SCHEME_WITH_EM_REG = 1, |
| 140 | IMCB_IMC_EM_REG_SCHEME_WITHOUT_EM_REG = 2, |
| 141 | IMCB_IMC_EM_REG_SCHEME_BY_NORMAL_IMS_PDN = 3 |
| 142 | } imcb_imc_em_reg_scheme_enum; |
| 143 | |
| 144 | typedef enum { |
| 145 | IMCB_IMC_DEREG_REASON_NORMAL = 0, |
| 146 | IMCB_IMC_DEREG_REASON_23G_WITHOUT_IMS_DEREG = 1, |
| 147 | IMCB_IMC_DEREG_REASON_23G_WITH_IMS_DEREG = 2, |
| 148 | IMCB_IMC_DEREG_REASON_WITHOUT_IMS_DEREG = 3 |
| 149 | } imcb_imc_dereg_reason_enum; |
| 150 | |
| 151 | typedef enum { |
| 152 | IMCB_IMC_DEREG_CS_NONE, |
| 153 | IMCB_IMC_DEREG_CS_PWR_OFF, |
| 154 | IMCB_IMC_DEREG_CS_RF_OFF, |
| 155 | IMCB_IMC_DEREG_CS_RUNTIME |
| 156 | } imcb_imc_dereg_cause_enum; |
| 157 | |
| 158 | //IMS Call Enum |
| 159 | typedef enum { |
| 160 | IMCB_IMC_ECCTRL_STATE_CHANGE_HELD = 131, |
| 161 | IMCB_IMC_ECCTRL_STATE_CHANGE_ACTIVE = 132 |
| 162 | } imcb_imc_ecctrl_enum; |
| 163 | |
| 164 | typedef enum { |
| 165 | IMCB_IMC_CALL_CAUSE_NORMAL = 0, |
| 166 | IMCB_IMC_CALL_CAUSE_ABNORMAL, |
| 167 | IMCB_IMC_CALL_CAUSE_NONUMBER, |
| 168 | IMCB_IMC_CALL_CAUSE_UNREGISTERED, |
| 169 | IMCB_IMC_CALL_CAUSE_DISCONNECT, |
| 170 | IMCB_IMC_CALL_CAUSE_BECANCEL, |
| 171 | IMCB_IMC_CALL_CAUSE_BEREJECT, |
| 172 | IMCB_IMC_CALL_CAUSE_BEREJECT_380, |
| 173 | IMCB_IMC_CALL_CAUSE_BEREJECT_380_EMERGENCY_TO_CS, |
| 174 | IMCB_IMC_CALL_CAUSE_BEREJECT_380_EMERGENCY_REREG, |
| 175 | IMCB_IMC_CALL_CAUSE_BEREJECT_380_EMERGENCY_TO_NORMAL_CS, |
| 176 | IMCB_IMC_CALL_CAUSE_BEREJECT_480, |
| 177 | IMCB_IMC_CALL_CAUSE_BEREJECT_503, |
| 178 | IMCB_IMC_CALL_CAUSE_TX_TIMEOUT, |
| 179 | IMCB_IMC_CALL_CAUSE_NO_PRIVACY, |
| 180 | IMCB_IMC_CALL_CAUSE_PRECONDFAIL, |
| 181 | IMCB_IMC_CALL_CAUSE_SECONDCALL, |
| 182 | IMCB_IMC_CALL_CAUSE_NOMEDIACONTENT, |
| 183 | IMCB_IMC_CALL_CAUSE_INVALIDMSG, |
| 184 | IMCB_IMC_CALL_CAUSE_INVALIDCMD, |
| 185 | IMCB_IMC_CALL_CAUSE_INVALIDIDX, |
| 186 | IMCB_IMC_CALL_CAUSE_SRVCC, |
| 187 | IMCB_IMC_CALL_CAUSE_FACILITY_REJECTED, |
| 188 | IMCB_IMC_CALL_CAUSE_DEDICATED_BEARER_TIMEOUT, |
| 189 | IMCB_IMC_CALL_CAUSE_RETRY_CS, |
| 190 | IMCB_IMC_CALL_CAUSE_NO_RETRY, |
| 191 | IMCB_IMC_CALL_CAUSE_RETRY_IMS_CS, |
| 192 | IMCB_IMC_CALL_CAUSE_ABORTED, |
| 193 | IMCB_IMC_CALL_CAUSE_TIMER_B_EXPIRY, |
| 194 | IMCB_IMC_CALL_CAUSE_ECT_TIMEOUT, |
| 195 | IMCB_IMC_CALL_CAUSE_TIMER_VZW_EXPIRY, |
| 196 | IMCB_IMC_CALL_CAUSE_AC_BARRED, |
| 197 | IMCB_IMC_CALL_CAUSE_NW_REJ_CONN, |
| 198 | IMCB_IMC_CALL_CAUSE_BEREJECT_503_OUTAGE_TEXT, |
| 199 | IMCB_IMC_CALL_CAUSE_CHANGE_PCSCF, |
| 200 | IMCB_IMC_CALL_CAUSE_RTT_EMC_FAIL, |
| 201 | IMCB_IMC_CALL_CAUSE_BEREJECT_380_EMERGENCY_NORMAL_CS_TO_IMS, |
| 202 | IMCB_IMC_CALL_CAUSE_BEREJECT_380_EMERGENCY_ACTION_ELEM_UNKNOWN, |
| 203 | IMCB_IMC_CALL_CAUSE_RETRY_IMS_VIDEO_TO_VOICE, |
| 204 | IMCB_IMC_CALL_CAUSE_NO_RETRY_BAR_IMS, |
| 205 | IMCB_IMC_CALL_CAUSE_BEREJECT_380_FLIGHTMODE_CS, |
rjw | 04b9c95 | 2023-03-28 14:35:43 +0800 | [diff] [blame] | 206 | IMCB_IMC_CALL_CAUSE_NO_RETRY_EMERGENCY, |
rjw | 6c1fd8f | 2022-11-30 14:33:01 +0800 | [diff] [blame] | 207 | IMCB_IMC_CALL_CAUSE_UA_MAX, |
| 208 | IMCB_IMC_CALL_CAUSE_AVAIABLE_OF_CALLS, |
| 209 | IMCB_IMC_CALL_CAUSE_EMERG_REG_TIMEOUT, /* AT&T <CDR-LTE-2424>, CS domain search after emerg-reg-timer expires */ |
| 210 | /* WFC */ |
| 211 | IMCB_IMC_CALL_CAUSE_RAT_MISMATCH, |
| 212 | IMCB_IMC_CALL_CAUSE_RECOVERY_FOR_IMS_REG, |
| 213 | IMCB_IMC_CALL_CAUSE_MAX, |
| 214 | } imcb_imc_call_stop_cause_enum; |
| 215 | |
| 216 | typedef enum { |
| 217 | IMCB_IMC_CALL_MODE_AUDIO = 0, // 0, normal voice call |
| 218 | IMCB_IMC_CALL_MODE_VIDEO_AUDIO, // 1, normal video call |
| 219 | IMCB_IMC_CALL_MODE_VIDEO_ONLY, // 2, only video call |
| 220 | |
| 221 | /* specifical call */ |
| 222 | IMCB_IMC_CALL_MODE_AUDIO_CONF = 11, // 11, audio conference call |
| 223 | IMCB_IMC_CALL_MODE_VIDEO_CONF, // 12, video conference call |
| 224 | |
| 225 | IMCB_IMC_CALL_MODE_AUDIO_CONF_PARTS = 21, // 21, audio conference call participant |
| 226 | IMCB_IMC_CALL_MODE_VIDEO_CONF_PARTS, // 22, video conference call participant |
| 227 | |
| 228 | /* emergency */ |
| 229 | IMCB_IMC_CALL_MODE_EMERGENCY = 81, // 81, emergency call |
| 230 | IMCB_IMC_CALL_MODE_EMER_POLICE, // 82, police emergency call |
| 231 | IMCB_IMC_CALL_MODE_EMER_FIRE, // 83, fire emergency call |
| 232 | IMCB_IMC_CALL_MODE_EMER_GAS, |
| 233 | IMCB_IMC_CALL_MODE_EMER_AMBULANCE, |
| 234 | IMCB_IMC_CALL_MODE_EMER_ANIMAL, |
| 235 | IMCB_IMC_CALL_MODE_EMER_MARINE, |
| 236 | IMCB_IMC_CALL_MODE_EMER_MOUNTAIN, |
| 237 | IMCB_IMC_CALL_MODE_EMER_PHYSICIAN, |
| 238 | IMCB_IMC_CALL_MODE_EMER_POISON, |
| 239 | IMCB_IMC_CALL_MODE_EMER_TRAFFIC, |
| 240 | IMCB_IMC_CALL_MODE_EMER_COUNTRY_SPECIFIC, |
yu.dong | e372c32 | 2023-08-30 20:25:04 -0700 | [diff] [blame] | 241 | IMCB_IMC_CALL_MODE_EMER_EXTENDED_SUB_SERVICE, //for 24.301 9.9.3.37A Extended Emergency Number |
rjw | 6c1fd8f | 2022-11-30 14:33:01 +0800 | [diff] [blame] | 242 | IMCB_IMC_CALL_MODE_EMER_MANUAL_ECALL, // manual initiated ecall |
| 243 | IMCB_IMC_CALL_MODE_EMER_AUTO_ECALL, //auto initiated ecall |
| 244 | IMCB_IMC_CALL_MODE_EMER_UNRECOGNIZED = 99, |
| 245 | |
| 246 | /*Korea TTA special emergency service*/ |
| 247 | IMCB_IMC_CALL_MODE_EMER_KR_INTELLIGENCE = 201, |
| 248 | IMCB_IMC_CALL_MODE_EMER_KR_SPIES, |
| 249 | IMCB_IMC_CALL_MODE_EMER_KR_SCHOOL_VIOLENCE, |
| 250 | IMCB_IMC_CALL_MODE_EMER_KR_CYBERTERRORISM, |
| 251 | IMCB_IMC_CALL_MODE_EMER_KR_SMUGGLING, |
| 252 | IMCB_IMC_CALL_MODE_MAX, |
| 253 | } imcb_imc_call_mode_enum; |
| 254 | |
| 255 | typedef enum { |
| 256 | IMCB_IMC_CALL_PROG_ECPI_0 = 0, |
| 257 | IMCB_IMC_CALL_PROG_ECPI_2 = 2, |
| 258 | IMCB_IMC_CALL_PROG_ECPI_6 = 6, |
| 259 | IMCB_IMC_CALL_PROG_ECPI_7 = 7, |
| 260 | IMCB_IMC_CALL_PROG_ECPI_131 = 131, |
| 261 | IMCB_IMC_CALL_PROG_ECPI_132 = 132, |
| 262 | IMCB_IMC_CALL_PROG_ECPI_133 = 133, |
| 263 | IMCB_IMC_CALL_PROG_ECPI_135 = 135, |
| 264 | IMCB_IMC_CALL_PROG_ECPI_136 = 136, |
| 265 | IMCB_IMC_CALL_PROG_ECPI_MAX, |
| 266 | } imcb_imc_call_prog_ecpi_enum; |
| 267 | |
| 268 | typedef enum { |
| 269 | IMCB_IMC_CALL_HOLD_BY_LOCAL = 0, |
| 270 | IMCB_IMC_CALL_HOLD_BY_REMOTE = 1, |
| 271 | IMCB_IMC_CALL_ECT_HOLD_BY_REMOTE = 2, |
| 272 | IMCB_IMC_CALL_HOLD_BY_MAX, |
| 273 | } imcb_imc_call_hold_by_enum; |
| 274 | |
| 275 | typedef enum { |
| 276 | IMCB_IMC_CALL_MDEIA_OFF = 0, |
| 277 | IMCB_IMC_CALL_MEDIA_ON, |
| 278 | IMCB_IMC_CALL_MEDIA_MAX, |
| 279 | } imcb_imc_media_enum; |
| 280 | |
| 281 | typedef enum { |
| 282 | IMCB_IMC_CALL_RESULT_OK = 0, |
| 283 | IMCB_IMC_CALL_RESULT_FAILED, |
| 284 | IMCB_IMC_CALL_RESULT_MAX, |
| 285 | } imcb_imc_call_stop_result_enum; |
| 286 | |
| 287 | typedef enum { |
| 288 | IMCB_IMC_MD_LOWER_LAYER_ERR_AC_BARRED = 0, |
| 289 | IMCB_IMC_MD_LOWER_LAYER_ERR_NW_REJ_CONN = 1, |
| 290 | IMCB_IMC_MD_LOWER_LAYER_ERR_T3346_START = 2, |
| 291 | IMCB_IMC_MD_LOWER_LAYER_ERR_T3346_STOP = 3, |
| 292 | IMCB_IMC_MD_LOWER_LAYER_ERR_T3346_EXPIRY = 4, |
| 293 | IMCB_IMC_MD_LOWER_LAYER_ERR_CONN_FAIL = 5, |
| 294 | IMCB_IMC_MD_LOWER_LAYER_ERR_T3525_START = 6, |
| 295 | IMCB_IMC_MD_LOWER_LAYER_ERR_T3540_START = 7, |
| 296 | |
| 297 | IMCB_IMC_MD_LOWER_LAYER_NON_ESRFAIL_ERR =100, |
| 298 | IMCB_IMC_MD_LOWER_LAYER_NON_ESRFAIL_ERR_TAU_FAIL = 101, |
| 299 | IMCB_IMC_MD_LOWER_LAYER_NON_ESRFAIL_ERR_EPSFB_FAIL = 102, |
| 300 | IMCB_IMC_MD_LOWER_LAYER_ERR_MAX, |
| 301 | } imcb_imc_md_lower_layer_err_enum; |
| 302 | |
| 303 | typedef enum |
| 304 | { |
| 305 | IMCB_IMC_MD_EPSFB_TYPE_HANDOVER = 0, |
| 306 | IMCB_IMC_MD_EPSFB_TYPE_REDIRECTION =1 |
| 307 | }imcb_imc_md_epsfb_type_enum; |
| 308 | |
| 309 | typedef enum { |
| 310 | IMCB_IMC_OPERATION_UNKNOWN = 0, |
| 311 | IMCB_IMC_OPERATION_HOLD = 1, |
| 312 | IMCB_IMC_OPERATION_UNHOLD = 2, |
| 313 | IMCB_IMC_OPERATION_HOLD_N_UNHOLD = 3, |
| 314 | IMCB_IMC_OPERATION_HOLD_N_ACCEPT = 4, |
| 315 | IMCB_IMC_OPERATION_REMOTE_HOLD = 5, |
| 316 | IMCB_IMC_OPERATION_REMOTE_UNHOLD = 6, |
| 317 | IMCB_IMC_OPERATION_REL_ALL = 11, |
| 318 | IMCB_IMC_OPERATION_ATH_REL_ALL = 12, |
| 319 | IMCB_IMC_OPERATION_REL_BG = 13, |
| 320 | IMCB_IMC_OPERATION_REL_WAIT = 14, |
| 321 | IMCB_IMC_OPERATION_REL_ACTIVE_N_RESUME = 15, |
| 322 | IMCB_IMC_OPERATION_CREATE_3WAY_CONF = 16, |
| 323 | IMCB_IMC_OPERATION_ADD_OTHER_TO_CONF = 17, |
| 324 | IMCB_IMC_OPERATION_CREATE_CONF_BRIDGE = 18, |
| 325 | IMCB_IMC_OPERATION_REMOVE_OTHER_FROM_CONF = 19, |
| 326 | IMCB_IMC_OPERATION_JOIN_OTHER_TO_CONF = 20, |
| 327 | IMCB_IMC_OPERATION_REL_ACTIVE_N_ACCEPT = 21, |
| 328 | IMCB_IMC_OPERATION_ACCEPT = 22, |
| 329 | IMCB_IMC_OPERATION_ECCTRL = 23, |
| 330 | IMCB_IMC_OPERATION_CONF_W_RESOURCE_LIST = 24, |
| 331 | IMCB_IMC_OPERATION_ECT = 25, |
| 332 | IMCB_IMC_OPERATION_REL_MAX, |
| 333 | } imcb_imc_ss_operation_enum; |
| 334 | |
| 335 | typedef enum { |
| 336 | IMCB_IMC_NOTIFY_CALL_WAITING = 0, |
| 337 | IMCB_IMC_NOTIFY_CALL_BARRING = 1, |
| 338 | IMCB_IMC_NOTIFY_CALL_FORWARDING = 2, |
| 339 | IMCB_IMC_NOTIFY_MWI = 3, |
| 340 | IMCB_IMC_NOTIFY_CONFERENCE = 4, |
| 341 | IMCB_IMC_NOTIFY_MT_CALL_FORWARDING = 5, |
| 342 | IMCB_IMC_NOTIFY_DIALOG = 6, |
| 343 | IMCB_IMC_NOTIFY_MAX, |
| 344 | } imcb_imc_ss_notify_service_enum; |
| 345 | |
| 346 | typedef enum { |
| 347 | IMCB_IMC_SUB_EVENT_UNKNOWN = 0, |
| 348 | IMCB_IMC_SUB_EVENT_CONF = 1, |
| 349 | IMCB_IMC_SUB_EVENT_MAX, |
| 350 | } imcb_imc_ss_sub_event_enum; |
| 351 | |
| 352 | typedef enum { |
| 353 | IMCB_IMC_URI_SCHEME_TYPE_NONE = 0, |
| 354 | IMCB_IMC_URI_SCHEME_TYPE_SIP, |
| 355 | IMCB_IMC_URI_SCHEME_TYPE_TEL, |
| 356 | IMCB_IMC_URI_SCHEME_TYPE_URN, |
| 357 | IMCB_IMC_URI_SCHEME_TYPE_MAX |
| 358 | } imcb_imc_uri_scheme_type_enum; |
| 359 | |
| 360 | //IMS SRVCC Enum |
| 361 | typedef enum { |
| 362 | IMCB_IMC_SRVCC_RESULT_STARTED = 0, |
| 363 | IMCB_IMC_SRVCC_RESULT_SUCCESS, |
| 364 | IMCB_IMC_SRVCC_RESULT_FAILED, |
| 365 | IMCB_IMC_SRVCC_RESULT_CANCELLED, |
| 366 | IMCB_IMC_SRVCC_RESULT_UNKNOWN, |
| 367 | IMCB_IMC_SRVCC_RESULT_MAX |
| 368 | } imcb_imc_srvcc_status_enum; |
| 369 | |
| 370 | typedef enum { |
| 371 | IMCB_IMC_SRVCC_CALL_DIRECTION_MO = 0, |
| 372 | IMCB_IMC_SRVCC_CALL_DIRECTION_MT, |
| 373 | IMCB_IMC_SRVCC_CALL_DIRECTION_MAX, |
| 374 | } imcb_imc_srvcc_call_direction_enum; |
| 375 | |
| 376 | typedef enum { |
| 377 | IMCB_IMC_SRVCC_CALL_STATE_EARLY = 0, |
| 378 | IMCB_IMC_SRVCC_CALL_STATE_EARLY_WITH_MEDIA, |
| 379 | IMCB_IMC_SRVCC_CALL_STATE_ACTIVE, |
| 380 | IMCB_IMC_SRVCC_CALL_STATE_ON_HOLD, |
| 381 | IMCB_IMC_SRVCC_CALL_STATE_PRE_ALERTING, |
| 382 | IMCB_IMC_SRVCC_CALL_STATE_PRE_ALERTING_WITH_MEDIA, |
| 383 | IMCB_IMC_SRVCC_CALL_STATE_ACTIVE_RETRY_CC_CONNECT, |
| 384 | IMCB_IMC_SRVCC_CALL_STATE_MAX |
| 385 | } imcb_imc_srvcc_call_state_enum; |
| 386 | |
| 387 | typedef enum { |
| 388 | IMCB_IMC_SRVCC_CALL_ECC_CTGY_UNSPECIFIED = 0, |
| 389 | IMCB_IMC_SRVCC_CALL_ECC_CTGY_POLICE = 0x1, |
| 390 | IMCB_IMC_SRVCC_CALL_ECC_CTGY_AMBULANCE = 0x2, |
| 391 | IMCB_IMC_SRVCC_CALL_ECC_CTGY_FIRE = 0x4, |
| 392 | IMCB_IMC_SRVCC_CALL_ECC_CTGY_MARINE = 0x8, |
| 393 | IMCB_IMC_SRVCC_CALL_ECC_CTGY_MOUNTAIN = 0x10, |
| 394 | IMCB_IMC_SRVCC_CALL_ECC_CTGY_MANUALLY = 0x40, |
| 395 | IMCB_IMC_SRVCC_CALL_ECC_CTGY_AUTO = 0x80, |
| 396 | IMCB_IMC_SRVCC_CALL_ECC_CTGY_GAS = 0x100, |
| 397 | IMCB_IMC_SRVCC_CALL_ECC_CTGY_ANIMAL = 0x200, |
| 398 | IMCB_IMC_SRVCC_CALL_ECC_CTGY_PHYSICIAN = 0x400, |
| 399 | IMCB_IMC_SRVCC_CALL_ECC_CTGY_POISON = 0x800, |
| 400 | IMCB_IMC_SRVCC_CALL_ECC_CTGY_TRAFFIC = 0x1000, |
| 401 | IMCB_IMC_SRVCC_CALL_ECC_CTGY_COUNTRY_SPECIFIC = 0x2000, |
| 402 | IMCB_IMC_SRVCC_CALL_ECC_CTGY_UNRECOGNIZED = 0x8000, |
| 403 | |
| 404 | /*Korea TTA special emergency Ctgy*/ |
| 405 | IMCB_IMC_SRVCC_CALL_ECC_CTGY_KR_SPIES = 0x3, |
| 406 | IMCB_IMC_SRVCC_CALL_ECC_CTGY_KR_INTELLIGENCE = 0x6, |
| 407 | IMCB_IMC_SRVCC_CALL_ECC_CTGY_KR_INTELLIGENCE_01 = 0x7, |
| 408 | IMCB_IMC_SRVCC_CALL_ECC_CTGY_KR_SMUGGLING = 0x9, |
| 409 | IMCB_IMC_SRVCC_CALL_ECC_CTGY_KR_SCHOOL_VIOLENCE = 0x12, |
| 410 | IMCB_IMC_SRVCC_CALL_ECC_CTGY_KR_CYBERTERRORISM = 0x13, |
| 411 | IMCB_IMC_SRVCC_CALL_ECC_CTGY_MAX = 0xFFFF |
| 412 | } imcb_imc_srvcc_call_ecc_category_enum; |
| 413 | |
| 414 | /* Ref 3GPP 26.445 Table A.3 */ |
| 415 | /* Only for Primary mode */ |
| 416 | typedef enum { |
| 417 | IMCB_IMC_EVS_CODEC_BITRATE_5_9 = 0x0, |
| 418 | IMCB_IMC_EVS_CODEC_BITRATE_7_2, |
| 419 | IMCB_IMC_EVS_CODEC_BITRATE_8_0, |
| 420 | IMCB_IMC_EVS_CODEC_BITRATE_9_6, |
| 421 | IMCB_IMC_EVS_CODEC_BITRATE_13_2, |
| 422 | IMCB_IMC_EVS_CODEC_BITRATE_16_4, |
| 423 | IMCB_IMC_EVS_CODEC_BITRATE_24_4, |
| 424 | IMCB_IMC_EVS_CODEC_BITRATE_32_0, |
| 425 | IMCB_IMC_EVS_CODEC_BITRATE_48_0, |
| 426 | IMCB_IMC_EVS_CODEC_BITRATE_64_0, |
| 427 | IMCB_IMC_EVS_CODEC_BITRATE_96_0, |
| 428 | IMCB_IMC_EVS_CODEC_BITRATE_128_0 = 0xB, |
| 429 | IMCB_IMC_EVS_CODEC_BITRATE_MAX, |
| 430 | IMCB_IMC_EVS_CODEC_BITRATE_NONE = 0xF, |
| 431 | } imcb_imc_evs_codec_bitrate_enum; |
| 432 | |
| 433 | typedef enum { |
| 434 | IMCB_IMC_EVS_BANDWIDTH_NB, |
| 435 | IMCB_IMC_EVS_BANDWIDTH_WB, |
| 436 | IMCB_IMC_EVS_BANDWIDTH_SWB, |
| 437 | IMCB_IMC_EVS_BANDWIDTH_FB, |
| 438 | IMCB_IMC_EVS_BANDWIDTH_MAX, |
| 439 | IMCB_IMC_EVS_BANDWIDTH_NONE = 0xF, |
| 440 | } imcb_imc_evs_bandwidth_enum; |
| 441 | |
| 442 | //IMS USSI Enum |
| 443 | typedef enum { |
| 444 | IMCB_IMC_USSD_URC_STATUS_DISABLED = 0, |
| 445 | IMCB_IMC_USSD_URC_STATUS_ENABLED = 1, |
| 446 | } imcb_imc_ussd_urc_status_enum; |
| 447 | |
| 448 | typedef enum { |
| 449 | IMCB_IMC_380_XML_TYPE_NOT_SET = 0, |
| 450 | IMCB_IMC_380_XML_TYPE_EMERGENCY, |
| 451 | IMCB_IMC_380_XML_TYPE_RESTORATION, |
| 452 | IMCB_IMC_380_XML_TYPE_UNKNOWN, |
| 453 | /*add here*/ |
| 454 | IMCB_IMC_380_XML_TYPE_MAX, |
| 455 | } imcb_imc_380_xml_type_enum; |
| 456 | |
| 457 | typedef enum { |
| 458 | IMCB_IMC_380_XML_ACTION_NOT_SET = 0, |
| 459 | IMCB_IMC_380_XML_ACTION_EMERGENCY_REGISTRATION, |
| 460 | IMCB_IMC_380_XML_ACTION_INITIAL_REGISTRATION, |
| 461 | IMCB_IMC_380_XML_ACTION_ANONYMOUS_EMERGECYCALL, |
| 462 | IMCB_IMC_380_XML_ACTION_UNKNOWN, |
| 463 | /*add here*/ |
| 464 | IMCB_IMC_380_XML_ACTION_MAX, |
| 465 | } imcb_imc_380_xml_action_enum; |
| 466 | |
| 467 | typedef enum { |
| 468 | IMCB_IMC_CALL_CAUSE_380_CONTACT_NOT_SET = 0, |
| 469 | IMCB_IMC_CALL_CAUSE_380_CONTACT_SOS_AND_CATEGORY_KNOWN, |
| 470 | IMCB_IMC_CALL_CAUSE_380_CONTACT_SOS_AND_CATEGORY_UNKNOWN, |
| 471 | IMCB_IMC_CALL_CAUSE_380_CONTACT_NOT_SOS, |
| 472 | IMCB_IMC_CALL_CAUSE_380_CONTACT_NO_CONTACT, |
| 473 | /*add here*/ |
| 474 | IMCB_IMC_CALL_CAUSE_380_CONTACT_MAX, |
| 475 | } imcb_imc_call_cause_380_contact_enum; |
| 476 | |
| 477 | typedef enum { |
| 478 | IMCB_IMC_CALL_CAUSE_380_XML_NOT_SET = 0, |
| 479 | IMCB_IMC_CALL_CAUSE_380_XML_ACTION_EMERGECY_REG, |
| 480 | IMCB_IMC_CALL_CAUSE_380_XML_ACTION_UNKNOWN_CATEGORY_MAPPED, |
| 481 | IMCB_IMC_CALL_CAUSE_380_XML_ACTION_UNKNOWN_CATEGORY_NOT_MAPPED, |
| 482 | IMCB_IMC_CALL_CAUSE_380_XML_ACTION_UNKNOWN_NO_CONTACT, |
| 483 | /*add here*/ |
| 484 | IMCB_IMC_CALL_CAUSE_380_XML_MAX, |
| 485 | } imcb_imc_call_cause_380_xml_enum; |
| 486 | |
| 487 | /*****imc_general_enum.h START*****/ |
| 488 | typedef enum { |
| 489 | IMS_SIM_TYPE_SIM_USIM_INVALID = 0, |
| 490 | IMS_SIM_TYPE_SIM_USIM_VALID, |
| 491 | IMS_SIM_TYPE_ISIM_UNKNOWN, |
| 492 | IMS_SIM_TYPE_ISIM_INVALID, |
| 493 | IMS_SIM_TYPE_ISIM_VALID, |
| 494 | IMS_SIM_TYPE_SIM_USIM_RELOAD_DONE, |
| 495 | IMS_SIM_TYPE_ISIM_RELOAD_DONE |
| 496 | } ims_sim_type_enum; |
| 497 | |
| 498 | typedef enum { |
| 499 | IMS_SIM_USIM_IMSI = 0, |
| 500 | IMS_SIM_USIM_PSISMSC, |
| 501 | IMS_SIM_USIM_SMSP, |
| 502 | IMS_SIM_USIM_MSISDN, |
| 503 | IMS_SIM_USIM_FROMPREFERRED, |
| 504 | IMS_SIM_USIM_GID1, |
| 505 | IMS_SIM_USIM_GID2 |
| 506 | } ims_sim_usim_data_enum; |
| 507 | |
| 508 | typedef enum { |
| 509 | IMS_ISIM_IMPI = 0, |
| 510 | IMS_ISIM_IMPU, |
| 511 | IMS_ISIM_DOMAIN_NAME, |
| 512 | IMS_ISIM_PSISMSC, |
| 513 | IMS_ISIM_IST, |
| 514 | IMS_ISIM_FROMPREFERRED |
| 515 | } ims_isim_data_enum; |
| 516 | |
| 517 | /* WFC */ |
| 518 | typedef enum { |
| 519 | IMC_ECMP_NONE=0, |
| 520 | IMC_ECMP_UNSPEC, |
| 521 | IMC_ECMP_3GPP, |
| 522 | IMC_ECMP_WLAN, |
| 523 | IMC_ECMP_EHRPD, |
| 524 | IMC_ECMP_MAX, |
| 525 | } imc_ecmp_enum; |
| 526 | |
| 527 | /* initial configuration */ |
| 528 | typedef enum { |
| 529 | IMC_V4_ONLY = 0, |
| 530 | IMC_V6_ONLY, |
| 531 | IMC_V4_PREFER, |
| 532 | IMC_V6_PREFER |
| 533 | } imc_v4v6_preference_enum; |
| 534 | |
| 535 | typedef enum { |
| 536 | IMC_NOT_FOR_IM_CN_SIGNALING = 0, |
| 537 | IMC_FOR_IM_CN_SIGNALING |
| 538 | } imc_im_cn_signaling_flag_enum; |
| 539 | |
| 540 | typedef enum { |
| 541 | IMC_PCSCF_ADDR_DISCOVERY_VIA_NONE = 0, |
| 542 | IMC_PCSCF_ADDR_DISCOVERY_VIA_NAS_SIGNALLING = 1, |
| 543 | IMC_PCSCF_ADDR_DISCOVERY_VIA_DHCP = 2 |
| 544 | } imc_pcscf_discovery_enum; |
| 545 | |
| 546 | typedef enum { |
| 547 | IMC_RLM_DISABLED = 0, |
| 548 | IMC_RLM_ENABLED |
| 549 | } imc_rlm_enum; |
| 550 | |
| 551 | typedef enum { |
| 552 | IMC_CC_RESULT_NONE, |
| 553 | IMC_CC_RESULT_SUCCESS, |
| 554 | IMC_CC_RESULT_FAIL, |
| 555 | IMC_CC_RESULT_END |
| 556 | } imc_cc_result_enum; |
| 557 | |
| 558 | typedef enum { |
| 559 | IMC_CC_CALL_MOD_NONE, |
| 560 | IMC_CC_CALL_MOD_NORAMAL, |
| 561 | IMC_CC_CALL_MOD_EMERGENCY, |
| 562 | IMC_CC_CALL_MOD_END |
| 563 | } imc_cc_call_mode_enum; |
| 564 | |
| 565 | typedef enum { |
| 566 | IMC_CC_CAUSE_NONE, |
| 567 | IMC_CC_CAUSE_END |
| 568 | } imc_cc_cause_enum; |
| 569 | |
| 570 | typedef enum { |
| 571 | IMC_ECPI_NONE, |
| 572 | IMC_ECPI_END |
| 573 | } imc_ecpi_enum; |
| 574 | |
| 575 | //IMS Common Enum |
| 576 | typedef enum { |
| 577 | IMCB_IMC_OPERATOR_DEFAULT = 0x00, //0 |
| 578 | /* WWOP system */ |
| 579 | IMCB_IMC_OPERATOR_CMCC = 0x01, // 1 |
| 580 | IMCB_IMC_OPERATOR_CU = 0x02, // 2 |
| 581 | IMCB_IMC_OPERATOR_ORANGE = 0x03, // 3 |
| 582 | IMCB_IMC_OPERATOR_TMOEU = 0x05, //5 |
| 583 | IMCB_IMC_OPERATOR_VDF = 0x06, //6 |
| 584 | IMCB_IMC_OPERATOR_ATT = 0x07, //7 |
| 585 | IMCB_IMC_OPERATOR_TMOUS = 0x08, //8 |
| 586 | IMCB_IMC_OPERATOR_CT = 0x09, //9 |
| 587 | IMCB_IMC_OPERATOR_TIER2 = 0x0A, //10 |
| 588 | IMCB_IMC_OPERATOR_H3G = 0x0B, //11 |
| 589 | IMCB_IMC_OPERATOR_VZW = 0x0C, //12 |
| 590 | IMCB_IMC_OPERATOR_TELEFONICA = 0x0F, //15 |
| 591 | IMCB_IMC_OPERATOR_EE = 0x10, //16 |
| 592 | IMCB_IMC_OPERATOR_DCM = 0x11, //17 |
| 593 | IMCB_IMC_OPERATOR_RJIL = 0x12, //18 |
| 594 | IMCB_IMC_OPERATOR_TELSTRA = 0x13, //19 |
| 595 | IMCB_IMC_OPERATOR_SPRINT = 0x14, //20 |
| 596 | IMCB_IMC_OPERATOR_DISH = 0x15, //21 |
| 597 | IMCB_IMC_OPERATOR_SOFTBANK = 0x32, //50 |
| 598 | IMCB_IMC_OPERATOR_CSL = 0x64, //100 |
| 599 | IMCB_IMC_OPERATOR_PCCW = 0x65, //101 |
| 600 | IMCB_IMC_OPERATOR_SMT = 0x66, //102 |
| 601 | IMCB_IMC_OPERATOR_SINGTEL = 0x67, //103 |
| 602 | IMCB_IMC_OPERATOR_STARHUB = 0x68, //104 |
| 603 | IMCB_IMC_OPERATOR_AMX = 0x69, //105 |
| 604 | IMCB_IMC_OPERATOR_3HK = 0x6A, //106 |
| 605 | IMCB_IMC_OPERATOR_SFR = 0x6B, //107 |
| 606 | IMCB_IMC_OPERATOR_TWN = 0x6C, //108 |
| 607 | IMCB_IMC_OPERATOR_CHT = 0x6D, //109 |
| 608 | IMCB_IMC_OPERATOR_FET = 0x6E, //110 |
| 609 | IMCB_IMC_OPERATOR_TELCEL = 0x70, //112 |
| 610 | IMCB_IMC_OPERATOR_BEELINE = 0x71, //113 |
| 611 | IMCB_IMC_OPERATOR_KT = 0x72, //114 |
| 612 | IMCB_IMC_OPERATOR_SKT = 0x73, //115 |
| 613 | IMCB_IMC_OPERATOR_UPLUS = 0x74, //116 |
| 614 | IMCB_IMC_OPERATOR_SMARTFREN = 0x75, //117 |
| 615 | IMCB_IMC_OPERATOR_YTL = 0x76, //118 |
| 616 | IMCB_IMC_OPERATOR_NATCOM = 0x77, //119 |
| 617 | IMCB_IMC_OPERATOR_CLARO = 0x78, //120 |
| 618 | IMCB_IMC_OPERATOR_BELL = 0x79, //121 |
| 619 | IMCB_IMC_OPERATOR_AIS = 0x7A, //122 |
| 620 | IMCB_IMC_OPERATOR_CMCC_2 = 0x7B, //123 |
| 621 | IMCB_IMC_OPERATOR_APTG = 0x7C, //124 |
| 622 | IMCB_IMC_OPERATOR_DTAC = 0x7D, //125 |
| 623 | IMCB_IMC_OPERATOR_AVEA = 0x7E, //126 |
| 624 | IMCB_IMC_OPERATOR_MEGAFONE = 0x7F, //127 |
| 625 | IMCB_IMC_OPERATOR_DNA = 0x80, //128 |
| 626 | IMCB_IMC_OPERATOR_KDDI = 0x81, //129 |
| 627 | IMCB_IMC_OPERATOR_TIM = 0x82, //130 |
| 628 | IMCB_IMC_OPERATOR_TRUEMOVE = 0x83, //131 |
| 629 | IMCB_IMC_OPERATOR_MOVISTAR = 0x84, //132 |
| 630 | IMCB_IMC_OPERATOR_DU = 0x85, //133 |
| 631 | IMCB_IMC_OPERATOR_ELISA = 0x86, //134 |
| 632 | IMCB_IMC_OPERATOR_MTS = 0x87, //135 |
| 633 | IMCB_IMC_OPERATOR_ENTEL = 0x88, //136 |
| 634 | IMCB_IMC_OPERATOR_TELE2 = 0x89, //137 |
| 635 | IMCB_IMC_OPERATOR_CRICKET = 0x91, //145 |
| 636 | IMCB_IMC_OPERATOR_M1 = 0x97, //151 |
| 637 | IMCB_IMC_OPERATOR_FIRSTNET = 0xC4, //196 |
| 638 | IMCB_IMC_OPERATOR_TPG = 0xDD, //221 |
rjw | 04b9c95 | 2023-03-28 14:35:43 +0800 | [diff] [blame] | 639 | IMCB_IMC_OPERATOR_CBN = 0x0184, //388 |
rjw | 6c1fd8f | 2022-11-30 14:33:01 +0800 | [diff] [blame] | 640 | |
| 641 | /* For Any IODT Activities */ |
| 642 | IMCB_IMC_OPERATOR_ERICSSON_IMS_IWLAN = 0x03E9, //1001 |
| 643 | IMCB_IMC_OPERATOR_NOKIA = 0x03EA, //1002 |
| 644 | IMCB_IMC_OPERATOR_MTK_HQLAB_ERICSSON = 0x03EB, //1003 |
| 645 | IMCB_IMC_OPERATOR_HUAWEI_IMS = 0x03EC, // 1004 |
| 646 | /* VoLTE internal */ |
| 647 | IMCB_IMC_OPERATOR_8475 = 0x4000, //16384 |
| 648 | IMCB_IMC_OPERATOR_ERICSSON = 0x4001, //16385 |
| 649 | IMCB_IMC_OPERATOR_CMW500 = 0x4002, //16386 |
| 650 | IMCB_IMC_OPERATOR_PCT = 0x4003, //16387 |
| 651 | /* Lab testing */ |
| 652 | IMCB_IMC_OPERATOR_NSN = 0x5000, //20480 |
| 653 | |
| 654 | /* Free Test */ |
| 655 | IMCB_IMC_OPERATOR_FREE_TEST = 0xFEE0, //no charge for testing |
| 656 | } imcb_imc_operator_id_enum; |
| 657 | |
| 658 | /*****imc_general_enum.h END*****/ |
| 659 | |
| 660 | /*****imc_general_struct.h START*****/ |
| 661 | |
| 662 | /* in modem, sim_id = sim_idx */ |
| 663 | /* please ref modem/general/sim_public_enum.h */ |
| 664 | |
| 665 | typedef struct imc_em_cfg_struct { |
| 666 | imcf_bool dbg_log; |
| 667 | imcf_bool log_to_msg; |
| 668 | imcf_bool dbg_assert; |
| 669 | |
| 670 | } imc_em_cfg_struct; |
| 671 | |
| 672 | typedef struct { |
| 673 | imc_rat_type_enum rat_type; |
| 674 | imc_rat_type_enum sub_rat_type; |
| 675 | imcf_uint8 pad[2]; |
| 676 | |
| 677 | imcf_uint8 plmn[IMC_MAX_PLMN_LEN]; /* in string format */ |
| 678 | imcf_uint8 lac [IMC_MAX_LAC_LEN]; /* in string format, lac or tac */ |
| 679 | imcf_uint8 ci [IMC_MAX_CI_LEN]; /* in string format */ |
| 680 | imcf_uint8 cell_id[IMC_MAX_CELL_ID_LEN]; /* ignore 3gpp or non-3gpp */ |
| 681 | imcf_uint8 ssid[IMC_MAX_SSID_LEN]; |
| 682 | |
| 683 | imcf_uint8 is_ems_support; |
| 684 | imcf_uint8 pad2[3]; |
| 685 | |
| 686 | /* C2K */ |
| 687 | imcf_uint8 sid[IMC_MAX_SID_LEN]; /* in string format */ |
| 688 | imcf_uint8 nid[IMC_MAX_NID_LEN]; /* in string format */ |
| 689 | imcf_uint8 pzid[IMC_MAX_PZID_LEN]; /* in string format */ |
| 690 | imcf_uint8 base_id[IMC_MAX_BASE_ID_LEN]; /* in string format */ |
| 691 | |
| 692 | imcf_uint8 sector_id[IMC_MAX_SECTOR_ID_LEN]; /* in string format */ |
| 693 | imcf_uint8 subnet_length[IMC_MAX_SUBNET_LENGTH_LEN]; /* in string format */ |
| 694 | imcf_uint8 carrier_id[IMC_MAX_CARRIER_ID_LEN]; /* in string format */ |
| 695 | } imc_rat_cell_info_struct; |
| 696 | /*****imc_general_struct.h END*****/ |
| 697 | |
| 698 | typedef enum { |
| 699 | /* UA TLV setting */ |
| 700 | /* ------------------------------------------------ */ |
| 701 | /* System */ |
| 702 | /* ------------------------------------------------ */ |
| 703 | IMCB_IMC_TLV_SYSTEM_START_CODE = 0, |
| 704 | IMCB_IMC_TLV_SYSTEM_OPERATOR_ID = IMCB_IMC_TLV_SYSTEM_START_CODE + 1, ///< DATA TYPE INT |
| 705 | IMCB_IMC_TLV_SYSTEM_GENERAL_SETTING = IMCB_IMC_TLV_SYSTEM_START_CODE + 2, |
| 706 | |
| 707 | /* ------------------------------------------------ */ |
| 708 | /* Network Information */ |
| 709 | /* ------------------------------------------------ */ |
| 710 | IMCB_IMC_TLV_NETWORK_INFORMATION_START_CODE = 1000, |
| 711 | IMCB_IMC_TLV_NETWORK_INFORMATION_LOCAL_ADDRESS = IMCB_IMC_TLV_NETWORK_INFORMATION_START_CODE + 1, ///< DATA TYPE IS STRING |
| 712 | IMCB_IMC_TLV_NETWORK_INFORMATION_LOCAL_PORT = IMCB_IMC_TLV_NETWORK_INFORMATION_START_CODE + 2, ///< DATA TYPE INT |
| 713 | IMCB_IMC_TLV_NETWORK_INFORMATION_LOCAL_PROTOCOL_TYPE = IMCB_IMC_TLV_NETWORK_INFORMATION_START_CODE + 3, ///< UDP: 0, TCP: 1 |
| 714 | IMCB_IMC_TLV_NETWORK_INFORMATION_LOCAL_PROTOCOL_VERSION = IMCB_IMC_TLV_NETWORK_INFORMATION_START_CODE + 4, ///< IPV4: 1, IPV6: 2 |
| 715 | IMCB_IMC_TLV_NETWORK_INFORMATION_LOCAL_IPSEC_PORT_START = IMCB_IMC_TLV_NETWORK_INFORMATION_START_CODE + 5, |
| 716 | IMCB_IMC_TLV_NETWORK_INFORMATION_LOCAL_IPSEC_PORT_RANGE = IMCB_IMC_TLV_NETWORK_INFORMATION_START_CODE + 6, |
| 717 | IMCB_IMC_TLV_NETWORK_INFORMATION_LOCAL_RTP_RTCP_PORT_START = IMCB_IMC_TLV_NETWORK_INFORMATION_START_CODE + 7, |
| 718 | IMCB_IMC_TLV_NETWORK_INFORMATION_LOCAL_RTP_RTCP_PORT_RANGE = IMCB_IMC_TLV_NETWORK_INFORMATION_START_CODE + 8, |
| 719 | IMCB_IMC_TLV_NETWORK_INFORMATION_IPSEC = IMCB_IMC_TLV_NETWORK_INFORMATION_START_CODE + 9, ///< DISABLE: 0, ENABLE: 1 |
| 720 | IMCB_IMC_TLV_NETWORK_INFORMATION_CELL_ID = IMCB_IMC_TLV_NETWORK_INFORMATION_START_CODE + 10, ///< DATA TYPE IS STRING |
| 721 | IMCB_IMC_TLV_NETWORK_INFORMATION_RTP_DSCP = IMCB_IMC_TLV_NETWORK_INFORMATION_START_CODE + 11, /// FOR BUILD PASS, NEED TO REMOVE |
| 722 | IMCB_IMC_TLV_NETWORK_INFORMATION_IF_NAME = IMCB_IMC_TLV_NETWORK_INFORMATION_START_CODE + 12, ///< DATA TYPE IS STRING |
| 723 | IMCB_IMC_TLV_NETWORK_INFORMATION_NETWORK_ID = IMCB_IMC_TLV_NETWORK_INFORMATION_START_CODE + 13, ///< DATA TYPE IS INTEGER |
| 724 | IMCB_IMC_TLV_NETWORK_INFORMATION_SIP_DSCP = IMCB_IMC_TLV_NETWORK_INFORMATION_START_CODE + 14, ///< DATA TYPE IS INTEGER |
| 725 | IMCB_IMC_TLV_NETWORK_INFORMATION_RTP_VOICE_DSCP = IMCB_IMC_TLV_NETWORK_INFORMATION_START_CODE + 15, ///< DATA TYPE IS INTEGER |
| 726 | IMCB_IMC_TLV_NETWORK_INFORMATION_RTP_VIDEO_DSCP = IMCB_IMC_TLV_NETWORK_INFORMATION_START_CODE + 16, ///< DATA TYPE IS INTEGER |
| 727 | IMCB_IMC_TLV_NETWORK_INFORMATION_SIP_SOC_PRIORITY = IMCB_IMC_TLV_NETWORK_INFORMATION_START_CODE + 17, ///< DATA TYPE IS INTEGER |
| 728 | IMCB_IMC_TLV_NETWORK_INFORMATION_SIP_SOC_TCP_MSS = IMCB_IMC_TLV_NETWORK_INFORMATION_START_CODE + 18, ///< DATA TYPE IS INTEGER |
| 729 | IMCB_IMC_TLV_NETWORK_INFORMATION_RTP_VOICE_SOC_PRIORITY = IMCB_IMC_TLV_NETWORK_INFORMATION_START_CODE + 19, ///< DATA TYPE IS INTEGER |
| 730 | IMCB_IMC_TLV_NETWORK_INFORMATION_RTP_VIDEO_SOC_PRIORITY = IMCB_IMC_TLV_NETWORK_INFORMATION_START_CODE + 20, ///< DATA TYPE IS INTEGER |
| 731 | IMCB_IMC_TLV_NETWORK_INFORMATION_LBS_LOCATION_INFO = IMCB_IMC_TLV_NETWORK_INFORMATION_START_CODE + 21, ///< DATA TYPE IS INTEGER |
| 732 | IMCB_IMC_TLV_NETWORK_INFORMATION_SECURITY = IMCB_IMC_TLV_NETWORK_INFORMATION_START_CODE + 22, |
| 733 | IMCB_IMC_TLV_NETWORK_INFORMATION_AUTHENTICATION = IMCB_IMC_TLV_NETWORK_INFORMATION_START_CODE + 23, |
| 734 | IMCB_IMC_TLV_NETWORK_INFORMATION_PCSCF_PORT = IMCB_IMC_TLV_NETWORK_INFORMATION_START_CODE + 24, |
| 735 | IMCB_IMC_TLV_NETWORK_INFORMATION_EMERGENCY_AID = IMCB_IMC_TLV_NETWORK_INFORMATION_START_CODE + 25, |
| 736 | |
| 737 | /* ------------------------------------------------ */ |
| 738 | /* Account Settings */ |
| 739 | /* ------------------------------------------------ */ |
| 740 | IMCB_IMC_TLV_ACCOUNT_SETTINGS_START_CODE = 2000, |
| 741 | IMCB_IMC_TLV_ACCOUNT_SETTINGS_PUBLIC_UID = IMCB_IMC_TLV_ACCOUNT_SETTINGS_START_CODE + 1, ///< DATA TYPE IS STRING |
| 742 | IMCB_IMC_TLV_ACCOUNT_SETTINGS_PRIVATE_UID = IMCB_IMC_TLV_ACCOUNT_SETTINGS_START_CODE + 2, ///< DATA TYPE IS STRING |
| 743 | IMCB_IMC_TLV_ACCOUNT_SETTINGS_HOME_URI = IMCB_IMC_TLV_ACCOUNT_SETTINGS_START_CODE + 3, ///< DATA TYPE IS STRING |
| 744 | IMCB_IMC_TLV_ACCOUNT_SETTINGS_IMEI = IMCB_IMC_TLV_ACCOUNT_SETTINGS_START_CODE + 4, ///< DATA TYPE IS STRING |
| 745 | IMCB_IMC_TLV_ACCOUNT_SETTINGS_CONFFACTORYURI = IMCB_IMC_TLV_ACCOUNT_SETTINGS_START_CODE + 5, |
| 746 | IMCB_IMC_TLV_ACCOUNT_SETTINGS_IMSI_MNC = IMCB_IMC_TLV_ACCOUNT_SETTINGS_START_CODE + 6, |
| 747 | IMCB_IMC_TLV_ACCOUNT_SETTINGS_IMSI_MCC = IMCB_IMC_TLV_ACCOUNT_SETTINGS_START_CODE + 7, |
| 748 | IMCB_IMC_TLV_ACCOUNT_SETTINGS_MSISDN = IMCB_IMC_TLV_ACCOUNT_SETTINGS_START_CODE + 8, |
| 749 | |
| 750 | /* ------------------------------------------------ */ |
| 751 | /* Server Settings */ |
| 752 | /* ------------------------------------------------ */ |
| 753 | IMCB_IMC_TLV_SERVER_SETTINGS_START_CODE = 3000, |
| 754 | IMCB_IMC_TLV_SERVER_SETTINGS_PCSCF_LIST = IMCB_IMC_TLV_SERVER_SETTINGS_START_CODE + 1, ///< DATA TYPE IS STRING |
| 755 | |
| 756 | /* ------------------------------------------------ */ |
| 757 | /* VoLTE Service Settings */ |
| 758 | /* ------------------------------------------------ */ |
| 759 | IMCB_IMC_TLV_SERVICE_START_CODE = 10000, |
| 760 | |
| 761 | /* ------------------------------------------------ */ |
| 762 | /* VoLTE Call Settings */ |
| 763 | /* ------------------------------------------------ */ |
| 764 | IMCB_IMC_TLV_CALL_START_CODE = 11000, |
| 765 | IMCB_IMC_TLV_CALL_SESSION_FLAG = IMCB_IMC_TLV_CALL_START_CODE + 1, |
| 766 | IMCB_IMC_TLV_CALL_SESSION_TIMER = IMCB_IMC_TLV_CALL_START_CODE + 2, ///< IN SECONDS |
| 767 | IMCB_IMC_TLV_CALL_SESSION_MINSE = IMCB_IMC_TLV_CALL_START_CODE + 3, ///< IN SECONDS |
| 768 | IMCB_IMC_TLV_CALL_PRIVACY = IMCB_IMC_TLV_CALL_START_CODE + 4, |
| 769 | IMCB_IMC_TLV_CALL_CAPABILITY = IMCB_IMC_TLV_CALL_START_CODE + 5, ///< DATA TYPE IS ::VOLTE_CALL_CAPABILITY_TYPE_E |
| 770 | IMCB_IMC_TLV_CALL_RTCP_INTERVAL = IMCB_IMC_TLV_CALL_START_CODE + 6, ///< IN MS |
| 771 | IMCB_IMC_TLV_CALL_EARLY_MEDIA = IMCB_IMC_TLV_CALL_START_CODE + 7, ///< IF THE INCOMING CALL SUPPORT EARLY MEDIA, SHALL WE REQUIRE IT TO PLAY? |
| 772 | IMCB_IMC_TLV_CALL_CODECORDER1 = IMCB_IMC_TLV_CALL_START_CODE + 8, ///< VOIP_CODEC_ENUM |
| 773 | IMCB_IMC_TLV_CALL_CODECORDER2 = IMCB_IMC_TLV_CALL_START_CODE + 9, ///< VOIP_CODEC_ENUM |
| 774 | IMCB_IMC_TLV_CALL_CODECORDER3 = IMCB_IMC_TLV_CALL_START_CODE + 10, ///< VOIP_CODEC_ENUM |
| 775 | IMCB_IMC_TLV_CALL_DEF_MAX_PTIME = IMCB_IMC_TLV_CALL_START_CODE + 11, |
| 776 | IMCB_IMC_TLV_CALL_DEF_PTIME = IMCB_IMC_TLV_CALL_START_CODE + 12, |
| 777 | IMCB_IMC_TLV_CALL_G711_PTIME = IMCB_IMC_TLV_CALL_START_CODE + 13, |
| 778 | IMCB_IMC_TLV_CALL_G726_PTIME = IMCB_IMC_TLV_CALL_START_CODE + 14, |
| 779 | IMCB_IMC_TLV_CALL_G729_PTIME = IMCB_IMC_TLV_CALL_START_CODE + 15, |
| 780 | IMCB_IMC_TLV_CALL_AMR_PT = IMCB_IMC_TLV_CALL_START_CODE + 16, |
| 781 | IMCB_IMC_TLV_CALL_AMR_WB_PT = IMCB_IMC_TLV_CALL_START_CODE + 17, |
| 782 | IMCB_IMC_TLV_CALL_H264_PT = IMCB_IMC_TLV_CALL_START_CODE + 18, |
| 783 | IMCB_IMC_TLV_CALL_G729_ANNEXB = IMCB_IMC_TLV_CALL_START_CODE + 19, |
| 784 | IMCB_IMC_TLV_CALL_TELEVT = IMCB_IMC_TLV_CALL_START_CODE + 20, |
| 785 | IMCB_IMC_TLV_CALL_TELEVT_PT = IMCB_IMC_TLV_CALL_START_CODE + 21, |
| 786 | IMCB_IMC_TLV_CALL_PRIORITY = IMCB_IMC_TLV_CALL_START_CODE + 22, |
| 787 | IMCB_IMC_TLV_CALL_USERAGENT = IMCB_IMC_TLV_CALL_START_CODE + 23, ///< VOLTE_MAX_ADDRESS_LENGTH |
| 788 | IMCB_IMC_TLV_CALL_REJCODE = IMCB_IMC_TLV_CALL_START_CODE + 24, |
| 789 | IMCB_IMC_TLV_CALL_NORESOURCECODE = IMCB_IMC_TLV_CALL_START_CODE + 25, |
| 790 | IMCB_IMC_TLV_CALL_REJMEDIACODE = IMCB_IMC_TLV_CALL_START_CODE + 26, |
| 791 | IMCB_IMC_TLV_CALL_REJBYUSERCODE = IMCB_IMC_TLV_CALL_START_CODE + 27, |
| 792 | IMCB_IMC_TLV_CALL_CONF_SUBTIMER = IMCB_IMC_TLV_CALL_START_CODE + 28, |
| 793 | IMCB_IMC_TLV_CALL_AMR_MODE_SET = IMCB_IMC_TLV_CALL_START_CODE + 29, |
| 794 | IMCB_IMC_TLV_CALL_AMR_WB_MODE_SET = IMCB_IMC_TLV_CALL_START_CODE + 30, |
| 795 | IMCB_IMC_TLV_CALL_AMR_FMT_VARIANT = IMCB_IMC_TLV_CALL_START_CODE + 31, |
| 796 | IMCB_IMC_TLV_CALL_PRECONDITION = IMCB_IMC_TLV_CALL_START_CODE + 32, |
| 797 | IMCB_IMC_TLV_CALL_MO_INVITE_TO_BWCNF_TIME = IMCB_IMC_TLV_CALL_START_CODE + 33, |
| 798 | IMCB_IMC_TLV_CALL_H264_PT2 = IMCB_IMC_TLV_CALL_START_CODE + 34, |
| 799 | IMCB_IMC_TLV_CALL_H265_PT = IMCB_IMC_TLV_CALL_START_CODE + 35, |
| 800 | IMCB_IMC_TLV_CALL_H265_PT2 = IMCB_IMC_TLV_CALL_START_CODE + 36, |
| 801 | IMCB_IMC_TLV_CALL_AMR_OCT_PT = IMCB_IMC_TLV_CALL_START_CODE + 37, |
| 802 | IMCB_IMC_TLV_CALL_AMR_OPEN_PT = IMCB_IMC_TLV_CALL_START_CODE + 38, |
| 803 | IMCB_IMC_TLV_CALL_AMR_WB_OCT_PT = IMCB_IMC_TLV_CALL_START_CODE + 39, |
| 804 | IMCB_IMC_TLV_CALL_TELEVT_WB_PT = IMCB_IMC_TLV_CALL_START_CODE + 40, |
| 805 | |
| 806 | IMCB_IMC_TLV_CALL_CONTACT_WITH_USERNAME_INCALL = IMCB_IMC_TLV_CALL_START_CODE + 41, |
| 807 | IMCB_IMC_TLV_CALL_SENDRECV_BEFORE_PRCD = IMCB_IMC_TLV_CALL_START_CODE + 42, |
| 808 | IMCB_IMC_TLV_CALL_ALWAYS_USE_UPDATE_FOR_PRCD = IMCB_IMC_TLV_CALL_START_CODE + 43, |
| 809 | IMCB_IMC_TLV_CALL_MERGE_NEED_SWAP = IMCB_IMC_TLV_CALL_START_CODE + 44, |
| 810 | IMCB_IMC_TLV_CALL_ALWAYS_USE_SIP_URI_FOR_MO_CALL = IMCB_IMC_TLV_CALL_START_CODE + 45, |
| 811 | IMCB_IMC_TLV_CALL_SET_STRENGTH_MANDATORY = IMCB_IMC_TLV_CALL_START_CODE + 46, |
| 812 | IMCB_IMC_TLV_CALL_SEND_REFER_TO_PEER = IMCB_IMC_TLV_CALL_START_CODE + 47, |
| 813 | IMCB_IMC_TLV_CALL_ADD_3GPP_IMS_IN_ACCEPT = IMCB_IMC_TLV_CALL_START_CODE + 48, |
| 814 | IMCB_IMC_TLV_CALL_TERMINAL_BASED_CW = IMCB_IMC_TLV_CALL_START_CODE + 49, |
| 815 | IMCB_IMC_TLV_CALL_REFER_DIALOG_TO_SERVER = IMCB_IMC_TLV_CALL_START_CODE + 50, |
| 816 | IMCB_IMC_TLV_CALL_CHECK_REASON_PHRASE = IMCB_IMC_TLV_CALL_START_CODE + 51, |
| 817 | IMCB_IMC_TLV_CALL_MERGE_SEND_BYE = IMCB_IMC_TLV_CALL_START_CODE + 52, |
| 818 | IMCB_IMC_TLV_CALL_WHEN_STOP_TCALL = IMCB_IMC_TLV_CALL_START_CODE + 53, |
| 819 | IMCB_IMC_TLV_CALL_SET_RTCP_0 = IMCB_IMC_TLV_CALL_START_CODE + 54, |
| 820 | IMCB_IMC_TLV_CALL_CHECK_CONTACT_380 = IMCB_IMC_TLV_CALL_START_CODE + 55, |
| 821 | IMCB_IMC_TLV_CALL_CONF_PARTICIPANT_NOT_SUBSCRIBE = IMCB_IMC_TLV_CALL_START_CODE + 56, |
| 822 | IMCB_IMC_TLV_CALL_ADD_SDP_IN_180_FOR_NON_PRECOND = IMCB_IMC_TLV_CALL_START_CODE + 57, |
| 823 | IMCB_IMC_TLV_CALL_ADD_PRECONDITION_IN_HOLD_UNHOLD_SDP = IMCB_IMC_TLV_CALL_START_CODE + 58, |
| 824 | IMCB_IMC_TLV_CALL_USE_ORG_SDP_FOR_INVITE_WITHOUT_SDP = IMCB_IMC_TLV_CALL_START_CODE + 59, |
| 825 | IMCB_IMC_TLV_CALL_OIR_PRIVACY_TO_HEADER = IMCB_IMC_TLV_CALL_START_CODE + 60, |
| 826 | IMCB_IMC_TLV_CALL_REGISTER_CAP_WHENEVER = IMCB_IMC_TLV_CALL_START_CODE + 61, |
| 827 | IMCB_IMC_TLV_CALL_NO_AUTO_RETRY_FOR_MO_CALL = IMCB_IMC_TLV_CALL_START_CODE + 62, |
| 828 | IMCB_IMC_TLV_CALL_USE_EPS_PREFIX_IN_PHONE_CONTEXT = IMCB_IMC_TLV_CALL_START_CODE + 63, |
| 829 | IMCB_IMC_TLV_CALL_FOLLOW_NW_IMS_VOPS_SUPPORT = IMCB_IMC_TLV_CALL_START_CODE + 64, |
| 830 | IMCB_IMC_TLV_CALL_ATTEMPT_REG_WHEN_RECEIVE403 = IMCB_IMC_TLV_CALL_START_CODE + 65, |
| 831 | IMCB_IMC_TLV_CALL_WAITING_487_FOR_CANCEL_TIMER_TIMEOUT = IMCB_IMC_TLV_CALL_START_CODE + 66, |
| 832 | IMCB_IMC_TLV_CALL_BCSFB_FEATURE_ENABLE = IMCB_IMC_TLV_CALL_START_CODE + 67, |
| 833 | IMCB_IMC_TLV_CALL_SEND_183_WHEN_PRCD_NONE = IMCB_IMC_TLV_CALL_START_CODE + 68, |
| 834 | IMCB_IMC_TLV_CALL_CALL_ID_WITH_HOST_INCALL = IMCB_IMC_TLV_CALL_START_CODE + 69, |
| 835 | IMCB_IMC_TLV_CALL_ADD_RTCP_PORT_INTO_SDP = IMCB_IMC_TLV_CALL_START_CODE + 70, |
| 836 | IMCB_IMC_TLV_CALL_ECC_SESSION_TIMER_ENABLE = IMCB_IMC_TLV_CALL_START_CODE + 71, |
| 837 | IMCB_IMC_TLV_CALL_SUBSCRIBE_DIALOG_TO_SERVER = IMCB_IMC_TLV_CALL_START_CODE + 72, |
| 838 | IMCB_IMC_TLV_CALL_CHECK_CONFERENCE_SUBSCRIBE = IMCB_IMC_TLV_CALL_START_CODE + 73, |
| 839 | IMCB_IMC_TLV_CALL_CONFERENCE_SUBSCRIBE_TIMING = IMCB_IMC_TLV_CALL_START_CODE + 74, |
| 840 | IMCB_IMC_TLV_CALL_GENERAL_AMR_NB_WB = IMCB_IMC_TLV_CALL_START_CODE + 75, |
| 841 | IMCB_IMC_TLV_CALL_DISABLE_CONF_CALL_PRCD = IMCB_IMC_TLV_CALL_START_CODE + 76, |
| 842 | IMCB_IMC_TLV_CALL_WAIT_CANCEL_IN_SRVCC_END = IMCB_IMC_TLV_CALL_START_CODE + 77, |
| 843 | IMCB_IMC_TLV_CALL_REJECT_1W_IF_1A1H = IMCB_IMC_TLV_CALL_START_CODE + 78, |
| 844 | IMCB_IMC_TLV_CALL_NO_AUTO_RETRY_FOR_DCM_MO_CALL = IMCB_IMC_TLV_CALL_START_CODE + 79, |
| 845 | IMCB_IMC_TLV_CALL_JOIN_SEND_BYE = IMCB_IMC_TLV_CALL_START_CODE + 80, |
| 846 | IMCB_IMC_TLV_CALL_SET_ZERO_CELL_ID_IN_WIFI = IMCB_IMC_TLV_CALL_START_CODE + 81, |
| 847 | IMCB_IMC_TLV_CALL_REJECT_MTCALL_BY_VOPS = IMCB_IMC_TLV_CALL_START_CODE + 82, |
| 848 | IMCB_IMC_TLV_CALL_REJECT_MTCALL_WHEN_VILTE = IMCB_IMC_TLV_CALL_START_CODE + 83, |
| 849 | IMCB_IMC_TLV_CALL_NOT_ADD_SDP_IN_OPTIONS = IMCB_IMC_TLV_CALL_START_CODE + 84, |
| 850 | IMCB_IMC_TLV_CALL_PCSCF_ERROR_WHEN663 = IMCB_IMC_TLV_CALL_START_CODE + 85, |
| 851 | IMCB_IMC_TLV_CALL_REL_CONF_IF_NO_PARTICIPANT = IMCB_IMC_TLV_CALL_START_CODE + 86, |
| 852 | IMCB_IMC_TLV_CALL_ADD_NO_FORK = IMCB_IMC_TLV_CALL_START_CODE + 87, |
| 853 | IMCB_IMC_TLV_CALL_TMO_SPECIFIC_SDP = IMCB_IMC_TLV_CALL_START_CODE + 88, |
| 854 | IMCB_IMC_TLV_CALL_CALL_RINGING_TIMER_TIMEOUT = IMCB_IMC_TLV_CALL_START_CODE + 89, |
| 855 | IMCB_IMC_TLV_CALL_CALL_RINGBACK_TIMER_TIMEOUT = IMCB_IMC_TLV_CALL_START_CODE + 90, |
| 856 | IMCB_IMC_TLV_CALL_CALL_TCALL_TIMER_TIMEOUT = IMCB_IMC_TLV_CALL_START_CODE + 91, |
| 857 | IMCB_IMC_TLV_CALL_REJECT_CODE_IN23G = IMCB_IMC_TLV_CALL_START_CODE + 92, |
| 858 | IMCB_IMC_TLV_CALL_CALL_REFRESHCALL_TIMER_EXPIRE = IMCB_IMC_TLV_CALL_START_CODE + 93, |
| 859 | IMCB_IMC_TLV_CALL_CALL_CALLEND_TIMER_TIMEOUT = IMCB_IMC_TLV_CALL_START_CODE + 94, |
| 860 | IMCB_IMC_TLV_CALL_WAITING_MT_CNF_TIMER_TIMEOUT = IMCB_IMC_TLV_CALL_START_CODE + 95, |
| 861 | IMCB_IMC_TLV_CALL_CONF_SUB_TIMER_TIMEOUT = IMCB_IMC_TLV_CALL_START_CODE + 96, |
| 862 | IMCB_IMC_TLV_CALL_MO_INVITE_TO_BW_CNF_TIMER_TIMEOUT = IMCB_IMC_TLV_CALL_START_CODE + 97, |
| 863 | IMCB_IMC_TLV_CALL_SRVCC_CAPABILITY = IMCB_IMC_TLV_CALL_START_CODE + 98, |
| 864 | IMCB_IMC_TLV_CALL_EVS_SUPPORT = IMCB_IMC_TLV_CALL_START_CODE + 99, |
| 865 | IMCB_IMC_TLV_CALL_EVS_MODE_SWITCH = IMCB_IMC_TLV_CALL_START_CODE + 100, |
| 866 | IMCB_IMC_TLV_CALL_HF_ONLY = IMCB_IMC_TLV_CALL_START_CODE + 101, |
| 867 | IMCB_IMC_TLV_CALL_DTX = IMCB_IMC_TLV_CALL_START_CODE + 102, |
| 868 | IMCB_IMC_TLV_CALL_DTX_RECV = IMCB_IMC_TLV_CALL_START_CODE + 103, |
| 869 | IMCB_IMC_TLV_CALL_BR_BEGIN = IMCB_IMC_TLV_CALL_START_CODE + 104, |
| 870 | IMCB_IMC_TLV_CALL_BR_END = IMCB_IMC_TLV_CALL_START_CODE + 105, |
| 871 | IMCB_IMC_TLV_CALL_BR_SEND_BEGIN = IMCB_IMC_TLV_CALL_START_CODE + 106, |
| 872 | IMCB_IMC_TLV_CALL_BR_SEND_END = IMCB_IMC_TLV_CALL_START_CODE + 107, |
| 873 | IMCB_IMC_TLV_CALL_BR_RECV_BEGIN = IMCB_IMC_TLV_CALL_START_CODE + 108, |
| 874 | IMCB_IMC_TLV_CALL_BR_RECV_END = IMCB_IMC_TLV_CALL_START_CODE + 109, |
| 875 | IMCB_IMC_TLV_CALL_BW_BEGIN = IMCB_IMC_TLV_CALL_START_CODE + 110, |
| 876 | IMCB_IMC_TLV_CALL_BW_END = IMCB_IMC_TLV_CALL_START_CODE + 111, |
| 877 | IMCB_IMC_TLV_CALL_BW_SEND_BEGIN = IMCB_IMC_TLV_CALL_START_CODE + 112, |
| 878 | IMCB_IMC_TLV_CALL_BW_SEND_END = IMCB_IMC_TLV_CALL_START_CODE + 113, |
| 879 | IMCB_IMC_TLV_CALL_BW_RECV_BEGIN = IMCB_IMC_TLV_CALL_START_CODE + 114, |
| 880 | IMCB_IMC_TLV_CALL_BW_RECV_END = IMCB_IMC_TLV_CALL_START_CODE + 115, |
| 881 | IMCB_IMC_TLV_CALL_CH_SEND = IMCB_IMC_TLV_CALL_START_CODE + 116, |
| 882 | IMCB_IMC_TLV_CALL_CH_RECV = IMCB_IMC_TLV_CALL_START_CODE + 117, |
| 883 | IMCB_IMC_TLV_CALL_CH_AW_RECV = IMCB_IMC_TLV_CALL_START_CODE + 118, |
| 884 | IMCB_IMC_TLV_CALL_CMR = IMCB_IMC_TLV_CALL_START_CODE + 119, |
| 885 | IMCB_IMC_TLV_CALL_WHEN_STOP_EPSFB_TIMER = IMCB_IMC_TLV_CALL_START_CODE + 457, |
| 886 | |
| 887 | /* ------------------------------------------------ */ |
| 888 | /* VoLTE MWI Settings */ |
| 889 | /* ------------------------------------------------ */ |
| 890 | IMCB_IMC_TLV_MWI_START_CODE = IMCB_IMC_TLV_CALL_START_CODE + 900, |
| 891 | |
| 892 | /* ------------------------------------------------ */ |
| 893 | /* VoLTE SMS Settings */ |
| 894 | /* ------------------------------------------------ */ |
| 895 | IMCB_IMC_TLV_SMS_START_CODE = 12000, |
| 896 | IMCB_IMC_TLV_SMS_CAPABILITY = IMCB_IMC_TLV_SMS_START_CODE + 1, ///< DATA TYPE IS BOOLEAN (1 OR 0) */ |
| 897 | IMCB_IMC_TLV_SMS_3GPP_SMS_PSI = IMCB_IMC_TLV_SMS_START_CODE + 2, ///< DATA TYPE IS STRING |
| 898 | |
| 899 | IMCB_IMC_TLV_SMS_PSISMSC_FROM_USER = IMCB_IMC_TLV_SMS_START_CODE + 3, |
| 900 | IMCB_IMC_TLV_SMS_FORCE_PSI_SCHEME_TO_TEL = IMCB_IMC_TLV_SMS_START_CODE + 4, |
| 901 | IMCB_IMC_TLV_SMS_ADD_USER_PHONE = IMCB_IMC_TLV_SMS_START_CODE + 5, |
| 902 | IMCB_IMC_TLV_SMS_UPDATE_CALL_ID_WITH_HOST = IMCB_IMC_TLV_SMS_START_CODE + 6, |
| 903 | IMCB_IMC_TLV_SMS_ADD_NO_FORK_IN_SMS = IMCB_IMC_TLV_SMS_START_CODE + 7, |
| 904 | IMCB_IMC_TLV_SMS_NSN_SPECIFIC = IMCB_IMC_TLV_SMS_START_CODE + 8, |
| 905 | IMCB_IMC_TLV_SMS_MO_RETRY_AFTER_504 = IMCB_IMC_TLV_SMS_START_CODE + 9, |
| 906 | IMCB_IMC_TLV_SMS_SEND_TIMERF_EXPIRY = IMCB_IMC_TLV_SMS_START_CODE + 10, |
| 907 | IMCB_IMC_TLV_SMS_IMSI_REGED_DISABLE_SMS = IMCB_IMC_TLV_SMS_START_CODE + 11, |
| 908 | |
| 909 | /* ------------------------------------------------ */ |
| 910 | /* VoLTE XDM Settings */ |
| 911 | /* ------------------------------------------------ */ |
| 912 | IMCB_IMC_TLV_XDM_START_CODE = 13000, |
| 913 | |
| 914 | /* ------------------------------------------------ */ |
| 915 | /* VoLTE REG Settings */ |
| 916 | /* ------------------------------------------------ */ |
| 917 | IMCB_IMC_TLV_REG_START_CODE = 14000, |
| 918 | IMCB_IMC_TLV_REG_REGISTER_EXPIRY = IMCB_IMC_TLV_REG_START_CODE + 1, ///< DATA TYPE IS INT |
| 919 | IMCB_IMC_TLV_REG_EVENT_SUBSCRIBE = IMCB_IMC_TLV_REG_START_CODE + 2, ///< DISABLE: 0, ENABLE: 1 |
| 920 | IMCB_IMC_TLV_REG_EMERGENCY = IMCB_IMC_TLV_REG_START_CODE + 3, ///< DISABLE: 0, ENABLE: 1 |
| 921 | IMCB_IMC_TLV_REG_RETRY_FIRST_TIME = IMCB_IMC_TLV_REG_START_CODE + 4, ///< DATA TYPE IS INT |
| 922 | IMCB_IMC_TLV_REG_RETRY_BASE_TIME = IMCB_IMC_TLV_REG_START_CODE + 5, ///< DATA TYPE IS INT |
| 923 | IMCB_IMC_TLV_REG_RETRY_MAX_TIME = IMCB_IMC_TLV_REG_START_CODE + 6, ///< DATA TYPE IS INT |
| 924 | IMCB_IMC_TLV_REG_CONTACT_WITH_USERNAME = IMCB_IMC_TLV_REG_START_CODE + 7, ///< DISABLE: 0, ENABLE: 1 |
| 925 | IMCB_IMC_TLV_REG_URI_WITH_PORT = IMCB_IMC_TLV_REG_START_CODE + 8, ///< DISABLE: 0, ENABLE: 1 |
| 926 | IMCB_IMC_TLV_REG_IPSEC_ALGO_SET = IMCB_IMC_TLV_REG_START_CODE + 9, ///< DATA TYPE IS INT |
| 927 | IMCB_IMC_TLV_REG_ENABLE_HTTP_DIGEST = IMCB_IMC_TLV_REG_START_CODE + 10, ///< DISABLE: 0, ENABLE: 1 |
| 928 | IMCB_IMC_TLV_REG_AUTH_NAME = IMCB_IMC_TLV_REG_START_CODE + 11, ///< DATA TYPE IS STRING |
| 929 | IMCB_IMC_TLV_REG_AUTH_PASSWORD = IMCB_IMC_TLV_REG_START_CODE + 12, ///< DATA TYPE IS STRING |
| 930 | IMCB_IMC_TLV_REG_SPECIFIC_IPSEC_ALGO = IMCB_IMC_TLV_REG_START_CODE + 13, ///< DATA TYPE IS INT |
| 931 | IMCB_IMC_TLV_REG_CONTACT_WITH_TRANSPORT = IMCB_IMC_TLV_REG_START_CODE + 14, |
| 932 | IMCB_IMC_TLV_REG_CONTACT_WITH_REGID = IMCB_IMC_TLV_REG_START_CODE + 15, |
| 933 | IMCB_IMC_TLV_REG_CONTACT_WITH_MOBILITY = IMCB_IMC_TLV_REG_START_CODE + 16, |
| 934 | IMCB_IMC_TLV_REG_CONTACT_WITH_EXPIRES = IMCB_IMC_TLV_REG_START_CODE + 17, |
| 935 | IMCB_IMC_TLV_REG_AUTHORIZATION_WITH_ALGO = IMCB_IMC_TLV_REG_START_CODE + 18, |
| 936 | IMCB_IMC_TLV_REG_REREG_IN_RAT_CHANGE = IMCB_IMC_TLV_REG_START_CODE + 19, |
| 937 | IMCB_IMC_TLV_REG_REREG_IN_OOS_END = IMCB_IMC_TLV_REG_START_CODE + 20, |
| 938 | IMCB_IMC_TLV_REG_DE_SUBSCRIBE = IMCB_IMC_TLV_REG_START_CODE + 21, |
| 939 | IMCB_IMC_TLV_REG_USE_SPECIFIC_IPSEC_ALGO = IMCB_IMC_TLV_REG_START_CODE + 22, |
| 940 | IMCB_IMC_TLV_REG_TRY_NEXT_PCSCF = IMCB_IMC_TLV_REG_START_CODE + 23, |
| 941 | IMCB_IMC_TLV_REG_DEREG_CLEAR_IPSEC = IMCB_IMC_TLV_REG_START_CODE + 24, |
| 942 | IMCB_IMC_TLV_REG_INITIAL_REG_WITHOUT_PANI = IMCB_IMC_TLV_REG_START_CODE + 25, |
| 943 | IMCB_IMC_TLV_REG_DEREG_RESET_TCP_CLIENT = IMCB_IMC_TLV_REG_START_CODE + 26, |
| 944 | IMCB_IMC_TLV_REG_TREG = IMCB_IMC_TLV_REG_START_CODE + 27, |
| 945 | IMCB_IMC_TLV_REG_REREG_23G4 = IMCB_IMC_TLV_REG_START_CODE + 28, |
| 946 | IMCB_IMC_TLV_REG_RESUB_23G4 = IMCB_IMC_TLV_REG_START_CODE + 29, |
| 947 | IMCB_IMC_TLV_REG_NOT_AUTO_REG_403 = IMCB_IMC_TLV_REG_START_CODE + 30, |
| 948 | IMCB_IMC_TLV_REG_CALL_ID_WITH_HOST_INREG = IMCB_IMC_TLV_REG_START_CODE + 31, |
| 949 | IMCB_IMC_TLV_REG_KEEP_ALIVE_MODE = IMCB_IMC_TLV_REG_START_CODE + 32, |
| 950 | IMCB_IMC_TLV_REG_TCP_CONNECT_MAX_TIME_INVITE = IMCB_IMC_TLV_REG_START_CODE + 33, |
| 951 | IMCB_IMC_TLV_REG_EMS_MODE_IND = IMCB_IMC_TLV_REG_START_CODE + 34, |
| 952 | IMCB_IMC_TLV_REG_CONTACT_WITH_ACCESSTYPE = IMCB_IMC_TLV_REG_START_CODE + 35, |
| 953 | IMCB_IMC_TLV_REG_WFC_WITH_PLANI = IMCB_IMC_TLV_REG_START_CODE + 36, |
| 954 | IMCB_IMC_TLV_REG_USE_UDP_ON_TCP_FAIL = IMCB_IMC_TLV_REG_START_CODE + 37, |
| 955 | IMCB_IMC_TLV_REG_IPSEC_FAIL_ALLOWED = IMCB_IMC_TLV_REG_START_CODE + 38, |
| 956 | IMCB_IMC_TLV_REG_CONTACT_WITH_VIDEO_FEATURE_TAG_IN_SUBSCRIBE = IMCB_IMC_TLV_REG_START_CODE + 39, |
| 957 | IMCB_IMC_TLV_REG_VIA_WITHOUT_RPORT = IMCB_IMC_TLV_REG_START_CODE + 40, |
| 958 | IMCB_IMC_TLV_REG_REG_ROUTE_HDR = IMCB_IMC_TLV_REG_START_CODE + 41, |
| 959 | IMCB_IMC_TLV_REG_VIA_URI_WITH_DEFAULT_PORT = IMCB_IMC_TLV_REG_START_CODE + 42, |
| 960 | IMCB_IMC_TLV_REG_NOTIFY_SMS_NOTIFY_DONE = IMCB_IMC_TLV_REG_START_CODE + 43, |
| 961 | IMCB_IMC_TLV_REG_EMERGENCY_USE_IMSI = IMCB_IMC_TLV_REG_START_CODE + 44, |
| 962 | IMCB_IMC_TLV_REG_CHECK_MSISDN = IMCB_IMC_TLV_REG_START_CODE + 45, |
| 963 | IMCB_IMC_TLV_REG_RETRY_INTERVAL_AFTER_403 = IMCB_IMC_TLV_REG_START_CODE + 46, |
| 964 | IMCB_IMC_TLV_REG_SUPPORT_THROTTLING_ALGO = IMCB_IMC_TLV_REG_START_CODE + 47, |
| 965 | IMCB_IMC_TLV_REG_REG_AFTER_NW_DEREG_60S = IMCB_IMC_TLV_REG_START_CODE + 48, |
| 966 | IMCB_IMC_TLV_REG_SUB_CONTACT_WITH_SIP_INSTANCE = IMCB_IMC_TLV_REG_START_CODE + 49, |
| 967 | IMCB_IMC_TLV_REG_STOP_REG_MD_LOWER_LAYER_ERR = IMCB_IMC_TLV_REG_START_CODE + 50, |
| 968 | IMCB_IMC_TLV_REG_REG_GRUU_SUPPORT = IMCB_IMC_TLV_REG_START_CODE + 51, |
| 969 | |
| 970 | /* ------------------------------------------------ */ |
| 971 | /* VoLTE SIP Settings */ |
| 972 | /* ------------------------------------------------ */ |
| 973 | IMCB_IMC_TLV_SIP_START_CODE = 15000, |
| 974 | IMCB_IMC_TLV_SIP_T1_TIMER = IMCB_IMC_TLV_SIP_START_CODE + 1, ///< DATA TYPE IS INT |
| 975 | IMCB_IMC_TLV_SIP_T2_TIMER = IMCB_IMC_TLV_SIP_START_CODE + 2, ///< DATA TYPE IS INT |
| 976 | IMCB_IMC_TLV_SIP_T4_TIMER = IMCB_IMC_TLV_SIP_START_CODE + 3, ///< DATA TYPE IS INT |
| 977 | IMCB_IMC_TLV_SIP_KEEP_ALIVE = IMCB_IMC_TLV_SIP_START_CODE + 4, ///< DATA TYPE IS INT |
| 978 | IMCB_IMC_TLV_SIP_FORCE_USE_UDP = IMCB_IMC_TLV_SIP_START_CODE + 5, ///< DISABLE: 0, ENABLE: 1 |
| 979 | IMCB_IMC_TLV_SIP_TCP_ON_DEMAND = IMCB_IMC_TLV_SIP_START_CODE + 6, ///< DISABLE: 0, ENABLE: 1 |
| 980 | IMCB_IMC_TLV_SIP_TCP_MTU_SIZE = IMCB_IMC_TLV_SIP_START_CODE + 7, ///< DATA TYPE IS INT |
| 981 | IMCB_IMC_TLV_SIP_REG_TIMESTAMP = IMCB_IMC_TLV_SIP_START_CODE + 8, ///< DATA TYPE IS STRING, FOR WFC PLANI HEADER |
| 982 | IMCB_IMC_TLV_SIP_TRANSACTION_TIMER = IMCB_IMC_TLV_SIP_START_CODE + 9, ///< DATA TYPE IS INT |
| 983 | |
| 984 | /* ------------------------------------------------ */ |
| 985 | /* VoLTE USSD Settings */ |
| 986 | /* ------------------------------------------------ */ |
| 987 | IMCB_IMC_TLV_USSD_START_CODE = 16000, |
| 988 | IMCB_IMC_TLV_USSD_NW_TIMEOUT_TIMER = IMCB_IMC_TLV_USSD_START_CODE + 1, ///< DATA TYPE IS UINT8 */ |
| 989 | IMCB_IMC_TLV_USSD_SETUP_TIMEOUT_TIMER = IMCB_IMC_TLV_USSD_START_CODE + 2, ///< DATA TYPE IS UINT8 */ |
| 990 | IMCB_IMC_TLV_USSD_CAPABILITY = IMCB_IMC_TLV_USSD_START_CODE + 3, ///< DATA TYPE IS UINT8 */ |
| 991 | |
| 992 | /* IMCB <-> IMC internal */ |
| 993 | IMCB_IMC_TLV_START_CODE = 100000, |
| 994 | IMCB_IMC_TLV_VIDEO_CAPABILITY = IMCB_IMC_TLV_START_CODE + 1, |
| 995 | IMCB_IMC_TLV_VOICE_CAPABILITY = IMCB_IMC_TLV_START_CODE + 2, |
| 996 | IMCB_IMC_TLV_IGNORE_SGN_QCI_CHECK = IMCB_IMC_TLV_START_CODE + 3, |
| 997 | IMCB_IMC_TLV_IGNORE_MEDIA_QOS_CHECK = IMCB_IMC_TLV_START_CODE + 4, |
| 998 | IMCB_IMC_TLV_DEFAULT_FALLBACK_SUPPORT = IMCB_IMC_TLV_START_CODE + 5, |
| 999 | IMCB_IMC_TLV_DEDICATED_FALLBACK_SUPPORT = IMCB_IMC_TLV_START_CODE + 6, |
| 1000 | IMCB_IMC_TLV_RESTORE_PCSCF = IMCB_IMC_TLV_START_CODE + 7, |
| 1001 | IMCB_IMC_TLV_NOT_ACQUIRE_AUDIO_RTCP = IMCB_IMC_TLV_START_CODE + 8, |
| 1002 | IMCB_IMC_TLV_NOT_ACQUIRE_VIDEO_RTCP = IMCB_IMC_TLV_START_CODE + 9, |
| 1003 | IMCB_IMC_TLV_IMCB_SETTING_STRING = IMCB_IMC_TLV_START_CODE + 10, |
| 1004 | IMCB_IMC_TLV_PCSCF_HOME_POLICY_LIST = IMCB_IMC_TLV_START_CODE + 11, ///< DATA TYPE IS STRING |
| 1005 | IMCB_IMC_TLV_PCSCF_VISIT_POLICY_LIST = IMCB_IMC_TLV_START_CODE + 12, ///< DATA TYPE IS STRING |
| 1006 | IMCB_IMC_TLV_GENERAL_SETTING = IMCB_IMC_TLV_START_CODE + 13, |
| 1007 | |
| 1008 | IMCB_IMC_TLV_SILENTDEACT_TMOUS_CAT_REGFAIL = IMCB_IMC_TLV_START_CODE + 14, //100014 |
| 1009 | IMCB_IMC_TLV_SGN_WEIGHT_OF_QCI_SFLAG_DEFAULT = IMCB_IMC_TLV_START_CODE + 15, //100015 |
| 1010 | IMCB_IMC_TLV_NOT_DECOUPLE_DEREG_AND_PDN_DEACT = IMCB_IMC_TLV_START_CODE + 16, //100016 |
| 1011 | IMCB_IMC_TLV_SILENT_PDN_DEACT = IMCB_IMC_TLV_START_CODE + 17, //100017 |
| 1012 | IMCB_IMC_TLV_SEND_TIMERF_EXPIRY = IMCB_IMC_TLV_START_CODE + 18, //100018 |
| 1013 | IMCB_IMC_TLV_SEND_TIMERB_EXPIRY = IMCB_IMC_TLV_START_CODE + 19, //100019 |
| 1014 | //IMCB_IMC_TLV_IGNORE_VIDEO_QOS_CHECK = IMCB_IMC_TLV_START_CODE + 20, //100020 |
| 1015 | IMCB_IMC_TLV_PDN_REJ_HANDLE = IMCB_IMC_TLV_START_CODE + 21, //100021 |
| 1016 | IMCB_IMC_TLV_VIDEO_RESOURCE_RETAIN_TIMER = IMCB_IMC_TLV_START_CODE + 22, //100022 ///< DATA TYPE IS INT |
| 1017 | IMCB_IMC_TLV_VIDEO_DEFAULT_FALLBACK_SUPPORT = IMCB_IMC_TLV_START_CODE + 23, //100023 |
| 1018 | IMCB_IMC_TLV_ENABLE_AUDIO_PRECONDITION = IMCB_IMC_TLV_START_CODE + 24, //100024 |
| 1019 | IMCB_IMC_TLV_ENABLE_VIDEO_PRECONDITION = IMCB_IMC_TLV_START_CODE + 25, //100025 |
| 1020 | IMCB_IMC_TLV_VIDEO_DEDICATED_FALLBACK_SUPPORT = IMCB_IMC_TLV_START_CODE + 26, //100026 |
| 1021 | IMCB_IMC_TLV_DEREG_DEFER_PDN_RELEASE_TIMER = IMCB_IMC_TLV_START_CODE + 27, //100027 |
| 1022 | IMCB_IMC_TLV_NORMAL_PDN_RETRY_COUNT = IMCB_IMC_TLV_START_CODE + 28, //100028 |
| 1023 | IMCB_IMC_TLV_EXT_TIMER_CONFIG = IMCB_IMC_TLV_START_CODE + 29, //100029 |
| 1024 | IMCB_IMC_TLV_RETRY_AFTER_IN_IMCB = IMCB_IMC_TLV_START_CODE + 30, //100030 |
| 1025 | IMCB_IMC_TLV_RESET_RETRY_AFTER_TIMER_CRITERIA = IMCB_IMC_TLV_START_CODE + 31, //100031 |
| 1026 | IMCB_IMC_TLV_VZW_DEVICE_TYPE = IMCB_IMC_TLV_START_CODE + 32, //100032 |
| 1027 | IMCB_IMC_TLV_ENABLE_PREPCSCF_DISCOVER_SUPPORT = IMCB_IMC_TLV_START_CODE + 33, //100033 |
| 1028 | IMCB_IMC_TLV_E911_RESOURCE_RETAIN_TIMER = IMCB_IMC_TLV_START_CODE + 34, //100034 |
| 1029 | IMCB_IMC_TLV_AUDIO_BEARER_LOST_RETAINTIMER = IMCB_IMC_TLV_START_CODE + 35, //100035 |
| 1030 | IMCB_IMC_TLV_VIDEO_BEARER_LOST_RETAINTIMER = IMCB_IMC_TLV_START_CODE + 36, //100036 |
| 1031 | // RTT related - start |
| 1032 | IMCB_IMC_TLV_NOT_ACQUIRE_TEXT_RTCP = IMCB_IMC_TLV_START_CODE + 37, //100037 |
| 1033 | IMCB_IMC_TLV_IGNORE_TEXT_QOS_CHECK = IMCB_IMC_TLV_START_CODE + 38, //100038 |
| 1034 | IMCB_IMC_TLV_TEXT_RESOURCE_RETAIN_TIMER = IMCB_IMC_TLV_START_CODE + 39, //100039 |
| 1035 | IMCB_IMC_TLV_TEXT_DEFAULT_FALLBACK_SUPPORT = IMCB_IMC_TLV_START_CODE + 40, //100040 |
| 1036 | IMCB_IMC_TLV_ENABLE_TEXT_PRECONDITION = IMCB_IMC_TLV_START_CODE + 41, //100041 |
| 1037 | IMCB_IMC_TLV_TEXT_DEDICATED_FALLBACK_SUPPORT = IMCB_IMC_TLV_START_CODE + 42, //100042 |
| 1038 | // RTT related - end |
| 1039 | IMCB_IMC_TLV_PCSCF_RESELECT_FLAG = IMCB_IMC_TLV_START_CODE + 43, //100043 |
| 1040 | IMCB_IMC_TLV_EMPTY_PCSCF_LIST_FAIL_CAUSE = IMCB_IMC_TLV_START_CODE + 44, //100044 |
| 1041 | /* |
| 1042 | A is the first incoming, B is the later incoming bearer. |
| 1043 | |
| 1044 | pf(bigger), qos (bigger) | prefer PF | prefer qos |
| 1045 | --------------------------+-------------+--------------- |
| 1046 | CASE 1: A , A | A | A |
| 1047 | CASE 2: A , B | A | B |
| 1048 | CASE 3: B , A | B | A |
| 1049 | CASE 4: B , B | B | B |
| 1050 | */ |
| 1051 | IMCB_IMC_TLV_BEARER_MATCHING_PREFERENCE = IMCB_IMC_TLV_START_CODE + 45, //100045 0: disabled, 1: prefer PF, 2: prefer qos |
| 1052 | IMCB_IMC_TLV_PDN_RETRY_PRE_BACKOFF_COUNT = IMCB_IMC_TLV_START_CODE + 46, //100046 |
| 1053 | IMCB_IMC_TLV_PDN_RETRY_BASE_TIME = IMCB_IMC_TLV_START_CODE + 47, //100047 |
| 1054 | IMCB_IMC_TLV_PDN_RETRY_MAX_TIME = IMCB_IMC_TLV_START_CODE + 48, //100048 |
| 1055 | IMCB_IMC_TLV_PDN_RETRY_BACKOFF_ENABLE = IMCB_IMC_TLV_START_CODE + 49, //100049 |
| 1056 | IMCB_IMC_TLV_LOGGING_EVENT_NOTIFY = IMCB_IMC_TLV_START_CODE + 50, //100050 |
| 1057 | IMCB_IMC_TLV_WIFI_VOICE_CAPABILITY = IMCB_IMC_TLV_START_CODE + 51, //100051 |
| 1058 | IMCB_IMC_TLV_WIFI_VIDEO_CAPABILITY = IMCB_IMC_TLV_START_CODE + 52, //100052 |
| 1059 | IMCB_IMC_TLV_E911_E1_RESET = IMCB_IMC_TLV_START_CODE + 53, //100053 |
| 1060 | // HPS TLV |
| 1061 | IMCB_IMC_TLV_REQ_HPS = IMCB_IMC_TLV_START_CODE + 54, //100054 |
| 1062 | IMCB_IMC_TLV_REL_HPS = IMCB_IMC_TLV_START_CODE + 55, //100055 |
| 1063 | IMCB_IMC_TLV_REL_HPS_THRESHOLD = IMCB_IMC_TLV_START_CODE + 56, //100056 |
| 1064 | IMCB_IMC_TLV_REREG_FOR_PCSCF_RESTORATION = IMCB_IMC_TLV_START_CODE + 57, //100057 |
| 1065 | IMCB_IMC_TLV_REPLACE_PCSCF_LIST_FOR_RESTORATION = IMCB_IMC_TLV_START_CODE + 58, //100058 |
| 1066 | IMCB_IMC_TLV_LTE_ONLY_DISABLE_RES_RETAIN_TIMER = IMCB_IMC_TLV_START_CODE + 59, //100059 |
| 1067 | IMCB_IMC_TLV_WAIT_FOR_SGN_TIMER = IMCB_IMC_TLV_START_CODE + 60, //100060 |
| 1068 | IMCB_IMC_TLV_PSDATAOFF_PDNGW_SUPPORT = IMCB_IMC_TLV_START_CODE + 61, //100061 |
| 1069 | IMCB_IMC_TLV_IGNORE_MEDIA_QCI_CHECK = IMCB_IMC_TLV_START_CODE + 62, //100062 |
| 1070 | IMCB_IMC_TLV_RF_OWNER = IMCB_IMC_TLV_START_CODE + 63, //100063 |
| 1071 | IMCB_IMC_TLV_IMS_PROGRESS_SLOW_TIMER = IMCB_IMC_TLV_START_CODE + 64, //100064 |
| 1072 | IMCB_IMC_TLV_REREG_CSCM_IND = IMCB_IMC_TLV_START_CODE + 65, //100065 |
| 1073 | IMCB_IMC_TLV_REREG_CSCM_CNF = IMCB_IMC_TLV_START_CODE + 66, //100066 |
| 1074 | IMCB_IMC_TLV_USE_NORMAL_PCSCF = IMCB_IMC_TLV_START_CODE + 67, //100067 |
| 1075 | IMCB_IMC_TLV_REL_EMC_PDN_AFR_TIMER_EXPR = IMCB_IMC_TLV_START_CODE + 68, //100068 |
| 1076 | IMCB_IMC_TLV_TEXT_BEARER_LOST_RETAINTIMER = IMCB_IMC_TLV_START_CODE + 69, //100069 |
| 1077 | IMCB_IMC_TLV_NR_NORMAL_PDN_RETRY_COUNT = IMCB_IMC_TLV_START_CODE + 70, //100070 |
| 1078 | IMCB_IMC_TLV_NR_QUICK_DISABLE_SUPPORT = IMCB_IMC_TLV_START_CODE + 71, //100071 |
| 1079 | } imcb_imc_tlv_para_enum; |
| 1080 | |
| 1081 | //IMS Common Interface |
| 1082 | typedef struct { |
| 1083 | LOCAL_PARA_HDR |
| 1084 | imcf_uint32 is_test_mode_on; |
| 1085 | } imcb_imc_set_test_mode_req_struct; |
| 1086 | |
| 1087 | typedef struct { |
| 1088 | LOCAL_PARA_HDR |
| 1089 | imcf_uint32 reserved; |
| 1090 | } imcb_imc_set_test_mode_cell_info_req_struct; |
| 1091 | |
| 1092 | typedef struct { |
| 1093 | imcf_uint8 is_connected; //boolean, IMSA is connected to UA or not |
| 1094 | imcf_uint8 pad[3]; |
| 1095 | } imcb_imc_comm_error_req_struct; |
| 1096 | |
| 1097 | typedef struct { |
| 1098 | LOCAL_PARA_HDR |
| 1099 | imcf_uint8 account_id; |
| 1100 | imcf_uint8 rat_type; //imc_rat_type_enum |
| 1101 | imcf_uint8 pad[2]; |
| 1102 | /* WFC */ |
| 1103 | imcf_uint8 cell_id[IMC_MAX_CELL_ID_LEN]; |
| 1104 | imcb_imc_loc_ts_struct loc_info; |
| 1105 | } imcb_imc_rat_change_ind_struct; |
| 1106 | |
| 1107 | typedef struct { |
| 1108 | LOCAL_PARA_HDR |
| 1109 | imcf_uint8 account_id; |
| 1110 | imcf_uint8 event_type;// 0: Signal is weak 1: LTE OOS search is on-going and may not recover |
| 1111 | imcf_uint16 lte_band;// the LTE band number, UA don't use it currently, just reserve(0: Invalid, 1-256: possible LTE band range) |
| 1112 | } imcb_imc_rlm_event_ind_struct; |
| 1113 | |
| 1114 | //IMS SIM Interface |
| 1115 | typedef struct { |
| 1116 | LOCAL_PARA_HDR |
| 1117 | imcf_uint8 sim_type; //ims_sim_type_enum |
| 1118 | imcf_uint8 session_id; |
| 1119 | imcf_uint8 pad[2]; |
| 1120 | } imcb_imc_sim_ready_req_struct; |
| 1121 | |
| 1122 | typedef struct { |
| 1123 | LOCAL_PARA_HDR |
| 1124 | imcf_uint8 sim_type; //ims_sim_type_enum |
| 1125 | imcf_uint8 session_id; |
| 1126 | imcf_uint8 pad[2]; |
| 1127 | } imcb_imc_sim_refresh_req_struct; |
| 1128 | |
| 1129 | typedef struct { |
| 1130 | LOCAL_PARA_HDR |
| 1131 | imcf_uint32 reason; |
| 1132 | } imcb_imc_sim_error_req_struct; |
| 1133 | |
| 1134 | typedef struct { |
| 1135 | LOCAL_PARA_HDR |
| 1136 | imcf_uint32 reason; |
| 1137 | } imcb_imc_sim_query_ind_struct; |
| 1138 | |
| 1139 | typedef struct { |
| 1140 | LOCAL_PARA_HDR |
| 1141 | imcf_uint8 sim_usim_type; //ims_sim_type_enum |
| 1142 | imcf_uint8 isim_type; //ims_sim_type_enum |
| 1143 | imcf_uint8 session_id; |
| 1144 | imcf_uint8 pad[2]; |
| 1145 | } imcb_imc_sim_query_rsp_struct; |
| 1146 | |
| 1147 | typedef struct { |
| 1148 | LOCAL_PARA_HDR |
| 1149 | imcf_uint8 data_type; //ims_sim_usim_data_enum |
| 1150 | imcf_uint8 pad[3]; |
| 1151 | } imcb_imc_read_sim_usim_ind_struct; |
| 1152 | |
| 1153 | typedef struct { |
| 1154 | imcf_uint8 length; |
| 1155 | imcf_uint8 data[IMC_MAX_IMPU_LEN]; |
| 1156 | } ims_impu_struct; |
| 1157 | |
| 1158 | typedef struct { |
| 1159 | LOCAL_PARA_HDR |
| 1160 | imcf_uint8 is_success; //boolean |
| 1161 | imcf_uint8 data_type; //ims_sim_usim_data_enum |
| 1162 | imcf_uint8 num_of_data; |
| 1163 | imcf_uint8 mnc_len; |
| 1164 | ims_sim_usim_data_struct sim_usim_data; |
| 1165 | } imcb_imc_read_sim_usim_rsp_struct; |
| 1166 | |
| 1167 | typedef struct { |
| 1168 | LOCAL_PARA_HDR |
| 1169 | imcf_uint8 data_type; //ims_isim_data_enum |
| 1170 | imcf_uint8 pad[3]; |
| 1171 | } imcb_imc_read_isim_ind_struct; |
| 1172 | |
| 1173 | typedef struct { |
| 1174 | LOCAL_PARA_HDR |
| 1175 | imcf_uint8 is_success; |
| 1176 | imcf_uint8 data_type; // ims_isim_data_enum |
| 1177 | imcf_uint8 num_of_data; |
| 1178 | imcf_uint8 pad[1]; |
| 1179 | ims_isim_data_struct isim_data[5]; |
| 1180 | } imcb_imc_read_isim_rsp_struct; |
| 1181 | |
| 1182 | typedef struct { |
| 1183 | LOCAL_PARA_HDR |
| 1184 | imcf_uint8 data_type; // ims_isim_data_enum |
| 1185 | imcf_uint8 num_of_data; |
| 1186 | imcf_uint8 pad[2]; |
| 1187 | ims_isim_data_struct isim_data[5]; |
| 1188 | } imcb_imc_read_isim_ntf_req_struct; |
| 1189 | |
| 1190 | //IMS Registration Interface |
| 1191 | typedef struct { |
| 1192 | LOCAL_PARA_HDR |
| 1193 | imcf_int32 account_id; |
| 1194 | imcf_int32 type; // imcb_imc_query_type_enum |
| 1195 | } imcb_imc_query_state_req_struct; |
| 1196 | |
| 1197 | typedef struct { |
| 1198 | LOCAL_PARA_HDR |
| 1199 | imcf_int32 account_id; |
| 1200 | imcf_uint8 cell_id[IMC_MAX_CELL_ID_LEN]; |
| 1201 | imcb_imc_loc_ts_struct loc_info; |
| 1202 | } imcb_imc_query_state_cnf_struct; |
| 1203 | |
| 1204 | /** |
| 1205 | * Description |
| 1206 | * - the primitive is used for IMC indicate information to IMCB, |
| 1207 | * and IMCB will mapping(relay) to UA by UA's event msessage - VoLTE_REQ_UPDATE_RT_SETTING |
| 1208 | * Direction |
| 1209 | * - IMC -> IMCB |
| 1210 | */ |
| 1211 | typedef struct { |
| 1212 | LOCAL_PARA_HDR |
| 1213 | imcf_uint8 account_id; |
| 1214 | imcf_uint8 imei_len; |
| 1215 | imcf_uint8 pad[2]; |
| 1216 | imcf_uint8 imei[IMC_MAX_IMEI_LEN]; |
| 1217 | |
| 1218 | imcf_uint8 imsi_mnc_len; |
| 1219 | imcf_uint8 pad1[3]; |
| 1220 | imcf_uint8 imsi_mnc[IMC_MAX_MNC_MCC_LEN]; |
| 1221 | |
| 1222 | imcf_uint8 imsi_mcc_len; |
| 1223 | imcf_uint8 pad2[3]; |
| 1224 | imcf_uint8 imsi_mcc[IMC_MAX_MNC_MCC_LEN]; |
| 1225 | |
| 1226 | imcf_uint8 impi_len; |
| 1227 | imcf_uint8 pad3[3]; |
| 1228 | imcf_uint8 impi[IMC_MAX_IMPI_LEN]; |
| 1229 | |
| 1230 | imcf_uint8 num_of_impu; |
| 1231 | imcf_uint8 pad4[3]; |
| 1232 | ims_impu_struct impu[IMC_MAX_IMPU_NUM]; |
| 1233 | |
| 1234 | imcf_uint8 domain_name_len; |
| 1235 | imcf_uint8 pad5[3]; |
| 1236 | imcf_uint8 domain_name[IMC_MAX_DOMAIN_NAME_LEN]; |
| 1237 | |
| 1238 | imcf_uint8 psismsc_len; |
| 1239 | imcf_uint8 pad6[3]; |
| 1240 | imcf_uint8 psismsc[IMC_MAX_ISIM_PSISMSC_LEN]; // should equal IMC_MAX_USIM_PSISMSC_LEN and IMC_MAX_SIM_SMSP_LEN |
| 1241 | |
| 1242 | /********************INIT Configuration ****************/ |
| 1243 | /* IMCB part */ |
| 1244 | imcf_uint32 resource_retain_timer; |
| 1245 | imcf_uint32 emergency_pdn_retain_timer; |
| 1246 | imcf_uint32 poweroff_ims_dereg_timer; |
| 1247 | imcf_uint8 pcscf_priority_list[8]; |
| 1248 | imcf_uint8 set_ue_im_cn_signaling_flag; |
| 1249 | imcf_uint8 check_nw_im_cn_signaling_flag; |
| 1250 | imcf_uint8 ims_signaling_qci; |
| 1251 | imcf_uint8 ims_voice_qci; |
| 1252 | imcf_uint8 ims_video_qci; |
| 1253 | imcf_uint8 ims_v4v6_preference; // imc_v4v6_preference_enum |
| 1254 | imcf_uint8 pcscf_manual_support; |
| 1255 | imcf_uint8 pcscf_mo_support; |
| 1256 | imcf_uint8 pcscf_sim_support; |
| 1257 | imcf_uint8 pcscf_pco_renew_support; |
| 1258 | imcf_uint8 resource_allocation_mode; //config UE initial or NW initial dedicated EPS bearer activation |
| 1259 | imcf_uint8 is_roaming; |
| 1260 | imcf_uint8 set_pcscf_discovery_via_nas; |
| 1261 | imcf_uint8 em_reg_scheme; |
| 1262 | imcf_uint8 ims_aka_cal_decision; |
| 1263 | imcf_uint8 voice_bearer_ctrl; // imcb_imc_voice_bearer_ctrl_enum |
yu.dong | 99f21a2 | 2023-05-30 22:15:37 -0700 | [diff] [blame] | 1264 | imcf_uint8 pcscf_manual_list[64]; |
rjw | 6c1fd8f | 2022-11-30 14:33:01 +0800 | [diff] [blame] | 1265 | imcf_uint8 default_pcscf_address_is_v4; |
| 1266 | imcf_uint8 ims_text_qci; |
| 1267 | imcf_uint8 wifi_voice_support; |
| 1268 | imcf_uint8 wifi_video_over_ps_support; |
| 1269 | imcf_uint8 cell_id[IMC_MAX_CELL_ID_LEN]; |
| 1270 | |
| 1271 | /* UA part */ |
| 1272 | imcf_uint32 local_port; |
| 1273 | imcf_uint32 ipsec_local_port_start; |
| 1274 | imcf_uint32 ipsec_local_port_range; |
| 1275 | imcf_uint32 rtp_rtcp_local_port_start; |
| 1276 | imcf_uint32 rtp_rtcp_local_port_range; |
| 1277 | imcf_uint32 rtcp_interval; |
| 1278 | |
| 1279 | /* WFC */ |
| 1280 | imcf_uint32 sip_dscp; |
| 1281 | imcf_uint32 sip_priority; |
| 1282 | imcf_uint32 dscp; /*audio*/ |
| 1283 | imcf_uint32 audio_priority; |
| 1284 | imcf_uint32 video_dscp; |
| 1285 | imcf_uint32 video_priority; |
| 1286 | |
| 1287 | imcf_uint32 register_expiry; |
| 1288 | imcf_uint32 UA_reg_t1_timer; |
| 1289 | imcf_uint32 UA_reg_t2_timer; |
| 1290 | imcf_uint32 UA_reg_t4_timer; |
| 1291 | imcf_uint32 UA_call_conf_subtimer; |
| 1292 | imcf_uint32 UA_call_session_timer; |
| 1293 | imcf_uint32 UA_call_amr_fmt_variant; |
| 1294 | |
| 1295 | imcf_uint8 VoLTE_Setting_SIP_Force_Use_UDP; |
| 1296 | imcf_uint8 VoLTE_Setting_SIP_TCP_On_Demand; |
| 1297 | imcf_uint16 VoLTE_Setting_SIP_TCP_MTU_Size; |
| 1298 | /* WFC */ |
| 1299 | imcf_uint32 VoLTE_Setting_SIP_TCP_MSS; |
| 1300 | |
| 1301 | imcf_uint16 UA_call_session_min_se; |
| 1302 | imcf_uint16 UA_call_rej_code; |
| 1303 | imcf_uint16 UA_call_no_resource_code; |
| 1304 | imcf_uint16 UA_call_rej_media_code; |
| 1305 | imcf_uint16 UA_call_rej_by_user_code; |
| 1306 | imcf_uint16 operator_code; |
| 1307 | imcf_uint8 local_sip_protocol_type; |
| 1308 | imcf_uint8 UA_g711_ptime; |
| 1309 | imcf_uint8 UA_g726_ptime; |
| 1310 | imcf_uint8 UA_call_codec_order1; |
| 1311 | imcf_uint8 UA_call_codec_order2; |
| 1312 | imcf_uint8 UA_call_codec_order3; |
| 1313 | imcf_uint8 UA_call_def_max_ptime; |
| 1314 | imcf_uint8 UA_call_def_ptime; |
| 1315 | imcf_uint8 UA_call_amr_pt; |
| 1316 | imcf_uint8 UA_call_amr_wb_pt; |
| 1317 | imcf_uint8 UA_call_h264_pt; |
| 1318 | imcf_uint8 UA_call_g729_annexb; |
| 1319 | imcf_uint8 UA_call_g729_ptime; |
| 1320 | imcf_uint8 UA_call_priority; |
| 1321 | imcf_uint8 UA_call_privacy; |
| 1322 | imcf_uint8 UA_call_session_flag; |
| 1323 | imcf_uint8 UA_call_tel_evt; |
| 1324 | imcf_uint8 UA_call_tel_evt_pt; |
| 1325 | imcf_uint8 UA_call_precondition; |
| 1326 | imcf_uint8 early_media; |
| 1327 | imcf_uint8 sms_support; |
| 1328 | imcf_uint8 voice_support; |
| 1329 | imcf_uint8 video_over_ps_support; |
| 1330 | imcf_uint8 mwi_license; |
| 1331 | imcf_uint8 UA_reg_keep_alive; |
| 1332 | imcf_uint8 UA_net_ipsec; |
| 1333 | imcf_uint8 UA_reg_uri_with_port; |
| 1334 | imcf_uint8 UA_reg_ipsec_algo; |
| 1335 | imcf_uint8 UA_reg_http_digest; |
| 1336 | imcf_uint8 UA_reg_specific_ipsec_algo; |
| 1337 | imcf_uint8 UA_call_mo_invite_to_bw_cnf_time; |
| 1338 | imcf_uint8 amr_nb_codec_support; |
| 1339 | imcf_uint8 amr_wb_codec_support; |
| 1340 | imcf_uint8 g_series_codec_support; |
rjw | 04b9c95 | 2023-03-28 14:35:43 +0800 | [diff] [blame] | 1341 | imcf_uint8 user_agent[256]; |
rjw | 6c1fd8f | 2022-11-30 14:33:01 +0800 | [diff] [blame] | 1342 | imcf_uint8 UA_call_amr_mode_set[16]; |
| 1343 | imcf_uint8 UA_call_amr_wb_mode_set[20]; |
| 1344 | imcf_uint8 UA_reg_auth_name[64]; |
| 1345 | imcf_uint8 UA_reg_auth_password[32]; |
| 1346 | imcf_uint8 UA_conf_factory_uri[128]; |
| 1347 | /* WFC */ |
| 1348 | imcf_uint8 wfc_support; |
| 1349 | imcf_uint8 UA_call_h264_pt2; |
| 1350 | imcf_uint8 UA_call_h265_pt; |
| 1351 | imcf_uint8 ipv6_zero_compression; |
| 1352 | imcf_uint8 UA_call_h265_pt2; |
| 1353 | /* USSI */ |
| 1354 | imcf_uint8 ussd_support; |
| 1355 | imcf_uint8 UA_ussd_nw_timeout_timer; |
| 1356 | imcf_uint8 UA_ussd_setup_timeout_timer; |
| 1357 | imcf_uint32 pcscf_port_number; |
| 1358 | imcf_uint32 UA_reg_f_timer; |
| 1359 | imcf_uint8 msisdn_len; |
| 1360 | imcf_uint8 pad9[3]; |
| 1361 | imcf_uint8 msisdn[IMC_MAX_USIM_MSISDN_LEN]; |
| 1362 | } imcb_imc_req_update_rt_setting_struct; //relay |
| 1363 | |
| 1364 | /* size(LOCAL_PARA_HDR) = 4 */ |
| 1365 | #define IMC_MAX_DEBUG_INFO_IND_LEN 500 |
| 1366 | |
| 1367 | #define IMC_EM_TAG_LEN 2 |
| 1368 | #define IMC_EM_LENGTH_LEN 2 |
| 1369 | |
| 1370 | /* For TLV parsing prototype */ |
| 1371 | |
| 1372 | /** |
| 1373 | * Description |
| 1374 | * - the primitive is used for IMC requesting IMCB to do IMS registration, |
| 1375 | * IMCB will mapping to two UA's event message - VoLTE_REQ_NETWORK_CHANGE, VoLTE_REQ_REG |
| 1376 | * Direction |
| 1377 | * - IMC -> IMCB |
| 1378 | */ |
| 1379 | typedef struct { |
| 1380 | LOCAL_PARA_HDR |
| 1381 | imcf_uint8 account_id; |
| 1382 | imcf_uint8 rat_type; //imc_rat_type_enum |
| 1383 | imcf_uint8 pad[2]; |
| 1384 | |
| 1385 | imcf_uint8 cell_id[IMC_MAX_CELL_ID_LEN]; |
| 1386 | /* WFC */ |
| 1387 | imcf_uint32 access_rat_type; /* imc_access_rat_type_enum */ |
| 1388 | imcb_imc_loc_ts_struct loc_info; |
| 1389 | } imcb_imc_ims_reg_ind_struct; |
| 1390 | |
rjw | 04b9c95 | 2023-03-28 14:35:43 +0800 | [diff] [blame] | 1391 | |
| 1392 | /** |
| 1393 | * Description |
| 1394 | * - the ILM indicate which rat UE attach |
| 1395 | * Direction |
| 1396 | * IMC -> IMCB |
| 1397 | */ |
| 1398 | typedef struct { |
| 1399 | LOCAL_PARA_HDR |
| 1400 | imcf_uint32 currently_attached_rat; /* imc_access_rat_type_enum */ |
| 1401 | } imcb_imc_attached_rat_ind_struct; |
| 1402 | |
| 1403 | |
rjw | 6c1fd8f | 2022-11-30 14:33:01 +0800 | [diff] [blame] | 1404 | /** |
| 1405 | * Description |
| 1406 | * - the primitive is used for IMCB notifing IMC current IMS registration state, |
| 1407 | * the message is mapping from UA's event message - VoLTE_IND_REG_STATE |
| 1408 | * Direction |
| 1409 | * - IMCB -> IMC |
| 1410 | */ |
| 1411 | |
| 1412 | typedef enum { |
| 1413 | IMC_EMERGENCY_OVER_NORMAL = 0, |
| 1414 | IMC_EMERGENCY_REGISTERED = 1, |
| 1415 | IMC_EMERGENCY_UNREGISTERED = 2, |
| 1416 | } imc_emergency_type_enum; |
| 1417 | |
| 1418 | typedef struct { |
| 1419 | LOCAL_PARA_HDR |
| 1420 | imcf_uint8 account_id; |
| 1421 | imcf_uint8 reg_state; //imc_reg_state_enum |
| 1422 | imcf_uint16 cause; //imcb_imc_reg_cause_enum |
| 1423 | imcf_uint32 sip_cause; //imcb_imc_sip_cause_enum |
| 1424 | imcf_int32 retry_after; // time delay for IMC retrying initial registration |
| 1425 | |
| 1426 | /* WFC */ |
| 1427 | imcf_uint8 rat_type; /* imc_rat_type_enum */ |
| 1428 | imcf_uint8 ecmp; /* imc_ecmp_enum */ |
| 1429 | imcf_uint8 is_ems_support; |
| 1430 | imcf_uint8 pdn_alive; |
| 1431 | |
| 1432 | imcf_uint32 reg_service; /* ims_reg_service_enum */ |
| 1433 | imcf_uint32 reg_event; /* ims_reg_event_enum */ |
| 1434 | imcf_uint32 sip_uri_type; /* ims_reg_sip_uri_type_enum */ |
| 1435 | imcf_uint8 retry_after_ongoing; |
| 1436 | imcf_uint8 emergency_type; |
rjw | 8e44aab | 2022-11-30 16:42:16 +0800 | [diff] [blame] | 1437 | imcf_uint8 pad[2]; |
rjw | 6c1fd8f | 2022-11-30 14:33:01 +0800 | [diff] [blame] | 1438 | } imcb_imc_ims_reg_state_req_struct; |
| 1439 | |
| 1440 | /** |
| 1441 | * Description |
| 1442 | * - the primitive is used for IMC indicating IMCB to do IMS deregistration, |
| 1443 | * the message will map to UA's event message - VoLTE_REQ_DEREG |
| 1444 | * Direction |
| 1445 | * - IMC -> IMCB |
| 1446 | */ |
| 1447 | typedef struct { |
| 1448 | LOCAL_PARA_HDR |
| 1449 | imcf_uint8 account_id; |
| 1450 | imcf_uint8 reason; // imcb_imc_dereg_reason_enum |
| 1451 | imcf_uint8 cause; // imcb_imc_dereg_cause_enum |
| 1452 | imcf_uint8 pad[1]; |
| 1453 | imcf_uint8 cell_id[IMC_MAX_CELL_ID_LEN]; |
| 1454 | imcb_imc_loc_ts_struct loc_info; |
| 1455 | imcf_bool keep_pdn_alive; |
| 1456 | } imcb_imc_ims_dereg_ind_struct; |
| 1457 | |
| 1458 | /** |
| 1459 | * Description |
| 1460 | * - the primitive is used for IMC indicating IMCB to send OOS_start event msg to UA |
| 1461 | * the message mapping to UA's event message - VoLTE_XXX |
| 1462 | * Direction |
| 1463 | * - IMC -> IMCB |
| 1464 | */ |
| 1465 | typedef struct { |
| 1466 | LOCAL_PARA_HDR |
| 1467 | imcf_uint8 account_id; |
| 1468 | imcf_uint8 pad[3]; |
| 1469 | } imcb_imc_oos_start_ind_struct; |
| 1470 | |
| 1471 | /** |
| 1472 | * Description |
| 1473 | * - the primitive is used for IMC indicating IMCB to send OOS_end event msg to UA |
| 1474 | * the message mapping to UA's event message - VoLTE_XXX |
| 1475 | * Direction |
| 1476 | * - IMC -> IMCB |
| 1477 | */ |
| 1478 | typedef struct { |
| 1479 | LOCAL_PARA_HDR |
| 1480 | imcf_uint8 account_id; |
| 1481 | imcf_uint8 pad[3]; |
| 1482 | } imcb_imc_oos_end_ind_struct; |
| 1483 | |
| 1484 | typedef struct { |
| 1485 | LOCAL_PARA_HDR |
| 1486 | imcf_uint32 account_id; |
| 1487 | imcf_uint32 vops; |
| 1488 | } imcb_imc_ims_vops_notification_ind_struct; |
| 1489 | |
| 1490 | #define VSIM_ID_GET_SIM_ID(x) (x >> 4 ) |
| 1491 | #define VSIM_ID_GET_TYPE(x) (x & 0x0F) |
| 1492 | |
| 1493 | typedef imcf_uint8 imc_vsim_id_t; |
| 1494 | |
| 1495 | typedef union { |
| 1496 | imc_vsim_id_t vsim_id; |
| 1497 | imc_acct_id_t acct_id; |
| 1498 | imcf_uint8 pad[1]; |
| 1499 | } imc_ctxt_map_t; |
| 1500 | |
| 1501 | typedef enum { |
| 1502 | IMC_LOOP_TEST_NONE, |
| 1503 | IMC_LOOP_TEST_E2E, |
| 1504 | IMC_LOOP_TEST_E2E_TIMER, |
| 1505 | IMC_LOOP_TEST_2WAY_BV, |
| 1506 | IMC_LOOP_TEST_2WAY_VV, |
| 1507 | |
| 1508 | IMC_LOOP_TEST_LAST |
| 1509 | } imc_loop_test_enum; |
| 1510 | |
| 1511 | typedef enum { |
| 1512 | IMC_LOOP_TEST_CAUSE_NONE, |
| 1513 | IMC_LOOP_TEST_CAUSE_OK, |
| 1514 | IMC_LOOP_TEST_CAUSE_UNDER_TESTING, |
| 1515 | IMC_LOOP_TEST_CAUSE_OTHER_FAIL, |
| 1516 | |
| 1517 | IMC_LOOP_TEST_CAUSE_LAST |
| 1518 | } imc_loop_test_cause_enum; |
| 1519 | |
| 1520 | #define IMC_LOOP_TEST_DATA_LEN (1000) |
| 1521 | typedef struct { |
| 1522 | |
| 1523 | imc_ctxt_map_t ctxt; |
| 1524 | imcf_uint8 ttl; |
| 1525 | imc_loop_test_enum type; |
| 1526 | union { |
| 1527 | imcf_uint8 timeout; /* in sec */ |
| 1528 | imcf_uint8 pad[1]; |
| 1529 | } data; |
| 1530 | |
| 1531 | imcf_uint32 token; |
| 1532 | imcf_uint8 chk_data[IMC_LOOP_TEST_DATA_LEN]; |
| 1533 | |
| 1534 | } imc_loop_test_send_struct; |
| 1535 | |
| 1536 | typedef struct { |
| 1537 | LOCAL_PARA_HDR |
| 1538 | imc_loop_test_send_struct test_send; |
| 1539 | } imcb_imc_loop_test_ind_struct; |
| 1540 | |
| 1541 | typedef struct { |
| 1542 | |
| 1543 | imc_ctxt_map_t ctxt; |
| 1544 | imc_loop_test_cause_enum cause; |
| 1545 | imcf_uint8 ttl; |
| 1546 | imcf_uint8 pad[1]; |
| 1547 | |
| 1548 | imcf_uint32 token; |
| 1549 | imcf_uint8 chk_data[IMC_LOOP_TEST_DATA_LEN]; |
| 1550 | |
| 1551 | } imc_loop_test_ack_struct; |
| 1552 | |
| 1553 | typedef struct { |
| 1554 | LOCAL_PARA_HDR |
| 1555 | imc_loop_test_ack_struct test_ack; |
| 1556 | } imcb_imc_loop_test_rsp_struct; |
| 1557 | |
| 1558 | typedef struct imc_ipc_cfg_struct { |
| 1559 | |
| 1560 | /* we reserve 10 * 4 bytes for config */ |
| 1561 | imcf_uint32 pad[10]; |
| 1562 | |
| 1563 | }imc_ipc_cfg_struct; |
| 1564 | |
| 1565 | typedef struct imc_ipc_header_struct { |
| 1566 | imcf_uint32 msg_id; |
| 1567 | |
| 1568 | imcf_uint16 sqn; |
| 1569 | imcf_uint8 dst_id; |
| 1570 | imcf_uint8 log_flag; |
| 1571 | |
| 1572 | imcf_uint32 sim_slot_id; // For multiple IMS |
| 1573 | imcf_uint32 resrv2; |
| 1574 | |
| 1575 | imcf_uint32 ctrl_len; |
| 1576 | imcf_uint32 data_len; |
| 1577 | |
| 1578 | imc_ipc_cfg_struct cfg; |
| 1579 | |
| 1580 | }imc_ipc_header_struct; |
| 1581 | |
| 1582 | typedef struct imc_ipc_struct { |
| 1583 | imc_ipc_header_struct header; |
| 1584 | |
| 1585 | /* content ctrl + data part */ |
| 1586 | imcf_uint8 body[IMC_IPC_BODY_LNE]; |
| 1587 | |
| 1588 | } imc_ipc_struct; |
| 1589 | |
| 1590 | typedef struct { |
| 1591 | LOCAL_PARA_HDR |
| 1592 | imc_ipc_struct ipc; |
| 1593 | } imcb_imc_ipc_ind_struct; |
| 1594 | |
| 1595 | typedef imcb_imc_ipc_ind_struct imcb_imc_ipc_req_struct; |
| 1596 | |
| 1597 | |
| 1598 | /* volte_event_media_config */ |
| 1599 | typedef struct imcb_imc_media_param_struct { |
| 1600 | imcf_int8 local_address[IMCB_IMC_IPADDR_LENGTH]; |
| 1601 | |
| 1602 | // RTP and RTCP session for audio and video |
| 1603 | imcf_uint32 audio_b_as; // RTP bandwidth |
| 1604 | imcf_uint32 audio_b_rs; // RTCP sender bandwidth |
| 1605 | imcf_uint32 audio_b_rr; // RTCP receiver bandwidth |
| 1606 | imcf_uint16 audio_remote_rtp_port; |
| 1607 | imcf_uint16 audio_remote_rtcp_port; |
| 1608 | imcf_uint16 audio_local_rtcp_port; ///< rtcp port number. we may configure it not rtp_port+1 |
| 1609 | imcf_uint16 audio_local_rtp_port; ///< rtp port number for media attribute in SDP message |
| 1610 | imcf_int8 audio_remote_rtp_address[IMCB_IMC_IPADDR_LENGTH]; |
| 1611 | imcf_int8 audio_remote_rtcp_address[IMCB_IMC_IPADDR_LENGTH]; |
| 1612 | |
| 1613 | imcf_uint32 video_b_as; // RTP bandwidth |
| 1614 | imcf_uint32 video_b_rs; // RTCP sender bandwidth |
| 1615 | imcf_uint32 video_b_rr; // RTCP receiver bandwidth |
| 1616 | imcf_uint16 video_remote_rtp_port; |
| 1617 | imcf_uint16 video_remote_rtcp_port; |
| 1618 | imcf_uint16 video_local_rtcp_port; ///< rtcp port number. we may configure it not rtp_port+1 |
| 1619 | imcf_uint16 video_local_rtp_port; ///< rtp port number for media attribute in SDP message |
| 1620 | imcf_int8 video_remote_rtp_address[IMCB_IMC_IPADDR_LENGTH]; |
| 1621 | imcf_int8 video_remote_rtcp_address[IMCB_IMC_IPADDR_LENGTH]; |
| 1622 | |
| 1623 | imcf_uint8 remote_addr_type; ///< VoLTE_Event_IP_Version_e, apply to RTP audio & video session, RTCP audio & video session |
| 1624 | imcf_uint8 audio_rtp_direction; ///< VoLTE_Event_RTP_DIRECTION_e |
| 1625 | imcf_uint8 video_rtp_direction; ///< VoLTE_Event_RTP_DIRECTION_e |
| 1626 | // required by video codec |
| 1627 | imcf_uint8 video_payload_type; |
| 1628 | imcf_uint32 rtcp_interval; ///< IMCB will get value from NVRAM |
| 1629 | /* WFC */ |
| 1630 | imcf_uint32 dscp; /* audio */ |
| 1631 | imcf_uint32 video_dscp; |
| 1632 | imcf_uint32 voice_soc_priority; |
| 1633 | imcf_uint32 video_soc_priority; |
| 1634 | |
| 1635 | // required by voice codec driver |
| 1636 | imcf_uint8 audio_codec; ///< voip_codec_enum in codec_def.h |
| 1637 | imcf_uint8 audio_payload_type; ///< payload type |
| 1638 | imcf_uint8 audio_clock_rate; ///< dynamic rate, clock rate, see sdp_clock_rate_enum |
| 1639 | imcf_uint8 is_dtmf; ///< is dtmf tone useing telephony event |
| 1640 | |
| 1641 | imcf_uint8 tele_evt_payload_type; ///< telephony event payload type |
| 1642 | imcf_uint8 tele_evt_clock_rate; ///< telephony event rate |
| 1643 | imcf_uint8 g723_bitrate; ///< VoLTE_Event_G7231_BitRate_e |
| 1644 | imcf_uint8 is_g723_annexAYES; ///< G.723.1 annexA Yes:1, No:0 |
| 1645 | |
| 1646 | imcf_uint8 is_g729_annexBYES; ///< G.729 annexB Yes:1, No:0 |
| 1647 | imcf_uint8 ilbc_mode; ///< VoLTE_Event_iLBC_Rate_e |
| 1648 | // required by RFC 6679 ECN |
| 1649 | imcf_uint8 ecn_capable_rtp_method; ///< VoLTE_Event_ECN_RTP_METHOD_e |
| 1650 | imcf_uint8 ecn_capable_ect; //0, 1 |
| 1651 | |
| 1652 | imcf_uint32 ptime; ///< ptime of the codec |
| 1653 | imcf_uint32 max_ptime; ///< max ptime is the buffer size for data plane. may not the same to ptime |
| 1654 | // required by AMR and AMR WB codec |
| 1655 | imcf_int8 mode_set[IMCB_IMC_MAX_SDP_FMTP_SUB_VALUE_LENGTH]; |
| 1656 | |
| 1657 | imcf_uint8 is_octet_align; ///< 0:default, bandwidth-efficient, 1: octet_align |
| 1658 | imcf_uint8 mode_change_period; ///< the period should be N. but currently only 1(default) or 2. |
| 1659 | imcf_uint8 mode_change_cap; ///< 1(default) or 2(recommended to support) |
| 1660 | imcf_uint8 mode_change_neighbor;///< 0(default) or 1 |
| 1661 | |
| 1662 | imcf_uint8 crc; ///< 0 or 1 |
| 1663 | imcf_uint8 robust; ///< 0 or 1 |
| 1664 | imcf_uint8 interleaving; ///< the maximum number of frame-blocks. 0: not present |
| 1665 | imcf_uint8 channel; ///< the number of audio channel. must be 1 currently |
| 1666 | imcf_uint16 max_red; // the maximum duration in ms |
| 1667 | // required by RTCP FB |
| 1668 | imcf_uint16 rtcp_rsize; |
| 1669 | imcf_uint32 rtcpfb_type; ///< bitmap, VoLTE_Event_RTCP_FB_Type_e |
| 1670 | /* WFC */ |
| 1671 | imcf_uint32 network_id; |
| 1672 | imcf_int8 id[IMCB_IMC_MAX_SDP_EGBYTE_LENGTH]; |
| 1673 | imcf_int8 trr_int[IMCB_IMC_MAX_SDP_EGBYTE_LENGTH]; |
| 1674 | imcf_int8 id_app_string[IMCB_IMC_MAX_SDP_FMTP_SUB_VALUE_LENGTH]; |
| 1675 | imcf_int8 ack_app_string[IMCB_IMC_MAX_SDP_FMTP_SUB_VALUE_LENGTH]; |
| 1676 | imcf_int8 nack_app_string[IMCB_IMC_MAX_SDP_FMTP_SUB_VALUE_LENGTH]; |
| 1677 | imcf_int8 tmmbr_string[IMCB_IMC_MAX_SDP_FMTP_SUB_VALUE_LENGTH]; |
| 1678 | imcf_int8 vbcm_string[IMCB_IMC_MAX_SDP_FMTP_SUB_VALUE_LENGTH]; |
| 1679 | imcf_int8 cname_string[IMCB_IMC_MAX_CNAME_LENGTH]; |
| 1680 | |
| 1681 | /* EVS Support */ |
| 1682 | imcf_uint8 evs_support; |
| 1683 | imcf_uint8 evs_mode_switch; |
| 1684 | imcf_uint8 hf_only; |
| 1685 | imcf_uint8 dtx; |
| 1686 | imcf_uint8 dtx_recv; |
| 1687 | imcf_uint8 pading[3]; |
| 1688 | imcf_uint8 br[2]; ///< VoLTE_EVS_Codec_Bitrate_e |
| 1689 | imcf_uint8 br_send[2]; ///< VoLTE_EVS_Codec_Bitrate_e |
| 1690 | imcf_uint8 br_recv[2]; ///< VoLTE_EVS_Codec_Bitrate_e |
| 1691 | imcf_uint8 bw[2]; ///< VoLTE_EVS_Bandwidth_e |
| 1692 | imcf_uint8 bw_send[2]; ///< VoLTE_EVS_Bandwidth_e |
| 1693 | imcf_uint8 bw_recv[2]; ///< VoLTE_EVS_Bandwidth_e |
| 1694 | imcf_uint8 ch_send; |
| 1695 | imcf_uint8 ch_recv; |
| 1696 | imcf_int8 ch_aw_recv; |
| 1697 | imcf_int8 cmr; |
| 1698 | |
| 1699 | /* RTCP-XR */ |
| 1700 | imcf_uint16 rtcp_xr_format; |
| 1701 | imcf_uint16 rtcp_xr_loss_maxsize; |
| 1702 | imcf_uint16 rtcp_xr_dup_maxsize; |
| 1703 | imcf_uint16 rtcp_xr_rcpt_maxsize; |
| 1704 | imcf_uint16 rtcp_xr_rtt_maxsize; |
| 1705 | imcf_uint8 rtcp_xr_rtt_mode; |
| 1706 | imcf_uint8 rtcp_xr_stat_flags; |
| 1707 | |
| 1708 | /* TTY */ |
| 1709 | /* 2000 - 4 * (3+2+4+4 + 1 + 1) = 1940*/ |
| 1710 | /* ======================================================================================*/ |
| 1711 | imcf_uint32 text_b_as; //RTP bandwidth |
| 1712 | imcf_uint32 text_b_rs; //RTCP sender bandwidth |
| 1713 | imcf_uint32 text_b_rr; //RTCP receiver bandwidth |
| 1714 | |
| 1715 | imcf_uint16 text_remote_rtp_port; |
| 1716 | imcf_uint16 text_remote_rtcp_port; |
| 1717 | |
| 1718 | imcf_uint16 text_local_rtcp_port; // < rtcp port number |
| 1719 | imcf_uint16 text_local_rtp_port; // < rtp port number |
| 1720 | |
| 1721 | imcf_int8 text_remote_rtp_address[IMCB_IMC_IPADDR_LENGTH]; |
| 1722 | imcf_int8 text_remote_rtcp_address[IMCB_IMC_IPADDR_LENGTH]; |
| 1723 | |
| 1724 | imcf_uint8 text_rtp_direction; // < VoLTE_EVENT_RTP_Direction |
| 1725 | imcf_uint8 text_t140_payload_type; // < payload |
| 1726 | imcf_uint8 text_red_payload_type; //payload type |
| 1727 | imcf_uint8 text_red_level; //< T140 Red level |
| 1728 | |
| 1729 | imcf_uint8 text_cps; // < T140 Red level |
| 1730 | /* ALTC ================================================================================*/ |
| 1731 | imcf_uint8 text_addr_type; |
| 1732 | imcf_uint8 text_pad[2]; |
| 1733 | |
| 1734 | /* 1940 - 4 = 1936*/ |
| 1735 | /* offline define feature flag */ |
| 1736 | /* ex. used by ALTC feautre */ |
| 1737 | imcf_uint32 feature_flag; |
| 1738 | |
| 1739 | /* ALTC 1936 - 16 = 1920 */ |
| 1740 | /* ======================================================================================*/ |
| 1741 | imcf_uint8 text_local_address[IMCB_IMC_IPADDR_LENGTH]; |
| 1742 | /* ======================================================================================*/ |
| 1743 | |
| 1744 | //imcf_uint8 resv[1920]; |
| 1745 | /* Asymmetric RTP payload type support 1920 - 4 - 736*8 = 1180 */ |
| 1746 | imcf_uint32 recv_codec_num; |
| 1747 | imcb_imc_ltecsr_media_codec_struct recv_codec_list[IMCB_IMC_MAX_RECV_CODEC_LIST_LENGTH]; |
| 1748 | |
| 1749 | imcf_uint8 resv[1180]; |
| 1750 | |
| 1751 | } imcb_imc_media_param_struct; |
| 1752 | |
| 1753 | typedef enum imcb_imc_xmit_mode_enum { |
| 1754 | IMCB_IMC_XMIT_MODE_NONE=0, |
| 1755 | IMCB_IMC_XMIT_MODE_SENDONLY, |
| 1756 | IMCB_IMC_XMIT_MODE_RECVONLY, |
| 1757 | IMCB_IMC_XMIT_MODE_SENDRECV, |
| 1758 | IMCB_IMC_XMIT_MODE_INACTIVE, |
| 1759 | IMCB_IMC_XMIT_MODE_ACTIVE, |
| 1760 | } imcb_imc_xmit_mode_enum; |
| 1761 | |
| 1762 | #if 0 |
| 1763 | /* under construction !*/ |
| 1764 | /* under construction !*/ |
| 1765 | /* under construction !*/ |
| 1766 | /* under construction !*/ |
| 1767 | /* under construction !*/ |
| 1768 | #endif |
| 1769 | |
| 1770 | typedef struct imcb_imc_bearer_mbr_gbr { |
| 1771 | imcf_int32 dl_gbr; |
| 1772 | imcf_int32 dl_mbr; |
| 1773 | imcf_int32 ul_gbr; |
| 1774 | imcf_int32 ul_mbr; |
| 1775 | } imcb_imc_bearer_mbr_gbr_t; |
| 1776 | |
| 1777 | typedef struct imcb_imc_xxx2ltecsr_param_struct { |
| 1778 | |
| 1779 | /* call id */ |
| 1780 | imcf_int32 call_id; |
| 1781 | |
| 1782 | /* session id */ |
| 1783 | imcf_int32 voice_sid; |
| 1784 | imcf_int32 video_sid; |
| 1785 | |
| 1786 | /* BID for voice and video */ |
| 1787 | /* for media_del, BID is not used */ |
| 1788 | imcf_int32 voice_bid; /* LTE: EBI, NR: PSI|QFI */ |
| 1789 | imcf_int32 video_bid; /* LTE: EBI, NR: PSI|QFI */ |
| 1790 | |
| 1791 | /* WFC */ |
| 1792 | imcf_uint16 voice_type; /* 0 (LTE), 1 (WIFI), 2 (NR) */ |
| 1793 | imcf_uint16 video_type; /* 0 (LTE), 1 (WIFI), 2 (NR) */ |
| 1794 | |
| 1795 | /* op code */ |
| 1796 | /* for media_new, we should set all 1's */ |
| 1797 | /* for media_del, only vioce/viedeo fc are used */ |
| 1798 | imcf_uint32 func_class; |
| 1799 | |
| 1800 | /* Default Bearer ID */ |
| 1801 | imcf_uint32 default_bid; /* LTE: Default EBI, NR: PSI|Default QFI */ |
| 1802 | |
| 1803 | /* PDN Context ID */ |
| 1804 | imcf_uint32 pdn_cid; |
| 1805 | |
| 1806 | /* all parameters */ |
| 1807 | /* for media_del, params is not used */ |
| 1808 | imcb_imc_media_param_struct params; |
| 1809 | |
| 1810 | /* pcscf */ |
| 1811 | imcf_uint32 ip_version; /* 1 (IPv4), 2 (IPv6) */ |
| 1812 | imcf_int8 pcscf_address[IMCB_IMC_IPADDR_LENGTH]; |
| 1813 | imcf_uint8 if_name[IMC_MAX_IF_NAME_LENGTH]; |
| 1814 | |
| 1815 | /* text sid for TTY/RTT |
| 1816 | 0 default value |
| 1817 | -1 delete tty/rtt |
| 1818 | others tty/rtt alive |
| 1819 | */ |
| 1820 | imcf_int32 tty_sid; |
| 1821 | imcf_int32 tty_bid; /* LTE: EBI, NR: PSI|QFI */ |
| 1822 | |
| 1823 | imcf_uint16 tty_type; /* 0 (LTE), 1 (WIFI), 2 (NR) */ |
| 1824 | imcf_uint16 gbr_mbr_present_mask; /* 0x1 voice, 0x2 video, 0x4 tty */ |
| 1825 | |
| 1826 | imcb_imc_bearer_mbr_gbr_t voice_bearer_quatlity; |
| 1827 | imcb_imc_bearer_mbr_gbr_t video_bearer_quatlity; |
| 1828 | imcb_imc_bearer_mbr_gbr_t tty_bearer_quatlity; |
| 1829 | } imcb_imc_xxx2ltecsr_param_struct ; |
| 1830 | |
| 1831 | typedef struct imcb_imc_media_new { |
| 1832 | LOCAL_PARA_HDR |
| 1833 | imcf_uint32 tv_sec; |
| 1834 | imcb_imc_xxx2ltecsr_param_struct param; |
| 1835 | } imcb_imc_media_new_struct; |
| 1836 | |
| 1837 | typedef struct imcb_imc_media_del { |
| 1838 | LOCAL_PARA_HDR |
| 1839 | imcb_imc_xxx2ltecsr_param_struct param; |
| 1840 | } imcb_imc_media_del_struct; |
| 1841 | |
| 1842 | typedef struct imcb_imc_media_update { |
| 1843 | LOCAL_PARA_HDR |
| 1844 | imcb_imc_xxx2ltecsr_param_struct param; |
| 1845 | } imcb_imc_media_update_struct; |
| 1846 | |
| 1847 | typedef struct { |
| 1848 | LOCAL_PARA_HDR |
| 1849 | imcf_int32 account_id; |
| 1850 | imcf_int32 call_id; |
| 1851 | imcf_uint32 anbr_value; |
| 1852 | } imcb_imc_cc_media_anbr_notify_ind_struct; |
| 1853 | |
| 1854 | typedef struct { |
| 1855 | LOCAL_PARA_HDR |
| 1856 | imcf_int32 account_id; |
| 1857 | imcf_int32 call_id; |
| 1858 | imcf_uint32 anbr_result; |
| 1859 | } imcb_imc_cc_media_anbr_notify_rsp_struct; |
| 1860 | |
| 1861 | //IMS Call Interface |
| 1862 | /** |
| 1863 | * Description |
| 1864 | * - |
| 1865 | * Remark |
| 1866 | * - header file: volte_event.h |
| 1867 | * - MSG_ID: VOLTE_CALL_PROGRESS_IND |
| 1868 | * - struct: VoLTE_Event_Call_Prog_t |
| 1869 | * Direction |
| 1870 | * - IMCB --> IMC |
| 1871 | */ |
| 1872 | typedef struct { |
| 1873 | LOCAL_PARA_HDR |
| 1874 | imcf_int32 acct_id; |
| 1875 | imcf_uint32 call_id; |
| 1876 | imcf_int32 is_ibt; |
| 1877 | imcf_uint8 p_assert_uri[IMC_MAX_ASSERTED_URI]; |
| 1878 | imcf_int32 cause; //imcb_imc_call_stop_cause_enum |
| 1879 | imcf_int32 call_mode; //imcb_imc_call_mode_enum |
| 1880 | imcf_int32 ecpi; //imcb_imc_call_prog_ecpi_enum |
| 1881 | imcf_int32 hold_by; //imcb_imc_call_hold_by_enum |
| 1882 | imcf_int32 dir; |
| 1883 | imcf_int32 q850_cause; // 0 means that Q.850 cause was not received in Reason: header. |
| 1884 | imcf_uint16 terminal_resp; // Terminal response for STK call |
| 1885 | imcf_uint8 wait_rtp_pkt;//if ibt = 1 run wait RTP pkts from N/W if timeout UA Rxs IMS_NOTIFY_REQ |
| 1886 | imcf_uint8 pad[1]; |
| 1887 | } imcb_imc_cc_call_progress_req_struct; |
| 1888 | |
| 1889 | /** |
| 1890 | * Description |
| 1891 | * - |
| 1892 | * Remark |
| 1893 | * - header file: volte_event.h |
| 1894 | * - MSG_ID: VOLTE_SIP_CALL_PROGRESS_IND |
| 1895 | * - struct: VoLTE_Event_SIP_Call_Prog_Ind_t |
| 1896 | * Direction |
| 1897 | * - IMCB --> IMC |
| 1898 | */ |
| 1899 | typedef struct { |
| 1900 | LOCAL_PARA_HDR |
| 1901 | imcf_int32 acct_id; |
| 1902 | imcf_uint64 ua_id; /*reg client information*/ |
| 1903 | imcf_uint32 call_id; |
| 1904 | imcf_uint8 call_mode; |
| 1905 | imcf_uint8 dir; /*0: send, 1: receive*/ |
| 1906 | imcf_uint8 sip_msg_type; /*0: request, 1: response*/ |
| 1907 | imcf_uint8 method; /*1:SIP_INVITE_METHOD,2:SIP_REFER_METHOD ..etc , refer to inet_method_enum*/ |
| 1908 | |
| 1909 | imcf_uint16 response_code; /*0:only used when SIP type is request, else: response code(100~600)*/ |
| 1910 | imcf_uint8 pad[2]; |
| 1911 | imcf_uint8 reason_text[IMC_MAX_REASON_TEXT_LENGTH]; |
| 1912 | } imcb_imc_cc_sip_call_progress_ind_struct; |
| 1913 | |
| 1914 | /** |
| 1915 | * Description |
| 1916 | * - |
| 1917 | * Remark |
| 1918 | * - header file: volte_event.h |
| 1919 | * - MSG_ID: VOLTE_MEDIA_IND |
| 1920 | * - struct: VoLTE_Event_MediaInfo_t |
| 1921 | * Direction |
| 1922 | * - IMCB --> IMC |
| 1923 | */ |
| 1924 | typedef struct { |
| 1925 | LOCAL_PARA_HDR |
| 1926 | imcf_int32 acct_id; |
| 1927 | imcf_uint32 call_id; |
| 1928 | imcf_int32 is_on; //imcb_imc_media_enum |
| 1929 | } imcb_imc_cc_media_req_struct; |
| 1930 | |
| 1931 | /** |
| 1932 | * Description |
| 1933 | * - |
| 1934 | * Remark |
| 1935 | * - header file: volte_event.h |
| 1936 | * - MSG_ID: VOLTE_MO_CALL_REQ |
| 1937 | * - struct: VoLTE_Event_Call_Start_t |
| 1938 | * Direction |
| 1939 | * - IMC --> IMCB |
| 1940 | */ |
| 1941 | |
| 1942 | typedef enum { |
| 1943 | IMCB_IMC_CALL_SERVICE_NORMAL = 0, |
| 1944 | IMCB_IMC_CALL_SERVICE_CALL_PULL = 1, |
| 1945 | IMCB_IMC_CALL_SERVICE_STK_CALL = 2, |
| 1946 | |
| 1947 | //ecall |
| 1948 | IMCB_IMC_CALL_SERVICE_ECALL_TEST = 100, |
| 1949 | IMCB_IMC_CALL_SERVICE_ECALL_RECONFIGURE = 101, |
| 1950 | |
| 1951 | //add here |
| 1952 | IMCB_IMC_CALL_SERVICE_END |
| 1953 | } imcb_imc_call_service_enum; |
| 1954 | |
| 1955 | typedef struct { |
| 1956 | LOCAL_PARA_HDR |
| 1957 | imcf_uint8 dial_number[128]; |
| 1958 | imcf_int32 acct_id; |
| 1959 | imcf_uint32 call_id; |
| 1960 | imcf_uint8 clir; |
| 1961 | imcb_imc_call_mode_enum call_mode; |
| 1962 | imcb_imc_uri_scheme_type_enum uri_scheme; |
| 1963 | imcf_uint8 cell_id[IMC_MAX_CELL_ID_LEN]; |
| 1964 | imcb_imc_loc_ts_struct loc_info; |
| 1965 | imcb_imc_call_service_enum service; |
| 1966 | plmn_type_enum plmn; |
| 1967 | imcf_uint8 rtt_setting; |
| 1968 | imcf_uint8 redial_setting; /* ims_stk_setup_call_enum */ |
| 1969 | imcf_uint8 digit_from_line_number[IMC_MAX_URI_LENGTH]; |
| 1970 | imcf_uint8 stk_type; /* ims_stk_type_enum */ |
yu.dong | e372c32 | 2023-08-30 20:25:04 -0700 | [diff] [blame] | 1971 | imcf_uint8 pad[3]; |
| 1972 | imcf_uint16 sub_service_field_length; /*for emergency extended sub_service*/ |
| 1973 | imcf_uint8 sub_service_field[IMC_SUB_SERVICE_LENGTH]; /*for emergency extended sub_service*/ |
rjw | 6c1fd8f | 2022-11-30 14:33:01 +0800 | [diff] [blame] | 1974 | |
| 1975 | /*ecall over IMS*/ |
| 1976 | #ifdef __NG_ECALL_SUPPORT__ |
yu.dong | e372c32 | 2023-08-30 20:25:04 -0700 | [diff] [blame] | 1977 | imcf_bool ims_only_allowed_domain; |
rjw | 6c1fd8f | 2022-11-30 14:33:01 +0800 | [diff] [blame] | 1978 | imcf_uint8 msd_data_len; |
| 1979 | imcf_uint8 msd_data[IMS_MAX_MSD_LENGTH]; |
| 1980 | #endif |
| 1981 | } imcb_imc_cc_mo_call_ind_struct; |
| 1982 | |
| 1983 | /** |
| 1984 | * Description |
| 1985 | * - |
| 1986 | * Remark |
| 1987 | * - header file: volte_event.h |
| 1988 | * - MSG_ID: VOLTE_MO_CALL_CNF |
| 1989 | * - struct: VoLTE_Event_MO_Call_Cnf_t |
| 1990 | * Direction |
| 1991 | * - IMCB --> IMC |
| 1992 | */ |
| 1993 | typedef struct { |
| 1994 | LOCAL_PARA_HDR |
| 1995 | imcf_int32 acct_id; |
| 1996 | imcf_uint32 call_id; |
| 1997 | imcb_imc_call_stop_cause_enum cause; |
| 1998 | imcb_imc_call_stop_result_enum result; |
| 1999 | imcb_imc_call_mode_enum call_mode; |
| 2000 | imcf_uint8 is_international; // 0:no, 1: the phone is number is national number |
| 2001 | imcf_uint8 isDateString; // 0: not a date string, 1: it is a date string in time variable |
| 2002 | imcf_uint32 time; |
| 2003 | imcf_int32 duration; |
| 2004 | imcf_uint8 reason[128]; |
| 2005 | imcb_imc_srvcc_call_ecc_category_enum ecc_category; |
| 2006 | imcb_imc_call_service_enum service; |
| 2007 | imcf_uint8 pad[3]; |
| 2008 | imcf_int32 q850_cause; // 0 means that Q.850 cause was not received in Reason: header. |
| 2009 | imcf_uint8 country_specific_urn[IMC_MAX_URI_LENGTH]; |
| 2010 | imcb_imc_call_cause_380_contact_enum cause_380_contact; |
| 2011 | imcb_imc_call_cause_380_xml_enum cause_380_xml; |
| 2012 | imcb_imc_380_xml_type_enum xml_type_380; |
| 2013 | imcb_imc_380_xml_action_enum xml_action_380; |
| 2014 | } imcb_imc_cc_mo_call_rsp_struct; |
| 2015 | |
| 2016 | /** |
| 2017 | * Description |
| 2018 | * - |
| 2019 | * Remark |
| 2020 | * - header file: volte_event.h |
| 2021 | * - MSG_ID: VOLTE_MT_CALL_ABORT_IND |
| 2022 | * - struct: VoLTE_Event_MT_Call_Abort_t |
| 2023 | * Direction |
| 2024 | * - IMCB --> IMC |
| 2025 | */ |
| 2026 | typedef struct { |
| 2027 | LOCAL_PARA_HDR |
| 2028 | imcf_int32 acct_id; |
| 2029 | imcf_uint32 seq_no; /* acctually uint8, or 4-byte align */ |
| 2030 | imcf_int32 cause; //imcb_imc_call_stop_cause_enum |
| 2031 | } imcb_imc_cc_mt_call_abort_req_struct; |
| 2032 | |
| 2033 | /** |
| 2034 | * Description |
| 2035 | * - |
| 2036 | * Remark |
| 2037 | * - header file: volte_event.h |
| 2038 | * - MSG_ID: VOLTE_MT_CALL_PRESENT_IND |
| 2039 | * - struct: VoLTE_Event_MT_Call_Ind_t |
| 2040 | * Direction |
| 2041 | * - IMCB --> IMC |
| 2042 | */ |
| 2043 | typedef struct { |
| 2044 | LOCAL_PARA_HDR |
| 2045 | imcf_int32 acct_id; |
| 2046 | imcf_uint8 seq_no; |
| 2047 | imcf_uint8 is_national_num; // 0: local number, 1: national number |
| 2048 | imcf_uint8 call_mode; //imcb_imc_call_mode_enum |
| 2049 | imcf_uint8 uri_scheme; //imcb_imc_uri_scheme_type_enum |
| 2050 | imcf_uint8 dial_number[128]; |
| 2051 | imcf_uint8 digit_to_line_number[IMC_MAX_URI_LENGTH]; |
| 2052 | } imcb_imc_cc_mt_call_present_req_struct; |
| 2053 | |
| 2054 | /** |
| 2055 | * Description |
| 2056 | * - |
| 2057 | * Remark |
| 2058 | * - header file: volte_event.h |
| 2059 | * - MSG_ID: VOLTE_MT_CALL_PRESENT_RSP |
| 2060 | * - struct: VoLTE_Event_MT_Call_Rsp_t |
| 2061 | * Direction |
| 2062 | * - IMC --> IMCB |
| 2063 | */ |
| 2064 | typedef struct { |
| 2065 | LOCAL_PARA_HDR |
| 2066 | imcf_int32 acct_id; |
| 2067 | imcf_uint32 call_id; |
| 2068 | imcf_uint8 seq_no; |
| 2069 | imcf_uint8 call_mode; //imcb_imc_call_mode_enum |
| 2070 | imcf_wchar result; //imcb_imc_call_stop_result_enum |
| 2071 | imcf_int32 response_code; |
| 2072 | imcf_uint8 cell_id[IMC_MAX_CELL_ID_LEN]; |
| 2073 | imcb_imc_loc_ts_struct loc_info; |
| 2074 | imcf_uint8 rtt_setting; |
| 2075 | imcf_uint8 pad[3]; |
| 2076 | } imcb_imc_cc_mt_call_present_cnf_struct; |
| 2077 | |
| 2078 | /** |
| 2079 | * Description |
| 2080 | * - |
| 2081 | * Remark |
| 2082 | * - header file: volte_event.h |
| 2083 | * - MSG_ID: VOLTE_MT_CALL_RING_IND |
| 2084 | * - struct: VoLTE_Event_Call_Refresh_t |
| 2085 | * Direction |
| 2086 | * - IMCB --> IMC |
| 2087 | */ |
| 2088 | typedef struct { |
| 2089 | LOCAL_PARA_HDR |
| 2090 | imcf_int32 acct_id; |
| 2091 | imcf_uint32 call_id; |
| 2092 | imcf_uint8 p_assert_uri[IMC_MAX_ASSERTED_URI]; |
| 2093 | } imcb_imc_cc_mt_call_ring_req_struct; |
| 2094 | |
| 2095 | /** |
| 2096 | * Description |
| 2097 | * - |
| 2098 | * Remark |
| 2099 | * - header file: volte_event.h |
| 2100 | * - MSG_ID: VOLTE_MO_HANGUP_REQ |
| 2101 | * - struct: VoLTE_Event_Req_t |
| 2102 | * Direction |
| 2103 | * - IMC --> IMCB |
| 2104 | */ |
| 2105 | typedef struct { |
| 2106 | LOCAL_PARA_HDR |
| 2107 | imcf_int32 acct_id; |
| 2108 | imcf_uint32 call_id; |
| 2109 | imcf_uint8 cell_id[IMC_MAX_CELL_ID_LEN]; |
| 2110 | imcb_imc_loc_ts_struct loc_info; |
| 2111 | imcf_uint32 cause; |
| 2112 | } imcb_imc_cc_mo_force_hangup_ind_struct; |
| 2113 | |
| 2114 | /** |
| 2115 | * Description |
| 2116 | * - |
| 2117 | * Remark |
| 2118 | * - header file: volte_event.h |
| 2119 | * - MSG_ID: VOLTE_MO_HANGUP_REQ |
| 2120 | * - struct: VoLTE_Event_Req_t |
| 2121 | * Direction |
| 2122 | * - IMC --> IMCB |
| 2123 | */ |
| 2124 | typedef struct { |
| 2125 | LOCAL_PARA_HDR |
| 2126 | imcf_int32 acct_id; |
| 2127 | imcf_uint32 call_id; |
| 2128 | imcf_uint8 cell_id[IMC_MAX_CELL_ID_LEN]; |
| 2129 | imcb_imc_loc_ts_struct loc_info; |
| 2130 | imcf_uint32 cause; // use ims_cc_mo_disconnect_cause_enum to passmo call disconnect cause (AT+ECHLD) |
| 2131 | } imcb_imc_cc_mo_hangup_ind_struct; |
| 2132 | |
| 2133 | /** |
| 2134 | * Description |
| 2135 | * - |
| 2136 | * Remark |
| 2137 | * - header file: volte_event.h |
| 2138 | * - MSG_ID: VOLTE_MO_HANGUP_CNF |
| 2139 | * - struct: VoLTE_Event_Call_Stop_t |
| 2140 | * Direction |
| 2141 | * - IMCB --> IMC |
| 2142 | */ |
| 2143 | typedef struct { |
| 2144 | LOCAL_PARA_HDR |
| 2145 | imcf_int32 acct_id; |
| 2146 | imcf_uint32 call_id; |
| 2147 | imcf_int32 result; //imcb_imc_call_stop_result_enum |
| 2148 | imcf_int32 cause; //imcb_imc_call_stop_cause_enum |
| 2149 | } imcb_imc_cc_mo_hangup_rsp_struct; |
| 2150 | |
| 2151 | /** |
| 2152 | * Description |
| 2153 | * - |
| 2154 | * Remark |
| 2155 | * - header file: volte_event.h |
| 2156 | * - MSG_ID: VOLTE_MT_ACCEPT_REQ |
| 2157 | * - struct: VoLTE_Event_Req_t |
| 2158 | * Direction |
| 2159 | * - IMC --> IMCB |
| 2160 | */ |
| 2161 | typedef struct { |
| 2162 | LOCAL_PARA_HDR |
| 2163 | imcf_int32 acct_id; |
| 2164 | imcf_uint32 call_id; |
| 2165 | imcf_uint8 cell_id[IMC_MAX_CELL_ID_LEN]; |
| 2166 | imcb_imc_loc_ts_struct loc_info; |
| 2167 | imcf_uint32 cause; |
| 2168 | } imcb_imc_cc_mt_accept_ind_struct; |
| 2169 | |
| 2170 | /** |
| 2171 | * Description |
| 2172 | * - |
| 2173 | * Remark |
| 2174 | * - header file: volte_event.h |
| 2175 | * - MSG_ID: VOLTE_NO_RTPPKT_REQ |
| 2176 | * - struct: VoLTE_Event_Req_t |
| 2177 | * Direction |
| 2178 | * - IMC --> IMCB |
| 2179 | */ |
| 2180 | typedef struct { |
| 2181 | LOCAL_PARA_HDR |
| 2182 | imcf_int32 acct_id; |
| 2183 | imcf_uint32 call_id; |
| 2184 | imcf_uint8 cell_id[IMC_MAX_CELL_ID_LEN]; |
| 2185 | imcb_imc_loc_ts_struct loc_info; |
| 2186 | imcf_uint32 cause; |
| 2187 | } imcb_imc_cc_no_rtppkt_ind_struct; |
| 2188 | |
| 2189 | /** |
| 2190 | * Description |
| 2191 | * - This message is used to inform when call receives |
| 2192 | * RTP packets before media is activated. |
| 2193 | * Remark |
| 2194 | * - header file: volte_event.h |
| 2195 | * - MSG_ID: VOLTE_INCOMING_RTPPKT_REQ |
| 2196 | * - struct: VoLTE_Event_Req_t |
| 2197 | * Direction |
| 2198 | * - IMC --> IMCB |
| 2199 | */ |
| 2200 | typedef struct { |
| 2201 | LOCAL_PARA_HDR |
| 2202 | imcf_int32 acct_id; |
| 2203 | imcf_uint32 call_id; |
| 2204 | imcf_uint8 cell_id[IMC_MAX_CELL_ID_LEN]; |
| 2205 | imcb_imc_loc_ts_struct loc_info; |
| 2206 | imcf_uint32 cause; |
| 2207 | } imcb_imc_cc_incoming_rtppkt_ind_struct; |
| 2208 | |
| 2209 | /** |
| 2210 | * Description |
| 2211 | * - This message is used to inform Call UA the |
| 2212 | * domain conflict event. |
| 2213 | * Remark |
| 2214 | * - header file: volte_event.h |
| 2215 | * - MSG_ID: VOLTE_MO_CALL_DOMAIN_CONFLICT_REQ |
| 2216 | * - struct: VoLTE_Event_Req_t |
| 2217 | * Direction |
| 2218 | * - IMC --> IMCB |
| 2219 | */ |
| 2220 | typedef struct { |
| 2221 | LOCAL_PARA_HDR |
| 2222 | imcf_int32 acct_id; |
| 2223 | imcf_uint32 call_id; |
| 2224 | imcf_uint8 cell_id[IMC_MAX_CELL_ID_LEN]; |
| 2225 | imcb_imc_loc_ts_struct loc_info; |
| 2226 | imcf_uint32 cause; |
| 2227 | } imcb_imc_cc_mo_call_domain_conflict_ind_struct; |
| 2228 | |
| 2229 | /** |
| 2230 | * Description |
| 2231 | * - |
| 2232 | * Remark |
| 2233 | * - header file: volte_event.h |
| 2234 | * - MSG_ID: VOLTE_MO_CALL_DOMAIN_CONFLICT_CNF |
| 2235 | * - struct: VoLTE_Event_Call_Stop_t |
| 2236 | * Direction |
| 2237 | * - IMCB --> IMC |
| 2238 | */ |
| 2239 | typedef struct { |
| 2240 | LOCAL_PARA_HDR |
| 2241 | imcf_int32 acct_id; |
| 2242 | imcf_uint32 call_id; |
| 2243 | imcf_int32 result; |
| 2244 | imcf_int32 cause; |
| 2245 | } imcb_imc_cc_mo_call_domain_conflict_rsp_struct; |
| 2246 | |
| 2247 | #ifdef __NG_ECALL_SUPPORT__ |
| 2248 | /** |
| 2249 | * Description |
| 2250 | * - |
| 2251 | * Remark |
| 2252 | * - header file: |
| 2253 | * - MSG_ID: VOLTE_ECALL_IN_BAND_MSD_TRANSFER_RSP |
| 2254 | * - struct: VoLTE_Event_ecall_In_Band_MSD_Transfer_Rsp_t |
| 2255 | * Direction |
| 2256 | * - IMC --> IMCB |
| 2257 | */ |
| 2258 | typedef struct { |
| 2259 | LOCAL_PARA_HDR |
| 2260 | imcf_int32 acct_id; |
| 2261 | imcf_uint32 call_id; |
| 2262 | } imcb_imc_cc_ecall_in_band_msd_transfer_rsp_struct; |
| 2263 | |
| 2264 | /** |
| 2265 | * Description |
| 2266 | * - |
| 2267 | * Remark |
| 2268 | * - header file: |
| 2269 | * - MSG_ID: VOLTE_ECALL_UPDATE_MSD_RSP |
| 2270 | * - struct: VoLTE_Event_ecall_update_MSD_Rsp_t |
| 2271 | * Direction |
| 2272 | * - IMC --> IMCB |
| 2273 | */ |
| 2274 | typedef struct { |
| 2275 | LOCAL_PARA_HDR |
| 2276 | imcf_int32 acct_id; |
| 2277 | imcf_uint32 call_id; |
| 2278 | imcf_uint8 msd_len; |
| 2279 | imcf_uint8 msd_data[IMS_MAX_MSD_LENGTH]; |
| 2280 | } imcb_imc_cc_ecall_update_msd_rsp_struct; |
| 2281 | #endif |
| 2282 | |
| 2283 | /** |
| 2284 | * Description |
| 2285 | * - This message indicates that LTECSR want to notify IMCB/UA. |
| 2286 | * Remark |
| 2287 | * - header file: ltecsr_struct.h, |
| 2288 | * - MSG_ID: MSG_ID_IMCB_IMC_CC_IMS_NOTIFY_IND |
| 2289 | * - struct: ltecsr_ims_notify_msg_t |
| 2290 | * Direction |
| 2291 | * - IMC --> IMCB |
| 2292 | */ |
| 2293 | typedef struct { |
| 2294 | LOCAL_PARA_HDR |
| 2295 | imcf_int32 acct_id; |
| 2296 | imcf_uint32 call_id; |
| 2297 | imcf_uint8 msg_id; // imcb_imc_ims_notify_enum |
| 2298 | imcf_uint8 ver; // structure version number start from 0 |
| 2299 | imcf_uint16 rsv; // reserve bit must fill 0 (for 4 byte alignment) |
| 2300 | imcf_uint8 ext[IMC_MAX_IMS_NOTIFY_EXT_LEN]; // reserve for future other usage |
| 2301 | imcf_uint8 cell_id[IMC_MAX_CELL_ID_LEN]; |
| 2302 | imcb_imc_loc_ts_struct loc_info; |
| 2303 | } imcb_imc_cc_ims_notify_ind_struct; |
| 2304 | |
| 2305 | /** |
| 2306 | * Description |
| 2307 | * - |
| 2308 | * Remark |
| 2309 | * - header file: volte_event.h |
| 2310 | * - MSG_ID: VOLTE_MT_ACCEPT_RSP |
| 2311 | * - struct: VoLTE_Event_Call_Stop_t |
| 2312 | * Direction |
| 2313 | * - IMCB --> IMC |
| 2314 | */ |
| 2315 | typedef struct { |
| 2316 | LOCAL_PARA_HDR |
| 2317 | imcf_int32 acct_id; |
| 2318 | imcf_uint32 call_id; |
| 2319 | imcf_int32 result; //imcb_imc_call_stop_result_enum |
| 2320 | imcf_int32 cause; //imcb_imc_call_stop_cause_enum |
| 2321 | } imcb_imc_cc_mt_accept_rsp_struct; |
| 2322 | |
| 2323 | /* |
| 2324 | * @brief |
| 2325 | * @note MSG_ID_IMCB_IMC_CALL_CONTROL_IND |
| 2326 | * AT>AT+ECCTRL=<call_id>,<call_state> |
| 2327 | */ |
| 2328 | typedef struct { |
| 2329 | LOCAL_PARA_HDR |
| 2330 | imcf_int32 acct_id; |
| 2331 | imcf_uint32 call_id; |
| 2332 | imcf_int32 expected_call_state; //imcb_imc_ecctrl_enum |
| 2333 | imcf_uint8 cell_id[IMC_MAX_CELL_ID_LEN]; |
| 2334 | imcb_imc_loc_ts_struct loc_info; |
| 2335 | } imcb_imc_call_control_ind_struct; |
| 2336 | |
| 2337 | /* |
| 2338 | * @brief |
| 2339 | * @note MSG_ID_ATP_IMC_SS_CALL_CONTROL_RSP |
| 2340 | * AT< OK | ... |
| 2341 | */ |
| 2342 | typedef struct { |
| 2343 | LOCAL_PARA_HDR |
| 2344 | imcf_int32 acct_id; |
| 2345 | imcf_int32 operation; //imcb_imc_ss_operation_enum |
| 2346 | imcf_int32 result; //imcb_imc_call_stop_result_enum |
| 2347 | imcf_int32 cause; //imcb_imc_call_stop_cause_enum |
| 2348 | } imcb_imc_call_control_rsp_struct; |
| 2349 | |
| 2350 | /** |
| 2351 | * Description |
| 2352 | * - |
| 2353 | * Remark |
| 2354 | * - header file: volte_event.h |
| 2355 | * - MSG_ID: VOLTE_MO_CONF_CALL_REQ |
| 2356 | * - struct: VoLTE_Event_Conf_Call_Start_t |
| 2357 | * Direction |
| 2358 | * - IMC --> IMCB |
| 2359 | */ |
| 2360 | typedef struct { |
| 2361 | LOCAL_PARA_HDR |
| 2362 | imcf_int32 acct_id; |
| 2363 | imcf_uint32 call_id; |
| 2364 | imcb_imc_call_mode_enum call_mode; |
| 2365 | imcf_uint8 conf_call_participants; |
| 2366 | imcf_uint8 pad[2]; |
| 2367 | imcf_uint8 conf_call_number_list[IMC_MAX_CALL_NUM_IN_CONFERENCE][IMC_MAX_CONF_CONTROL_URI_LENGTH]; |
| 2368 | imcf_uint8 cell_id[IMC_MAX_CELL_ID_LEN]; |
| 2369 | imcb_imc_loc_ts_struct loc_info; |
| 2370 | plmn_type_enum plmn; |
| 2371 | } imcb_imc_cc_mo_conf_call_ind_struct; |
| 2372 | |
| 2373 | /** |
| 2374 | * Description |
| 2375 | * - |
| 2376 | * Remark |
| 2377 | * - header file: volte_event.h |
| 2378 | * - MSG_ID: VOLTE_MO_CONF_CALL_CNF |
| 2379 | * - struct: VoLTE_Event_MO_Conf_Call_Cnf_t |
| 2380 | * Direction |
| 2381 | * - IMCB --> IMC |
| 2382 | */ |
| 2383 | typedef struct { |
| 2384 | LOCAL_PARA_HDR |
| 2385 | imcf_int32 acct_id; |
| 2386 | imcf_uint32 call_id; |
| 2387 | imcb_imc_call_stop_cause_enum cause; |
| 2388 | imcb_imc_call_stop_result_enum result; |
| 2389 | imcb_imc_call_mode_enum call_mode; |
| 2390 | imcf_uint8 pad[2]; |
| 2391 | imcf_int32 q850_cause; // 0 means that Q.850 cause was not received in Reason: header. |
| 2392 | } imcb_imc_cc_mo_conf_call_rsp_struct; |
| 2393 | |
| 2394 | /** |
| 2395 | * Description |
| 2396 | * - |
| 2397 | * Remark |
| 2398 | * - header file: volte_event.h |
| 2399 | * - MSG_ID: VOLTE_REQ_MD_LOWER_LAYER_ERR |
| 2400 | * - struct: VoLTE_Event_MD_Lower_Layer_Err_t |
| 2401 | * Direction |
| 2402 | * - IMC --> IMCB |
| 2403 | */ |
| 2404 | typedef struct { |
| 2405 | LOCAL_PARA_HDR |
| 2406 | imcf_int32 acct_id; |
| 2407 | imcf_uint32 call_id; |
| 2408 | imcf_uint32 cause; //imcb_imc_md_lower_layer_err_enum |
yu.dong | e372c32 | 2023-08-30 20:25:04 -0700 | [diff] [blame] | 2409 | imcf_uint8 value; |
rjw | 6c1fd8f | 2022-11-30 14:33:01 +0800 | [diff] [blame] | 2410 | imcf_uint32 type; //imcb_imc_md_epsfb_type_enum |
| 2411 | } imcb_imc_md_lower_layer_err_ind_struct; |
| 2412 | |
| 2413 | typedef struct { |
| 2414 | LOCAL_PARA_HDR |
| 2415 | imcf_int32 acct_id; |
| 2416 | imcf_uint8 cell_id[IMC_MAX_CELL_ID_LEN]; |
| 2417 | imcb_imc_loc_ts_struct loc_info; |
| 2418 | imcf_uint32 cause; |
| 2419 | } imcb_imc_ss_switch_waiting_or_holding_and_active_ind_struct; |
| 2420 | |
| 2421 | typedef struct { |
| 2422 | LOCAL_PARA_HDR |
| 2423 | imcf_int32 acct_id; |
| 2424 | imcf_int32 operation; //imcb_imc_ss_operation_enum |
| 2425 | imcf_int32 result; //imcb_imc_call_stop_result_enum |
| 2426 | imcf_int32 cause; //imcb_imc_call_stop_cause_enum |
| 2427 | } imcb_imc_ss_switch_waiting_or_holding_and_active_rsp_struct; |
| 2428 | |
| 2429 | typedef struct { |
| 2430 | LOCAL_PARA_HDR |
| 2431 | imcf_int32 acct_id; |
| 2432 | imcf_uint8 cell_id[IMC_MAX_CELL_ID_LEN]; |
| 2433 | imcb_imc_loc_ts_struct loc_info; |
| 2434 | imcf_uint32 cause; |
| 2435 | } imcb_imc_ss_release_waiting_or_all_bg_calls_ind_struct; |
| 2436 | |
| 2437 | typedef struct { |
| 2438 | LOCAL_PARA_HDR |
| 2439 | imcf_int32 acct_id; |
| 2440 | imcf_int32 operation; //imcb_imc_ss_operation_enum |
| 2441 | imcf_int32 result; //imcb_imc_call_stop_result_enum |
| 2442 | imcf_int32 cause; //imcb_imc_call_stop_cause_enum |
| 2443 | } imcb_imc_ss_release_waiting_or_all_bg_calls_rsp_struct; |
| 2444 | |
| 2445 | typedef struct { |
| 2446 | LOCAL_PARA_HDR |
| 2447 | imcf_int32 acct_id; |
| 2448 | imcf_uint8 cell_id[IMC_MAX_CELL_ID_LEN]; |
| 2449 | imcb_imc_loc_ts_struct loc_info; |
| 2450 | imcf_uint32 cause; |
| 2451 | } imcb_imc_ss_release_all_fg_and_resume_bg_call_ind_struct; |
| 2452 | |
| 2453 | typedef struct { |
| 2454 | LOCAL_PARA_HDR |
| 2455 | imcf_int32 acct_id; |
| 2456 | imcf_int32 operation; //imcb_imc_ss_operation_enum |
| 2457 | imcf_int32 result; //imcb_imc_call_stop_result_enum |
| 2458 | imcf_int32 cause; //imcb_imc_call_stop_cause_enum |
| 2459 | } imcb_imc_ss_release_all_fg_and_resume_bg_call_rsp_struct; |
| 2460 | |
| 2461 | typedef struct { |
| 2462 | LOCAL_PARA_HDR |
| 2463 | imcf_int32 acct_id; |
| 2464 | imcf_uint8 cell_id[IMC_MAX_CELL_ID_LEN]; |
| 2465 | imcb_imc_loc_ts_struct loc_info; |
| 2466 | imcf_uint32 cause; |
| 2467 | } imcb_imc_ss_release_all_fg_and_bg_calls_ind_struct; |
| 2468 | |
| 2469 | typedef struct { |
| 2470 | LOCAL_PARA_HDR |
| 2471 | imcf_int32 acct_id; |
| 2472 | imcf_int32 operation; //imcb_imc_ss_operation_enum |
| 2473 | imcf_int32 result; //imcb_imc_call_stop_result_enum |
| 2474 | imcf_int32 cause; //imcb_imc_call_stop_cause_enum |
| 2475 | } imcb_imc_ss_release_all_fg_and_bg_calls_rsp_struct; |
| 2476 | |
| 2477 | typedef struct { |
| 2478 | LOCAL_PARA_HDR |
| 2479 | imcf_int32 acct_id; |
| 2480 | imcf_uint8 cell_id[IMC_MAX_CELL_ID_LEN]; |
| 2481 | imcb_imc_loc_ts_struct loc_info; |
| 2482 | imcf_uint32 cause; |
| 2483 | } imcb_imc_ss_explicit_call_transfer_ind_struct; |
| 2484 | |
| 2485 | typedef struct { |
| 2486 | LOCAL_PARA_HDR |
| 2487 | imcf_int32 acct_id; |
| 2488 | imcf_int32 operation; //imcb_imc_ss_operation_enum |
| 2489 | imcf_int32 result; //imcb_imc_call_stop_result_enum |
| 2490 | imcf_int32 cause; //imcb_imc_call_stop_cause_enum |
| 2491 | } imcb_imc_ss_explicit_call_transfer_rsp_struct; |
| 2492 | |
| 2493 | /* For ECT blind/assured */ |
| 2494 | |
| 2495 | typedef enum { |
| 2496 | IMS_ECT_TYPE_NONE = 0, |
| 2497 | IMS_ECT_TYPE_BLIND = 1, |
| 2498 | IMS_ECT_TYPE_ASSURED = 2, /* default */ |
| 2499 | IMS_ECT_TYPE_ASSURED_PUSH = 3, /* TMOUS Digit device transfer */ |
| 2500 | IMS_ECT_TYPE_CANCEL = 4, |
| 2501 | } imcb_imc_ect_type_enum; |
| 2502 | |
| 2503 | typedef struct { |
| 2504 | LOCAL_PARA_HDR |
| 2505 | imcf_int32 acct_id; |
| 2506 | imcf_uint8 cell_id[IMC_MAX_CELL_ID_LEN]; |
| 2507 | imcb_imc_loc_ts_struct loc_info; |
| 2508 | imcf_uint8 ect_type; // imcb_imc_ect_type_enum |
| 2509 | imcf_uint8 pad[3]; |
| 2510 | imcf_int8 p_assert_uri[IMC_MAX_ASSERTED_URI]; |
| 2511 | imcf_uint8 device_id[IMC_MAX_UUID_LEN]; |
| 2512 | } imcb_imc_ss_ect_ind_struct; |
| 2513 | |
| 2514 | typedef struct { |
| 2515 | LOCAL_PARA_HDR |
| 2516 | imcf_int32 acct_id; |
| 2517 | imcf_int32 result; //imcb_imc_call_stop_result_enum |
| 2518 | imcf_int32 cause; //imcb_imc_call_stop_cause_enum |
| 2519 | } imcb_imc_ss_ect_rsp_struct; |
| 2520 | |
| 2521 | typedef struct { |
| 2522 | LOCAL_PARA_HDR |
| 2523 | imcf_int32 acct_id; |
| 2524 | imcf_uint32 call_id; |
| 2525 | imcf_int32 result; //imcb_imc_call_stop_result_enum |
| 2526 | imcf_int32 cause; //imcb_imc_call_stop_cause_enum |
| 2527 | } imcb_imc_ss_ect_req_struct; |
| 2528 | |
| 2529 | typedef struct { |
| 2530 | LOCAL_PARA_HDR |
| 2531 | imcf_int32 acct_id; |
| 2532 | imcf_uint32 call_id; |
| 2533 | imcf_uint8 cell_id[IMC_MAX_CELL_ID_LEN]; |
| 2534 | imcb_imc_loc_ts_struct loc_info; |
| 2535 | plmn_type_enum plmn; |
| 2536 | } imcb_imc_ss_create_conference_call_ind_struct; |
| 2537 | |
| 2538 | typedef struct { |
| 2539 | LOCAL_PARA_HDR |
| 2540 | imcf_int32 acct_id; |
| 2541 | imcf_int32 operation; //imcb_imc_ss_operation_enum |
| 2542 | imcf_int32 result; //imcb_imc_call_stop_result_enum |
| 2543 | imcf_int32 cause; //imcb_imc_call_stop_cause_enum |
| 2544 | } imcb_imc_ss_create_conference_call_rsp_struct; |
| 2545 | |
| 2546 | typedef struct { |
| 2547 | LOCAL_PARA_HDR |
| 2548 | imcf_int32 acct_id; |
| 2549 | imcf_uint8 cell_id[IMC_MAX_CELL_ID_LEN]; |
| 2550 | imcb_imc_loc_ts_struct loc_info; |
| 2551 | imcf_uint32 cause; |
| 2552 | } imcb_imc_ss_ath_rel_all_calls_ind_struct; |
| 2553 | |
| 2554 | typedef struct { |
| 2555 | LOCAL_PARA_HDR |
| 2556 | imcf_int32 acct_id; |
| 2557 | imcf_int32 operation; //imcb_imc_ss_operation_enum |
| 2558 | imcf_int32 result; //imcb_imc_call_stop_result_enum |
| 2559 | imcf_int32 cause; //imcb_imc_call_stop_cause_enum |
| 2560 | } imcb_imc_ss_ath_rel_all_calls_rsp_struct; |
| 2561 | |
| 2562 | typedef struct { |
| 2563 | LOCAL_PARA_HDR |
| 2564 | imcf_uint32 reserved; |
| 2565 | } imcb_imc_ss_list_current_calls_ind_struct; |
| 2566 | |
| 2567 | typedef struct { |
| 2568 | imcf_int32 acct_id; |
| 2569 | imcf_uint32 call_id; |
| 2570 | imcf_uint8 is_mt_call; |
| 2571 | imcf_uint8 state_of_the_call; |
| 2572 | imcf_uint8 mode; |
| 2573 | imcf_uint8 is_conference_call; |
| 2574 | imcf_uint8 phone_number[128]; |
| 2575 | imcf_uint32 is_international; // 0:no, 1: the phone number is a national number |
| 2576 | } imcb_list_one_call_struct; |
| 2577 | |
| 2578 | typedef struct { |
| 2579 | LOCAL_PARA_HDR |
| 2580 | imcf_uint32 total_call; |
| 2581 | imcb_list_one_call_struct call_list[12]; // max_account*3, may changed?? |
| 2582 | } imcb_imc_ss_list_current_calls_rsp_struct; |
| 2583 | |
| 2584 | typedef struct { |
| 2585 | LOCAL_PARA_HDR |
| 2586 | imcf_int32 acct_id; |
| 2587 | imcf_uint32 call_id; |
| 2588 | imcf_uint32 service; //imcb_imc_ss_notify_service_enum |
| 2589 | imcf_uint8 data[IMCB_IMC_MAX_DATA_TO_IMC_LENGTH]; |
| 2590 | } imcb_imc_ss_progress_notify_req_struct; |
| 2591 | |
| 2592 | typedef struct { |
| 2593 | LOCAL_PARA_HDR |
| 2594 | imcf_int32 acct_id; |
| 2595 | imcf_uint32 conf_call_id; |
| 2596 | imcf_uint32 joined_call_id; |
| 2597 | imcf_uint8 dial_number[IMC_MAX_CONF_CONTROL_URI_LENGTH]; |
| 2598 | imcf_int32 operation; //imcb_imc_ss_operation_enum |
| 2599 | imcf_int32 result; //imcb_imc_call_stop_result_enum |
| 2600 | imcf_int32 cause; //imcb_imc_call_stop_cause_enum |
| 2601 | } imcb_imc_ss_conference_control_req_struct; |
| 2602 | |
| 2603 | typedef struct { |
| 2604 | LOCAL_PARA_HDR |
| 2605 | imcf_int32 acct_id; |
| 2606 | imcf_uint32 call_id; |
| 2607 | imcf_int32 event; //imcb_imc_ss_sub_event_enum |
| 2608 | imcf_int32 result; //imcb_imc_call_stop_result_enum |
| 2609 | imcf_int32 cause; //imcb_imc_call_stop_cause_enum |
| 2610 | } imcb_imc_ss_subscribe_control_req_struct; |
| 2611 | |
| 2612 | typedef struct { |
| 2613 | LOCAL_PARA_HDR |
| 2614 | imcf_int32 acct_id; |
| 2615 | imcf_uint32 conf_call_id; |
| 2616 | imcf_int32 joined_call_id; |
| 2617 | imcf_uint32 op; //imcb_imc_ss_operation_enum |
| 2618 | imcf_uint8 number[IMC_MAX_CONF_CONTROL_URI_LENGTH]; |
| 2619 | imcf_uint8 cell_id[IMC_MAX_CELL_ID_LEN]; |
| 2620 | imcb_imc_loc_ts_struct loc_info; |
| 2621 | } imcb_imc_ss_conference_control_ind_struct; |
| 2622 | |
| 2623 | typedef struct { |
| 2624 | LOCAL_PARA_HDR |
| 2625 | imcf_int32 acct_id; |
| 2626 | imcf_int32 operation; //imcb_imc_ss_operation_enum |
| 2627 | imcf_int32 result; //imcb_imc_call_stop_result_enum |
| 2628 | imcf_int32 cause; //imcb_imc_call_stop_cause_enum |
| 2629 | } imcb_imc_ss_conference_control_rsp_struct; |
| 2630 | |
| 2631 | //IMS SRVCC Interface |
| 2632 | typedef struct { |
| 2633 | imcf_int32 call_id; |
| 2634 | imcf_uint32 ecc_category; /* imcb_imc_srvcc_call_ecc_category_enum */ |
| 2635 | imcf_uint8 call_mode; /* imcb_imc_call_mode_enum */ |
| 2636 | imcf_uint8 direction; /* imcb_imc_srvcc_call_direction_enum */ |
| 2637 | imcf_uint8 dlg_state; /* imcb_imc_srvcc_call_state_enum */ |
| 2638 | imcf_uint8 num_of_conf_parts; |
| 2639 | } imcb_imc_srvcc_call_ctxt_struct; |
| 2640 | |
| 2641 | typedef struct { |
| 2642 | LOCAL_PARA_HDR |
| 2643 | imcf_uint32 num_calls; |
| 2644 | imcb_imc_srvcc_call_ctxt_struct srvcc_call_ctxt_from_ims[IMCB_IMC_MAX_CALL_NUM]; |
| 2645 | imcf_uint32 acct_id; |
| 2646 | imcf_uint8 conf_call_number_list[IMC_MAX_CALL_NUM_IN_CONFERENCE][IMC_MAX_URI_LENGTH]; |
| 2647 | } imcb_imc_srvcc_context_transfer_req_struct; |
| 2648 | |
| 2649 | typedef struct { |
| 2650 | LOCAL_PARA_HDR |
| 2651 | imcf_int32 acct_id; |
| 2652 | imcf_int32 srvcc_ho_status; /* imcb_imc_srvcc_status_enum */ |
| 2653 | } imcb_imc_srvcc_status_update_ind_struct; |
| 2654 | |
| 2655 | //Auto Test Tool Interface |
| 2656 | typedef struct { |
| 2657 | imcf_uint8 src_ip[64]; |
| 2658 | imcf_uint8 dst_ip[64]; |
| 2659 | imcf_uint8 src_port[16]; |
| 2660 | imcf_uint8 dst_port[16]; |
| 2661 | imcf_uint8 spi[32]; |
| 2662 | imcf_uint8 dir; //0:in 1:out |
| 2663 | imcf_uint8 padding[3]; |
| 2664 | } imcb_imc_reg_ipsec_info_struct; |
| 2665 | |
| 2666 | typedef struct { |
| 2667 | LOCAL_PARA_HDR |
| 2668 | imcf_uint32 acct_id; |
| 2669 | } imcb_imc_reg_ipsec_flush_req_struct; |
| 2670 | |
| 2671 | typedef struct { |
| 2672 | LOCAL_PARA_HDR |
| 2673 | imcb_imc_reg_ipsec_info_struct ipsec_info[4]; |
| 2674 | imcf_uint8 index; |
| 2675 | imcf_uint8 transport; //0:udp 1:tcp |
| 2676 | imcf_uint8 mode; //0:Transport 1:Tunnel |
| 2677 | imcf_uint8 protocol; //0:AH 1:ESP |
| 2678 | imcf_uint8 encry_algo; /* VoLTE_Stack_IPSec_Encry_Algo_e */ |
| 2679 | imcf_uint8 integrity_algo; /* enum VoLTE_Stack_IPSec_Integrity_Algo_e */ |
| 2680 | imcf_uint8 padding[2]; |
| 2681 | imcf_uint8 ck[256]; |
| 2682 | imcf_uint8 ik[256]; |
| 2683 | imcf_uint32 acct_id; |
| 2684 | } imcb_imc_reg_ipsec_add_req_struct; |
| 2685 | |
| 2686 | typedef struct { |
| 2687 | LOCAL_PARA_HDR |
| 2688 | imcf_uint8 index; |
| 2689 | imcf_uint8 padding[3]; |
| 2690 | imcf_uint32 acct_id; |
| 2691 | } imcb_imc_reg_ipsec_delete_req_struct; |
| 2692 | |
| 2693 | typedef struct { |
| 2694 | LOCAL_PARA_HDR |
| 2695 | imcb_imc_bearer_filter_type_enum type; |
| 2696 | imcf_bid_t bid; |
| 2697 | } imcb_imc_start_bearer_filter_req_struct; |
| 2698 | |
| 2699 | typedef struct { |
| 2700 | LOCAL_PARA_HDR |
| 2701 | imcb_imc_bearer_filter_type_enum type; |
| 2702 | imcf_bid_t bid; |
| 2703 | } imcb_imc_stop_bearer_filter_req_struct; |
| 2704 | |
| 2705 | typedef struct { |
| 2706 | LOCAL_PARA_HDR |
| 2707 | imcf_uint8 type; // imcb_imc_ebi_filter_type_enum |
| 2708 | imcf_uint8 pad[3]; |
| 2709 | imcf_uint32 ebi; |
| 2710 | } imcb_imc_start_ebi_filter_req_struct; |
| 2711 | |
| 2712 | typedef struct { |
| 2713 | LOCAL_PARA_HDR |
| 2714 | imcf_uint8 type; // imcb_imc_ebi_filter_type_enum |
| 2715 | imcf_uint8 pad[3]; |
| 2716 | imcf_uint32 ebi; |
| 2717 | } imcb_imc_stop_ebi_filter_req_struct; |
| 2718 | |
| 2719 | //IMS USSI Interface |
| 2720 | typedef struct imcb_imc_send_ussd_ind { |
| 2721 | LOCAL_PARA_HDR |
| 2722 | imcf_uint32 account_id; /*< Account ID*/ |
| 2723 | imcf_uint8 cmd_class; /*< class */ |
| 2724 | imcf_uint8 operation; /*< oper */ |
| 2725 | imcf_uint16 action; /*< action */ |
yu.dong | e372c32 | 2023-08-30 20:25:04 -0700 | [diff] [blame] | 2726 | imcf_uint8 language[IMS_USSD_LANGUANGE_LEN]; /*< language */ |
rjw | 6c1fd8f | 2022-11-30 14:33:01 +0800 | [diff] [blame] | 2727 | imcf_int16 error_code; /*< error_code */ |
| 2728 | imcf_int16 message_len; /*< message length */ |
yu.dong | e372c32 | 2023-08-30 20:25:04 -0700 | [diff] [blame] | 2729 | imcf_uint8 message[IMS_USSD_MAX_MSG_LEN]; |
rjw | 6c1fd8f | 2022-11-30 14:33:01 +0800 | [diff] [blame] | 2730 | imcf_uint8 digit_from_line_number[IMC_MAX_URI_LENGTH]; |
| 2731 | } imcb_imc_send_ussd_ind_struct; |
| 2732 | |
| 2733 | typedef struct imcb_imc_send_ussd_rsp { |
| 2734 | LOCAL_PARA_HDR |
| 2735 | imcf_uint32 account_id; /*< Account ID*/ |
| 2736 | imcf_uint32 response; /*< OK or ERROR, may be extended to CME ERROR later on*/ |
| 2737 | } imcb_imc_send_ussd_rsp_struct; |
| 2738 | |
| 2739 | typedef struct imcb_imc_recv_ussd_req { |
| 2740 | LOCAL_PARA_HDR |
| 2741 | imcf_uint32 account_id; /*< Account ID*/ |
| 2742 | imcf_uint8 urc_class; /*< class */ |
| 2743 | imcf_uint8 alert_pattern; /*< Alertin Pattern for AP */ |
| 2744 | imcf_uint8 padding[2]; /*< oper */ |
| 2745 | imcf_uint16 status; /*< status */ |
| 2746 | imcf_uint16 sip_cause; /*< status */ |
yu.dong | e372c32 | 2023-08-30 20:25:04 -0700 | [diff] [blame] | 2747 | imcf_uint8 language[IMS_USSD_LANGUANGE_LEN]; /*< language */ |
rjw | 6c1fd8f | 2022-11-30 14:33:01 +0800 | [diff] [blame] | 2748 | imcf_int16 error_code; /*< error_code */ |
| 2749 | imcf_int16 message_len; /*< message length */ |
yu.dong | e372c32 | 2023-08-30 20:25:04 -0700 | [diff] [blame] | 2750 | imcf_uint8 message[IMS_USSD_MAX_MSG_LEN]; |
rjw | 6c1fd8f | 2022-11-30 14:33:01 +0800 | [diff] [blame] | 2751 | } imcb_imc_recv_ussd_req_struct; |
| 2752 | |
| 2753 | |
| 2754 | typedef struct imcb_imc_ussd_urc_status_ind { |
| 2755 | LOCAL_PARA_HDR |
| 2756 | imcf_uint32 account_id; /*< Account ID*/ |
| 2757 | imcf_uint32 status; /*< USSI URC enabled status */ |
| 2758 | } imcb_imc_ussd_urc_status_ind_struct; |
| 2759 | |
| 2760 | //IMS VT Service Interface |
| 2761 | typedef struct { |
| 2762 | LOCAL_PARA_HDR |
| 2763 | imcf_uint32 account_id; |
| 2764 | imcf_uint32 is_connected; |
| 2765 | } imcb_imc_vt_connect_req_struct; |
| 2766 | |
| 2767 | typedef struct { |
| 2768 | LOCAL_PARA_HDR |
| 2769 | imcf_uint32 account_id; |
| 2770 | imcf_uint16 operator_code; |
| 2771 | imcf_uint8 pad[2]; |
| 2772 | } imcb_imc_vt_cap_query_ind_struct; |
| 2773 | |
| 2774 | typedef struct { |
| 2775 | LOCAL_PARA_HDR |
| 2776 | imcf_uint32 account_id; |
| 2777 | imcf_uint32 result; //0: success, 1: fail |
| 2778 | imcf_uint16 operator_code; |
| 2779 | imcf_uint8 pad[2]; |
| 2780 | } imcb_imc_vt_cap_query_rsp_struct; |
| 2781 | |
| 2782 | typedef struct { |
| 2783 | LOCAL_PARA_HDR |
| 2784 | imcf_uint32 account_id; |
| 2785 | imcf_uint32 call_id; |
| 2786 | imcf_int32 direction; |
| 2787 | } imcb_imc_cc_vt_active_ind_struct; |
| 2788 | |
| 2789 | typedef struct { |
| 2790 | LOCAL_PARA_HDR |
| 2791 | imcf_int32 account_id; |
| 2792 | imcf_uint32 call_id; |
| 2793 | imcf_uint8 call_mode; //imcb_imc_call_mode_enum |
| 2794 | // 0 : inactive |
| 2795 | // 1 : send_only |
| 2796 | // 2 : recv_only |
| 2797 | // 3 : send_recv |
| 2798 | imcf_uint8 camera_direction; |
| 2799 | imcf_uint8 audio_direction; |
| 2800 | imcf_uint8 audio_codec; //opaque |
| 2801 | imcf_int8 p_assert_uri[IMC_MAX_ASSERTED_URI]; |
| 2802 | } imcb_imc_cc_media_mod_req_struct; |
| 2803 | |
| 2804 | typedef struct { |
| 2805 | LOCAL_PARA_HDR |
| 2806 | imcf_int32 account_id; |
| 2807 | imcf_uint32 call_id; |
| 2808 | imcf_uint8 local_video_cap; |
| 2809 | imcf_uint8 remote_video_cap; |
| 2810 | imcf_uint8 pad[2]; |
| 2811 | } imcb_imc_cc_video_cap_req_struct; |
| 2812 | |
| 2813 | typedef enum { |
| 2814 | IMCB_IMC_EVTA_MODE_UNKNOWN = 0, |
| 2815 | IMCB_IMC_EVTA_MODE_ACCEPT_AS_VOICE = 1, |
| 2816 | IMCB_IMC_EVTA_MODE_ACCEPT_AS_ONE_WAY_VIDEO_RX = 2, |
| 2817 | IMCB_IMC_EVTA_MODE_ACCEPT_AS_ONE_WAY_VIDEO_TX = 3, |
| 2818 | IMCB_IMC_EVTA_MODE_MAX, |
| 2819 | } imcb_imc_evta_mode_enum; |
| 2820 | |
| 2821 | typedef enum |
| 2822 | { |
| 2823 | IMCB_IMC_SEND_USSD_RESULT_SUCCESS = 0, |
| 2824 | IMCB_IMC_SEND_USSD_RESULT_FAILURE = 1, |
| 2825 | IMCB_IMC_SEND_USSD_RESULT_MAX , |
| 2826 | } imcb_imc_send_ussd_result_enum; |
| 2827 | |
| 2828 | typedef struct { |
| 2829 | LOCAL_PARA_HDR |
| 2830 | imcf_int32 acct_id; |
| 2831 | imcf_uint32 call_id; |
| 2832 | imcf_uint8 cell_id[IMC_MAX_CELL_ID_LEN]; |
| 2833 | imcf_uint32 mode; /* imcb_imc_evta_mode_enum */ |
| 2834 | imcb_imc_loc_ts_struct loc_info; |
| 2835 | } imcb_imc_cc_mt_vt_special_accept_ind_struct; |
| 2836 | |
| 2837 | typedef struct { |
| 2838 | LOCAL_PARA_HDR |
| 2839 | imcf_int32 acct_id; |
| 2840 | imcf_uint32 call_id; |
| 2841 | imcf_int32 result; /*0: success, 1: fail*/ |
| 2842 | imcf_int32 cause; /*imcb_imc_call_stop_cause_enum*/ |
| 2843 | } imcb_imc_cc_mt_vt_special_accept_rsp_struct; |
| 2844 | |
| 2845 | //WFC |
| 2846 | typedef struct { |
| 2847 | LOCAL_PARA_HDR |
| 2848 | imcf_uint8 source_rat_type; |
| 2849 | imcf_uint8 target_rat_type; |
| 2850 | imcf_uint8 pad[2]; |
| 2851 | } imcb_imc_handover_start_req_struct; |
| 2852 | |
| 2853 | typedef struct { |
| 2854 | LOCAL_PARA_HDR |
| 2855 | imcf_uint8 source_rat_type; |
| 2856 | imcf_uint8 target_rat_type; |
| 2857 | imcf_uint8 is_success; |
| 2858 | imcf_uint8 pad; |
| 2859 | } imcb_imc_handover_stop_req_struct; |
| 2860 | |
| 2861 | typedef struct { |
| 2862 | LOCAL_PARA_HDR |
| 2863 | imcf_uint8 source_rat_type; |
| 2864 | imcf_uint8 target_rat_type; |
| 2865 | imcf_uint8 pdn_id; /* LTE: Default EBI, NR: PDU Session ID */ |
| 2866 | imcf_uint8 acct_id; |
| 2867 | imcf_uint32 network_id; |
| 2868 | imcf_uint8 if_name[IMC_MAX_IF_NAME_LENGTH]; |
| 2869 | } imcb_imc_handover_begin_req_struct; |
| 2870 | |
| 2871 | typedef struct { |
| 2872 | LOCAL_PARA_HDR |
| 2873 | imcf_uint8 source_rat_type; |
| 2874 | imcf_uint8 target_rat_type; |
| 2875 | imcf_uint8 is_success; |
| 2876 | imcf_uint8 pdn_id; /* LTE: Default EBI, NR: PDU Session ID */ |
| 2877 | imcf_uint32 network_id; |
| 2878 | imcf_uint8 if_name[IMC_MAX_IF_NAME_LENGTH]; |
| 2879 | imcf_uint8 acct_id; |
| 2880 | imcf_uint8 pad[3]; |
| 2881 | } imcb_imc_handover_end_req_struct; |
| 2882 | |
| 2883 | typedef struct { |
| 2884 | LOCAL_PARA_HDR |
| 2885 | imcf_uint8 account_id; |
| 2886 | imcf_uint8 rat_type; //imc_rat_type_enum |
| 2887 | imcf_uint8 ecmp; /* imc_ecmp_enum */ |
| 2888 | imcf_uint8 need_broadcast; |
| 2889 | imcf_uint32 reg_service; /* ims_reg_service_enum */ |
| 2890 | imcf_uint32 reg_event; // ims_reg_event_enum |
| 2891 | imcf_uint32 sip_uri_type;// ims_reg_sip_uri_type_enum |
| 2892 | } imcb_imc_reg_ems_mode_req_struct; |
| 2893 | |
| 2894 | typedef struct { |
| 2895 | LOCAL_PARA_HDR |
| 2896 | imcf_uint8 tlv_data[IMC_MAX_ILM_BUFFER_LEN]; |
| 2897 | } imcb_imc_ims_debug_info_req_struct; |
| 2898 | |
| 2899 | typedef struct |
| 2900 | { |
| 2901 | LOCAL_PARA_HDR |
| 2902 | kal_uint8 tlv_data[IMC_MAX_DEBUG_INFO_IND_LEN]; |
| 2903 | } imcb_imc_ims_debug_info_ind_struct; |
| 2904 | |
| 2905 | |
| 2906 | /* TTY */ |
| 2907 | typedef struct { |
| 2908 | LOCAL_PARA_HDR |
| 2909 | imcf_uint32 account_id; /*< Account ID*/ |
| 2910 | imcf_uint32 enable; |
| 2911 | } imcb_imc_cc_tty_enable_ind_struct; |
| 2912 | |
| 2913 | typedef struct { |
| 2914 | LOCAL_PARA_HDR |
| 2915 | imcf_uint32 account_id; /*< Account ID*/ |
| 2916 | imcf_uint32 result; // imcb_imc_call_stop_result_enum |
| 2917 | } imcb_imc_cc_tty_enable_rsp_struct; |
| 2918 | |
| 2919 | typedef struct { |
| 2920 | LOCAL_PARA_HDR |
| 2921 | imcf_int32 acct_id; |
| 2922 | imcf_uint32 call_id; /*assigned by CC*/ |
| 2923 | imcf_uint8 local_text_capability; /* GTT/RTT on/off */ |
| 2924 | imcf_uint8 remote_text_capability; /* remote sdp text status */ |
| 2925 | imcf_uint8 local_text_status; /* local sdp text status */ |
| 2926 | imcf_uint8 real_remote_text_capability; /* remote Contact header text cap */ |
| 2927 | } imcb_imc_cc_tty_capability_req_struct; |
| 2928 | |
| 2929 | /* RTT */ |
| 2930 | typedef struct { |
| 2931 | LOCAL_PARA_HDR |
| 2932 | imcf_uint32 acct_id; /*< Account ID*/ |
| 2933 | imcf_uint32 call_id; |
| 2934 | imcf_uint32 op; /* 0: downgrade, 1: upgrade */ |
| 2935 | } imcb_imc_cc_rtt_op_ind_struct; |
| 2936 | |
| 2937 | typedef struct { |
| 2938 | LOCAL_PARA_HDR |
| 2939 | imcf_uint32 acct_id; /*< Account ID*/ |
| 2940 | imcf_uint32 call_id; |
| 2941 | imcf_uint32 result; |
| 2942 | } imcb_imc_cc_rtt_op_rsp_struct; |
| 2943 | |
| 2944 | |
| 2945 | typedef struct { |
| 2946 | LOCAL_PARA_HDR |
| 2947 | imcf_uint32 account_id; |
| 2948 | } imcb_imc_release_pdn_ind_struct; |
| 2949 | |
| 2950 | typedef struct { |
| 2951 | LOCAL_PARA_HDR |
| 2952 | imcf_uint32 account_id; |
| 2953 | } imcb_imc_release_pdn_rsp_struct; |
| 2954 | |
| 2955 | typedef struct { |
| 2956 | LOCAL_PARA_HDR |
| 2957 | imcf_uint32 account_id; /* Account ID, normal account of the SIM */ |
| 2958 | imcf_uint32 atcmd_id; |
| 2959 | imcf_uint32 pad[2]; |
| 2960 | imcf_uint8 cmdline[IMC_ATCMD_MAX_CMDLINE_LEN]; |
| 2961 | } imcb_imc_atcmd_relay_req_struct, |
| 2962 | imcb_imc_atcmd_relay_ind_struct; |
| 2963 | |
| 2964 | /* |
| 2965 | * @brief |
| 2966 | * @note MSG_ID_IMCB_IMC_IMS_TIMER_STATUS_IND |
| 2967 | * AT+EITMR=<timer_type>,<timer_status>,<timer_length> |
| 2968 | */ |
| 2969 | typedef struct imcb_imc_ims_timer_status_ind { |
| 2970 | LOCAL_PARA_HDR |
| 2971 | imcf_uint32 account_id; /*< Account ID*/ |
| 2972 | imcf_uint32 timer_type; // ims_timer_type_enum |
| 2973 | imcf_uint32 timer_status; // ims_timer_status_enum |
| 2974 | imcf_uint16 timer_length; |
| 2975 | imcf_uint8 pad[2]; |
| 2976 | } imcb_imc_ims_timer_status_ind_struct; |
| 2977 | |
| 2978 | typedef enum { |
| 2979 | IMCB_IMC_SRU_OP_UNSPEC = 0, |
| 2980 | IMCB_IMC_SRU_OP_REQUEST_RF = 1, |
| 2981 | IMCB_IMC_SRU_OP_RELEASE_RF = 2 |
| 2982 | } imcb_imc_sru_operation_enum; |
| 2983 | |
| 2984 | typedef enum { |
| 2985 | IMCB_IMC_SRU_METHOD_UNSPEC = 0, |
| 2986 | IMCB_IMC_SRU_METHOD_INIT_REG = 1, |
| 2987 | IMCB_IMC_SRU_METHOD_RE_REG = 2, |
| 2988 | IMCB_IMC_SRU_METHOD_SUBSCRIBE = 3, |
| 2989 | IMCB_IMC_SRU_METHOD_USSD = 4, |
| 2990 | IMCB_IMC_SRU_METHOD_CONF_SUBSCRIBE = 5, |
| 2991 | IMCB_IMC_SRU_METHOD_MWI_SUBSCRIBE = 6, |
| 2992 | IMCB_IMC_SRU_METHOD_CALLPULL_SUBSCRIBE = 7, |
| 2993 | IMCB_IMC_SRU_METHOD_INIT_REG_LOW = 8 |
| 2994 | } imcb_imc_sru_method_enum; |
| 2995 | |
| 2996 | /* |
| 2997 | * @brief |
| 2998 | * @note MSG_ID_IMCB_IMC_SRU_INFO_REQ |
| 2999 | * To control RF resource from REG UA module (Initial reqiester, re-register, subscribe) |
| 3000 | */ |
| 3001 | typedef struct imcb_imc_sru_info_req { |
| 3002 | LOCAL_PARA_HDR |
| 3003 | imcf_uint32 account_id; /*< Account ID*/ |
| 3004 | imcf_uint8 op; //imcb_imc_sru_operation_enum |
| 3005 | imcf_uint8 method; //imcb_imc_sru_method_enum |
| 3006 | imcf_uint8 pad[2]; |
| 3007 | imcf_uint32 access_rat_type; //imc_access_rat_type |
| 3008 | } imcb_imc_sru_info_req_struct; |
| 3009 | |
| 3010 | /* |
| 3011 | * @brief |
| 3012 | * @note MSG_ID_IMCB_IMC_PS_DATA_OFF_IND |
| 3013 | * |
| 3014 | */ |
| 3015 | typedef struct imcb_imc_ps_data_off_ind { |
| 3016 | LOCAL_PARA_HDR |
| 3017 | imcf_uint32 account_id; |
| 3018 | imcf_uint32 psdataoff_status; // ims_ps_data_off_status_enum |
| 3019 | imcf_uint32 exempt_service; // ims_ps_data_off_exempt_service_enum |
| 3020 | } imcb_imc_ps_data_off_ind_struct; |
| 3021 | |
| 3022 | /* |
| 3023 | * @brief |
| 3024 | * @note MSG_ID_IMCB_IMC_SMS_CS_AVAILABILITY_REQ |
| 3025 | * |
| 3026 | */ |
| 3027 | typedef struct { |
| 3028 | LOCAL_PARA_HDR |
| 3029 | imcf_uint32 acct_id; |
| 3030 | imcf_uint32 request_id; |
| 3031 | } imcb_imc_sms_cs_availability_req_struct; |
| 3032 | |
| 3033 | typedef enum { |
| 3034 | IMCB_IMC_CS_NETWORK_NOT_AVAILABLE = 0, |
| 3035 | IMCB_IMC_CS_NETWORK_HOME, |
| 3036 | IMCB_IMC_CS_NETWORK_ROAMING, |
| 3037 | } imcb_imc_cs_network_status_enum; |
| 3038 | |
| 3039 | /* |
| 3040 | * @brief |
| 3041 | * @note MSG_ID_IMCB_IMC_SMS_CS_AVAILABILITY_CNF |
| 3042 | * |
| 3043 | */ |
| 3044 | typedef struct { |
| 3045 | LOCAL_PARA_HDR |
| 3046 | imcf_uint32 acct_id; |
| 3047 | imcf_uint32 request_id; |
| 3048 | imcf_uint32 cs_network_status; /* imcb_imc_cs_network_status_enum */ |
| 3049 | } imcb_imc_sms_cs_availability_cnf_struct; |
| 3050 | |
| 3051 | /* |
| 3052 | * @brief |
| 3053 | * @note MSG_ID_IMCB_IMC_CC_CS_AVAILABILITY_REQ |
| 3054 | * |
| 3055 | */ |
| 3056 | typedef struct { |
| 3057 | LOCAL_PARA_HDR |
| 3058 | imcf_uint32 acct_id; |
| 3059 | imcf_uint32 call_id; |
| 3060 | } imcb_imc_cc_cs_availability_req_struct; |
| 3061 | |
| 3062 | /* |
| 3063 | * @brief |
| 3064 | * @note MSG_ID_IMCB_IMC_CC_CS_AVAILABILITY_CNF |
| 3065 | * |
| 3066 | */ |
| 3067 | typedef struct { |
| 3068 | LOCAL_PARA_HDR |
| 3069 | imcf_uint32 acct_id; |
| 3070 | imcf_uint32 call_id; |
| 3071 | imcf_uint32 cs_network_status; /* imcb_imc_cs_network_status_enum */ |
| 3072 | } imcb_imc_cc_cs_availability_cnf_struct; |
| 3073 | |
| 3074 | typedef struct { |
| 3075 | LOCAL_PARA_HDR |
| 3076 | imcf_uint8 transaction_id; |
| 3077 | } imcb_imc_pcscf_discovery_via_sim_req_struct; |
| 3078 | |
| 3079 | typedef struct { |
| 3080 | LOCAL_PARA_HDR |
| 3081 | imcf_uint8 transaction_id; |
| 3082 | imc_pcscf_list_struct pcscf_list; |
| 3083 | } imcb_imc_pcscf_discovery_via_sim_cnf_struct; |
| 3084 | |
| 3085 | typedef struct { |
| 3086 | LOCAL_PARA_HDR |
| 3087 | imcf_uint8 transaction_id; |
| 3088 | imcf_uint8 cause; |
| 3089 | } imcb_imc_pcscf_discovery_via_sim_rej_struct; |
| 3090 | |
| 3091 | typedef struct { |
| 3092 | LOCAL_PARA_HDR |
| 3093 | imc_acct_id_t acct_id; |
| 3094 | imcf_uint8 cause; |
| 3095 | } imcb_imc_ims_reset_suggestion_timer_req_struct; |
| 3096 | |
| 3097 | #endif /* IMC_IMCB_STRUCT_H */ |