blob: cdc12afa267488e6289b3ebc83c52607d505a538 [file] [log] [blame]
/*****************************************************************************
* Copyright Statement:
* --------------------
* This software is protected by Copyright and the information contained
* herein is confidential. The software may not be copied and the information
* contained herein may not be used or disclosed except with the written
* permission of MediaTek Inc. (C) 2005
*
* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
*
* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
*7
* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
*
*****************************************************************************/
/*****************************************************************************
*
* Filename:
* ---------
* ims_dbg_def.h
*
* Description:
* ------------
* This file describes the information for IMS debug
* The information includes SIP messages, EM, KPI, trace, ...etc.
*
* Information described here will be defined as enums/structures/functions in
* the following files:
* <1> ims_dbg_enum.h
* <2> ims_dbg_struct.h
* <3> imcb_debug_func.h
* <4> imcb_debug_func.c
*
* Author:
* -------
* -------
*
*============================================================================
****************************************************************************/
/*******************************************************************************
*
* SIP section
*
******************************************************************************/
#ifndef IMS_DBG_SIP_DEF_BEGIN
#define IMS_DBG_SIP_DEF_BEGIN
#endif
#ifndef IMS_DBG_SIP_DEF_TLV_ENCODE
#define IMS_DBG_SIP_DEF_TLV_ENCODE(FUNC_NAME, STRUCT_NAME)
#endif
#ifndef IMS_DBG_SIP_DEF_VAR_NON_TAG
#define IMS_DBG_SIP_DEF_VAR_NON_TAG(VAR_TYPE, VAR_NAME)
#endif
#ifndef IMS_DBG_SIP_DEF_VAR_TAG
#define IMS_DBG_SIP_DEF_VAR_TAG(VAR_TYPE, VAR_NAME, VAR_TAG, VAR_TAG_SIZE)
#endif
#ifndef IMS_DBG_SIP_DEF_END
#define IMS_DBG_SIP_DEF_END(STRUCT_NAME, EVT_TAG)
#endif
IMS_DBG_SIP_DEF_BEGIN
IMS_DBG_SIP_DEF_TLV_ENCODE(ims_dbg_sip_info_tlv_encode, ims_dbg_sip_info_ind_struct_for_tlv)
IMS_DBG_SIP_DEF_VAR_NON_TAG(UINT32, VAR_VALUE(acct_id))
IMS_DBG_SIP_DEF_VAR_TAG (UINT32, VAR_ARRAY(sys_time, 2), IMS_DBG_SIP_TIME_TAG, VAR_SIZE(sys_time))
IMS_DBG_SIP_DEF_VAR_TAG(UINT8, VAR_ARRAY(src_ip,VOLTE_MAX_ADDRESS_LENGTH), IMS_DBG_SIP_SRC_IP_TAG, VAR_SIZE(src_ip))
IMS_DBG_SIP_DEF_VAR_TAG(UINT8, VAR_ARRAY(dst_ip,VOLTE_MAX_ADDRESS_LENGTH), IMS_DBG_SIP_DST_IP_TAG, VAR_SIZE(dst_ip))
IMS_DBG_SIP_DEF_VAR_TAG (UINT32, VAR_VALUE(direction), IMS_DBG_SIP_DIR_TAG, sizeof(UINT32))
IMS_DBG_SIP_DEF_VAR_TAG (UINT32, VAR_VALUE(transaction_id), IMS_DBG_SIP_TS_TAG, sizeof(UINT32))
IMS_DBG_SIP_DEF_VAR_TAG (UINT32, VAR_VALUE(transport_protocol), IMS_DBG_SIP_TP_TAG, sizeof(UINT32))
IMS_DBG_SIP_DEF_VAR_TAG (UINT32, VAR_VALUE(msg_type), IMS_DBG_SIP_MSG_TYPE_TAG, sizeof(UINT32))
IMS_DBG_SIP_DEF_VAR_TAG (UINT32, VAR_VALUE(method_type), IMS_DBG_SIP_METHOD_TAG, sizeof(UINT32))
IMS_DBG_SIP_DEF_VAR_TAG (UINT32, VAR_VALUE(cseq), IMS_DBG_SIP_CSEQ_TAG, sizeof(UINT32))
IMS_DBG_SIP_DEF_VAR_NON_TAG(INT32, VAR_VALUE(network_id))
/* access_rat: special assign in imcb */
IMS_DBG_SIP_DEF_VAR_TAG (UINT32, VAR_VALUE(access_rat), IMS_DBG_SIP_BEARER_TYPE_TAG, sizeof(UINT32))
IMS_DBG_SIP_DEF_VAR_TAG (UINT16, VAR_VALUE(rsp_code), IMS_DBG_SIP_RESP_CODE_TAG, sizeof(UINT16))
IMS_DBG_SIP_DEF_VAR_NON_TAG(UINT16, VAR_VALUE(msg_len))
IMS_DBG_SIP_DEF_VAR_TAG (UINT8, VAR_ARRAY(msg_data, 0), IMS_DBG_SIP_TAG, 0)
IMS_DBG_SIP_DEF_END(ims_dbg_sip_info_ind_struct_for_tlv, IMS_DBG_SIP_EVT_SIP_INFO_TAG)
#undef IMS_DBG_SIP_DEF_TLV_ENCODE
#undef IMS_DBG_SIP_DEF_BEGIN
#undef IMS_DBG_SIP_DEF_VAR_NON_TAG
#undef IMS_DBG_SIP_DEF_VAR_TAG
#undef IMS_DBG_SIP_DEF_END
/*******************************************************************************
*
* EM section
*
******************************************************************************/
#ifndef IMS_DBG_EM_DEF_BEGIN
#define IMS_DBG_EM_DEF_BEGIN
#endif
#ifndef IMS_DBG_EM_DEF_TLV_ENCODE
#define IMS_DBG_EM_DEF_TLV_ENCODE(FUNC_NAME, STRUCT_NAME)
#endif
#ifndef IMS_DBG_EM_DEF_VAR_NON_TAG
#define IMS_DBG_EM_DEF_VAR_NON_TAG(IS_VALID, VAR_TYPE, VAR_NAME)
#endif
#ifndef IMS_DBG_EM_DEF_VAR_TAG
#define IMS_DBG_EM_DEF_VAR_TAG(IS_VALID, VAR_TYPE, VAR_NAME, VAR_TAG, VAR_TAG_SIZE)
#endif
#ifndef IMS_DBG_EM_DEF_END
#define IMS_DBG_EM_DEF_END(STRUCT_NAME, VAR_TAG_ENUM_NAME, EVT_TAG)
#endif
/*
typedef struct
{
UINT32 is_acct_id_valid;
UINT32 acct_id;
UINT32 is_psi_valid;
UINT8 psi[VOLTE_MAX_URI_LENGTH];
UINT32 is_resp_to_nw_valid;
UINT32 resp_to_nw;
UINT32 is_resp_from_nw_valid;
UINT32 resp_from_nw;
UINT32 is_error_code_valid;
INT32 error_code;
UINT32 is_sms_support_valid;
UINT8 sms_support;
}ims_dbg_em_sms_info_ind_struct;
*/
IMS_DBG_EM_DEF_BEGIN
IMS_DBG_EM_DEF_TLV_ENCODE(ims_dbg_em_sms_info_tlv_encode, ims_dbg_em_sms_info_ind_struct)
IMS_DBG_EM_DEF_VAR_TAG(is_acct_id_valid, UINT32, VAR_VALUE(acct_id), IMS_DBG_EM_SMS_INFO_ACCT_ID_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_psi_valid, UINT8, VAR_ARRAY(psi, VOLTE_MAX_URI_LENGTH), IMS_DBG_EM_SMS_INFO_PSI_TAG, VAR_SIZE(psi))
IMS_DBG_EM_DEF_VAR_TAG(is_resp_to_nw_valid, UINT32, VAR_VALUE(resp_to_nw), IMS_DBG_EM_SMS_INFO_RESP_TO_NW_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_resp_from_nw_valid, UINT32, VAR_VALUE(resp_from_nw), IMS_DBG_EM_SMS_INFO_RESP_FROM_NW_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_error_code_valid, INT32, VAR_VALUE(error_code), IMS_DBG_EM_SMS_INFO_ERROR_CODE_TAG, sizeof(INT32))
IMS_DBG_EM_DEF_VAR_TAG(is_sms_support_valid, UINT8, VAR_VALUE(sms_support), IMS_DBG_EM_SMS_INFO_SMS_SUPPORT_TAG, sizeof(UINT8))
IMS_DBG_EM_DEF_END(ims_dbg_em_sms_info_ind_struct, ims_dbg_em_sms_info_tag_enum, IMS_DBG_EM_SMS_INFO_TAG)
/*
typedef struct
{
unsigned char is_acct_id_valid;
unsigned int acct_id;
unsigned char is_srvcc_start_valid;
char srvcc_start_timestamp[256];
unsigned char is_srvcc_end_valid;
char srvcc_end_timestamp[256];
unsigned char is_num_calls_valid;
unsigned int num_calls_transferred;
unsigned char is_srvcc_result_valid;
int srvcc_result;
} VoLTE_Em_Srvcc_Info_Ind;
*/
IMS_DBG_EM_DEF_BEGIN
IMS_DBG_EM_DEF_TLV_ENCODE(ims_dbg_em_srvcc_info_tlv_encode, ims_dbg_em_srvcc_info_ind_struct)
IMS_DBG_EM_DEF_VAR_TAG(is_acct_id_valid, UINT32, VAR_VALUE(acct_id), IMS_DBG_EM_SRVCC_INFO_ACCT_ID_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_srvcc_start_valid, UINT8, VAR_ARRAY(srvcc_start_timestamp, 256), IMS_DBG_EM_SRVCC_INFO_START_TIME_TAG, VAR_SIZE(srvcc_start_timestamp))
IMS_DBG_EM_DEF_VAR_TAG(is_srvcc_end_valid, UINT8, VAR_ARRAY(srvcc_end_timestamp, 256), IMS_DBG_EM_SRVCC_INFO_END_TIME_TAG, VAR_SIZE(srvcc_end_timestamp))
IMS_DBG_EM_DEF_VAR_TAG(is_num_calls_valid, UINT8, VAR_VALUE(num_calls_transferred), IMS_DBG_EM_SRVCC_INFO_CALL_NUM_TAG, sizeof(UINT8))
IMS_DBG_EM_DEF_VAR_TAG(is_srvcc_result_valid, INT32, VAR_VALUE(srvcc_result), IMS_DBG_EM_SRVCC_INFO_RESULT_NUM_TAG, sizeof(INT32))
IMS_DBG_EM_DEF_END(ims_dbg_em_srvcc_info_ind_struct, ims_dbg_em_srvcc_info_tag_enum, IMS_DBG_EM_SRVCC_INFO_TAG)
/*
typedef struct
{
unsigned char is_acct_id_valid;
unsigned int acct_id;
unsigned char is_confcall_id_valid;
char conf_call_id[SIP_MSG_MAX_CALLID_LEN];
unsigned char is_participants_num_valid;
unsigned int participants_num;
unsigned char is_sub_fromtag_valid;
char sub_from_tag[SIP_MSG_MAX_TAG_LEN];
} VoLTE_Em_Conf_Info_Ind;
*/
IMS_DBG_EM_DEF_BEGIN
IMS_DBG_EM_DEF_TLV_ENCODE(ims_dbg_em_conf_info_tlv_encode, ims_dbg_em_conf_info_ind_struct)
IMS_DBG_EM_DEF_VAR_TAG(is_acct_id_valid, UINT32, VAR_VALUE(acct_id), IMS_DBG_EM_CONF_INFO_ACCT_ID_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_confcall_id_valid, UINT8, VAR_ARRAY(conf_call_id, SIP_MSG_MAX_CALLID_LEN), IMS_DBG_EM_CONF_INFO_CONFCALL_ID_TAG, VAR_SIZE(conf_call_id))
IMS_DBG_EM_DEF_VAR_TAG(is_participants_num_valid, UINT32, VAR_VALUE(participants_num), IMS_DBG_EM_CONF_INFO_PARTICIPANTS_NUM_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_sub_fromtag_valid, UINT8, VAR_ARRAY(sub_from_tag, SIP_MSG_MAX_TAG_LEN), IMS_DBG_EM_CONF_INFO_SUB_FROMTAG_TAG, VAR_SIZE(sub_from_tag))
IMS_DBG_EM_DEF_END(ims_dbg_em_conf_info_ind_struct, ims_dbg_em_conf_info_tag_enum, IMS_DBG_EM_CONF_INFO_TAG)
/*
typedef struct
{
unsigned char is_call_id_valid;
unsigned int call_id;
unsigned char is_session_id_valid;
int session_id;
unsigned char is_acct_id_valid;
unsigned int acct_id;
unsigned char is_call_state_valid;
unsigned short call_state;
unsigned char is_mt_call_valid;
unsigned char is_mt_call;
unsigned char is_sip_callid_valid;
char sip_call_id[SIP_MSG_MAX_CALLID_LEN];
unsigned char is_call_type_valid;
int call_type;
unsigned char is_session_type_valid;
int session_type;
unsigned char is_phone_number_valid;
char phone_number[VOLTE_MAX_URI_LENGTH];
unsigned char is_failure_code_valid;
unsigned int failure_code;
unsigned char is_media_on_valid;
unsigned int media_on;
unsigned char is_session_expires_valid;
signed int session_expires_time;
unsigned char is_keep_alive_valid;
int in_keep_alive;
unsigned char is_video_action_valid;
int video_action;
unsigned char is_camera_direction_valid;
unsigned char camera_direction;
unsigned char is_remote_videocap_valid;
unsigned char remote_video_cap;
unsigned char is_originating_uri_valid;
char originating_uri[VOLTE_MAX_URI_LENGTH];
unsigned char is_terminating_uri_valid;
char terminating_uri[VOLTE_MAX_URI_LENGTH];
unsigned char is_net_type_valid;
unsigned char net_type;
unsigned char is_anonymous_emergency_valid;
unsigned char anonymous_emergency;
} VoLTE_Em_Call_Info_Ind;
*/
IMS_DBG_EM_DEF_BEGIN
IMS_DBG_EM_DEF_TLV_ENCODE(ims_dbg_em_call_info_tlv_encode, ims_dbg_em_call_info_ind_struct)
IMS_DBG_EM_DEF_VAR_TAG(is_call_id_valid, UINT32, VAR_VALUE(call_id), IMS_DBG_EM_CALL_INFO_CALL_ID_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_session_id_valid, INT32, VAR_VALUE(session_id), IMS_DBG_EM_CALL_INFO_SESSION_ID_TAG, sizeof(INT32))
IMS_DBG_EM_DEF_VAR_TAG(is_acct_id_valid, UINT32, VAR_VALUE(acct_id), IMS_DBG_EM_CALL_INFO_ACCT_ID_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_call_state_valid, UINT16, VAR_VALUE(call_state), IMS_DBG_EM_CALL_INFO_CALL_STATE_TAG, sizeof(UINT16))
IMS_DBG_EM_DEF_VAR_TAG(is_mt_call_valid, UINT8, VAR_VALUE(is_mt_call), IMS_DBG_EM_CALL_INFO_MT_CALL_TAG, sizeof(UINT8))
IMS_DBG_EM_DEF_VAR_TAG(is_sip_callid_valid, UINT8, VAR_ARRAY(sip_call_id, SIP_MSG_MAX_CALLID_LEN), IMS_DBG_EM_CALL_INFO_SIP_CALL_ID_TAG, VAR_SIZE(sip_call_id))
IMS_DBG_EM_DEF_VAR_TAG(is_call_type_valid, INT32, VAR_VALUE(call_type), IMS_DBG_EM_CALL_INFO_CALL_TYPE_TAG, sizeof(INT32))
IMS_DBG_EM_DEF_VAR_TAG(is_session_type_valid, INT32, VAR_VALUE(session_type), IMS_DBG_EM_CALL_INFO_SESSION_TYPE_TAG, sizeof(INT32))
IMS_DBG_EM_DEF_VAR_TAG(is_phone_number_valid, UINT8, VAR_ARRAY(phone_number, VOLTE_MAX_URI_LENGTH), IMS_DBG_EM_CALL_INFO_PHONE_NUMBER_TAG, VAR_SIZE(phone_number))
IMS_DBG_EM_DEF_VAR_TAG(is_failure_code_valid, UINT32, VAR_VALUE(failure_code), IMS_DBG_EM_CALL_INFO_FAILURE_CODE_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_media_on_valid, UINT32, VAR_VALUE(media_on), IMS_DBG_EM_CALL_INFO_MEDIA_ON_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_session_expires_valid, INT32, VAR_VALUE(session_expires_time), IMS_DBG_EM_CALL_INFO_SESSION_EXPIRES_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_keep_alive_valid, INT32, VAR_VALUE(in_keep_alive), IMS_DBG_EM_CALL_INFO_KEEP_ALIVE_TAG, sizeof(INT32))
IMS_DBG_EM_DEF_VAR_TAG(is_video_action_valid, INT32, VAR_VALUE(video_action), IMS_DBG_EM_CALL_INFO_VIDEO_ACTION_TAG, sizeof(INT32))
IMS_DBG_EM_DEF_VAR_TAG(is_camera_direction_valid, UINT8, VAR_VALUE(camera_direction), IMS_DBG_EM_CALL_INFO_CAMERA_DIRECTION_TAG, sizeof(UINT8))
IMS_DBG_EM_DEF_VAR_TAG(is_remote_videocap_valid, UINT8, VAR_VALUE(remote_video_cap), IMS_DBG_EM_CALL_INFO_REMOTE_VIDEOCAP_TAG, sizeof(UINT8))
IMS_DBG_EM_DEF_VAR_TAG(is_originating_uri_valid, UINT8, VAR_ARRAY(originating_uri, VOLTE_MAX_URI_LENGTH), IMS_DBG_EM_CALL_INFO_ORIGINATING_URI_TAG, VAR_SIZE(originating_uri))
IMS_DBG_EM_DEF_VAR_TAG(is_terminating_uri_valid, UINT8, VAR_ARRAY(terminating_uri, VOLTE_MAX_URI_LENGTH), IMS_DBG_EM_CALL_INFO_TERMINATING_URI_TAG, VAR_SIZE(terminating_uri))
IMS_DBG_EM_DEF_VAR_TAG(is_anonymous_emergency_valid, UINT8, VAR_VALUE(anonymous_emergency), IMS_DBG_EM_CALL_INFO_ANONYMOUS_EMERGENCY_TAG, sizeof(UINT8))
IMS_DBG_EM_DEF_VAR_TAG(is_net_type_valid, UINT8, VAR_VALUE(net_type), IMS_DBG_EM_CALL_INFO_NET_TYPE_TAG, sizeof(UINT8))
IMS_DBG_EM_DEF_END(ims_dbg_em_call_info_ind_struct, ims_dbg_em_call_info_tag_enum, IMS_DBG_EM_CALL_INFO_TAG)
/*
typedef struct
{
UINT32 is_account_id_valid
UINT32 account_id;
UINT32 is_pdn_ps_cause_valid;
imcb_bearer_ps_cause_enum pdn_ps_cause;
UINT32 is_pdn_ip_addr_valid;
UINT8 pdn_ip_addr[VOLTE_MAX_ADDRESS_LENGTH];
UINT32 is_pdn_ip_type_valid;
imcb_bearer_pdp_addr_type_enum pdn_ip_type;
UINT32 is_signal_bid_valid;
UINT32 signal_bid;
UINT32 is_signal_qci_valid;
UINT32 signal_qci;
UINT32 is_access_rat_valid;
ims_dbg_access_rat_enum access_rat;
} ims_dbg_em_bearer_info_ind_struct;
*/
IMS_DBG_EM_DEF_BEGIN
IMS_DBG_EM_DEF_TLV_ENCODE(ims_dbg_em_bearer_info_tlv_encode, ims_dbg_em_bearer_info_ind_struct)
IMS_DBG_EM_DEF_VAR_TAG(is_acct_id_valid, UINT32, VAR_VALUE(acct_id), IMS_DBG_EM_BEARER_INFO_ACCOUNT_ID_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_pdn_ps_cause_valid, UINT32, VAR_VALUE(pdn_ps_cause), IMS_DBG_EM_BEARER_INFO_PDN_PS_CAUSE_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_pdn_ip_addr_valid, UINT8, VAR_ARRAY(pdn_ip_addr, VOLTE_MAX_ADDRESS_LENGTH), IMS_DBG_EM_BEARER_INFO_PDN_IP_ADDR_TAG, VAR_SIZE(pdn_ip_addr))
IMS_DBG_EM_DEF_VAR_TAG(is_pdn_ip_type_valid, UINT32, VAR_VALUE(pdn_ip_type), IMS_DBG_EM_BEARER_INFO_PDN_IP_TYPE_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_signal_bid_valid, UINT32, VAR_VALUE(signal_bid), IMS_DBG_EM_BEARER_INFO_SIGNAL_BID_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_signal_qci_valid, UINT32, VAR_VALUE(signal_qci), IMS_DBG_EM_BEARER_INFO_SIGNAL_QCI_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_access_rat_valid, UINT32, VAR_VALUE(access_rat), IMS_DBG_EM_BEARER_INFO_ACCESS_RAT_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_END(ims_dbg_em_bearer_info_ind_struct, ims_dbg_em_bearer_info_tag_enum, IMS_DBG_EM_BEARER_INFO_TAG)
/*
typedef struct
{
UINT32 is_account_id_valid
UINT32 account_id;
UINT32 is_pcscf_method_valid;
imcb_pcscf_type_enum pcscf_method;
UINT32 is_pcscf_ip_addr_valid;
UINT8 pcscf_ip_addr[VOLTE_MAX_ADDRESS_LENGTH];
UINT32 is_pcscf_ip_type_valid;
imcb_bearer_pdp_addr_type_enum pcscf_ip_type;
} ims_dbg_em_pcscf_info_ind_struct;
*/
IMS_DBG_EM_DEF_BEGIN
IMS_DBG_EM_DEF_TLV_ENCODE(ims_dbg_em_pcscf_info_tlv_encode, ims_dbg_em_pcscf_info_ind_struct)
IMS_DBG_EM_DEF_VAR_TAG(is_acct_id_valid, UINT32, VAR_VALUE(acct_id), IMS_DBG_EM_PCSCF_INFO_ACCOUNT_ID_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_pcscf_method_valid, UINT32, VAR_VALUE(pcscf_method), IMS_DBG_EM_PCSCF_INFO_METHOD_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_pcscf_ip_addr_valid, UINT8, VAR_ARRAY(pcscf_ip_addr, VOLTE_MAX_ADDRESS_LENGTH), IMS_DBG_EM_PCSCF_INFO_IP_ADDR_TAG, VAR_SIZE(pcscf_ip_addr))
IMS_DBG_EM_DEF_VAR_TAG(is_pcscf_ip_type_valid, UINT32, VAR_VALUE(pcscf_ip_type), IMS_DBG_EM_PCSCF_INFO_IP_TYPE_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_END(ims_dbg_em_pcscf_info_ind_struct, ims_dbg_em_pcscf_info_tag_enum, IMS_DBG_EM_PCSCF_INFO_TAG)
/*
typedef struct
{
UINT32 is_account_id_valid
UINT32 account_id;
UINT32 is_call_id_valid;
UINT32 call_id;
UINT32 is_voice_bid_valid;
UINT32 voice_bid;
UINT32 is_video_bid_valid;
UINT32 video_bid;
} ims_dbg_em_media_info_ind_struct;
*/
IMS_DBG_EM_DEF_BEGIN
IMS_DBG_EM_DEF_TLV_ENCODE(ims_dbg_em_media_info_tlv_encode, ims_dbg_em_media_info_ind_struct)
IMS_DBG_EM_DEF_VAR_TAG(is_acct_id_valid, UINT32, VAR_VALUE(acct_id), IMS_DBG_EM_MEDIA_INFO_ACCOUNT_ID_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_call_id_valid, UINT32, VAR_VALUE(call_id), IMS_DBG_EM_MEDIA_INFO_CALL_ID_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_voice_bid_valid, UINT32, VAR_VALUE(voice_bid), IMS_DBG_EM_MEDIA_INFO_VOICE_BID_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_video_bid_valid, UINT32, VAR_VALUE(video_bid), IMS_DBG_EM_MEDIA_INFO_VIDEO_BID_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_END(ims_dbg_em_media_info_ind_struct, ims_dbg_em_media_info_tag_enum, IMS_DBG_EM_MEDIA_INFO_TAG)
IMS_DBG_EM_DEF_BEGIN
IMS_DBG_EM_DEF_TLV_ENCODE(ims_dbg_em_reg_info_tlv_encode, ims_dbg_em_reg_info_ind_struct_for_tlv)
IMS_DBG_EM_DEF_VAR_TAG(is_acct_id_valid, UINT32, VAR_VALUE(acct_id), IMS_DBG_EM_REG_INFO_ID_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_emergency_type_valid, UINT32, VAR_VALUE(emergency_type), IMS_DBG_EM_REG_INFO_EMERGENCY_TYPE_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_reg_state_valid, UINT32, VAR_VALUE(reg_state), IMS_DBG_EM_REG_INFO_REG_STATE_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_private_uid_valid, UINT8, VAR_ARRAY(private_uid, VOLTE_MAX_REG_UID_LENGTH), IMS_DBG_EM_REG_INFO_PRIVATE_UID_TAG, VAR_SIZE(private_uid))
IMS_DBG_EM_DEF_VAR_TAG(is_public_uid_valid, UINT8, VAR_ARRAY(public_uid, VOLTE_MAX_REG_UID_LENGTH), IMS_DBG_EM_REG_INFO_PUBLIC_UID_TAG, VAR_SIZE(public_uid))
IMS_DBG_EM_DEF_VAR_TAG(is_associated_uri_valid, UINT8, VAR_ARRAY(associated_uri, VOLTE_MAX_ASSOCIATED_URI), IMS_DBG_EM_REG_INFO_ASSOCIATED_URI_TAG, VAR_SIZE(associated_uri))
IMS_DBG_EM_DEF_VAR_TAG(is_em_reg_timestamp_valid, UINT8, VAR_ARRAY(em_reg_timestamp, VOLTE_MAX_TIME_STAMP_LENGTH), IMS_DBG_EM_REG_INFO_EM_REG_TIMESTAMP_TAG, VAR_SIZE(em_reg_timestamp))
IMS_DBG_EM_DEF_VAR_TAG(is_reg_expires_valid, UINT32, VAR_VALUE(reg_expires), IMS_DBG_EM_REG_INFO_REG_EXPIRES_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_ems_mode_valid, UINT32, VAR_VALUE(ems_mode), IMS_DBG_EM_REG_INFO_EMS_MODE_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_last_sip_cause_valid, UINT32, VAR_VALUE(last_sip_cause), IMS_DBG_EM_REG_INFO_LAST_SIP_CAUSE_TAG, sizeof(UINT32))
/* operatro EM */
IMS_DBG_EM_DEF_VAR_TAG(is_att_dm_type_valid, UINT32, VAR_VALUE(att_dm_type), IMS_DBG_EM_REG_INFO_ATT_DM_TYPE_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_att_reg_type_valid, UINT32, VAR_VALUE(att_reg_type), IMS_DBG_EM_REG_INFO_ATT_REG_TYPE_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_att_direction_valid, UINT32, VAR_VALUE(att_direction), IMS_DBG_EM_REG_INFO_ATT_DIRECTION_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_att_call_id_valid, UINT8, VAR_ARRAY(att_call_id, SIP_MSG_MAX_EM_CALLID_LEN), IMS_DBG_EM_REG_INFO_ATT_CALL_ID_TAG, VAR_SIZE(att_call_id))
IMS_DBG_EM_DEF_VAR_TAG(is_att_request_uri_valid, UINT8, VAR_ARRAY(att_request_uri, VOLTE_MAX_URI_LENGTH), IMS_DBG_EM_REG_INFO_ATT_REQUEST_URI_TAG, VAR_SIZE(att_request_uri))
IMS_DBG_EM_DEF_VAR_TAG(is_att_to_valid, UINT8, VAR_ARRAY(att_to, VOLTE_MAX_URI_LENGTH), IMS_DBG_EM_REG_INFO_ATT_TO_TAG, VAR_SIZE(att_to))
IMS_DBG_EM_DEF_VAR_TAG(is_att_reg_state_valid, UINT32, VAR_VALUE(att_reg_state), IMS_DBG_EM_REG_INFO_ATT_REG_STATE_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_att_reg_result_valid, UINT32, VAR_VALUE(att_reg_result), IMS_DBG_EM_REG_INFO_ATT_REG_RESULT_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_END(ims_dbg_em_reg_info_ind_struct_for_tlv, ims_dbg_em_reg_info_tag_enum, IMS_DBG_EM_REG_INFO_TAG)
/*
UINT32 is_acct_id_valid;
UINT32 acct_id;
UINT32 is_rat_type_valid;
UINT32 rat_type;
UINT32 is_abnormal_type_valid;
UINT32 abnormal_type;
UINT32 is_fail_state_valid;
UINT32 fail_state;
UINT32 is_slow_type_valid;
UINT32 slow_type;
UINT32 is_slow_timer_valid;
UINT32 slow_timer;
UINT32 is_dereg_cause_valid;
UINT32 dereg_cause;
UINT32 is_sip_cause_valid;
UINT32 sip_cause;
UINT32 is_emergency_type_valid;
UINT32 emergency_type;
UINT32 is_rereg_state_valid;
UINT32 rereg_state;
UINT32 is_clear_abnormal_valid;
UINT32 clear_abnormal;
UINT32 is_reg_fail_cause_valid;
UINT32 reg_fail_cause;
UINT32 is_report_type_valid;
UINT32 report_type;
UINT32 is_reg_fail_count_valid;
UINT32 reg_fail_count;
UINT32 is_pdn_fail_count_valid;
UINT32 pdn_fail_count;
UINT32 is_sip_fail_count_valid;
UINT32 sip_fail_count;
UINT32 is_dereg_count_valid;
UINT32 dereg_count;
} ims_dbg_em_reg_abnomal_ind_struct;
*/
IMS_DBG_EM_DEF_BEGIN
IMS_DBG_EM_DEF_TLV_ENCODE(ims_dbg_em_reg_abnormal_tlv_encode, ims_dbg_em_reg_abnormal_ind_struct)
IMS_DBG_EM_DEF_VAR_TAG(is_acct_id_valid, UINT32, VAR_VALUE(acct_id), IMS_DBG_EM_REG_ABNORMAL_ID_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_rat_type_valid, UINT32, VAR_VALUE(rat_type), IMS_DBG_EM_REG_ABNORMAL_RAT_TYPE_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_abnormal_type_valid, UINT32, VAR_VALUE(abnormal_type), IMS_DBG_EM_REG_ABNORMAL_TYPE_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_fail_state_valid, UINT32, VAR_VALUE(fail_state), IMS_DBG_EM_REG_ABNORMAL_FAIL_STATE_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_slow_type_valid, UINT32, VAR_VALUE(slow_type), IMS_DBG_EM_REG_ABNORMAL_SLOW_TYPE_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_slow_timer_valid, UINT32, VAR_VALUE(slow_timer), IMS_DBG_EM_REG_ABNORMAL_SLOW_TIMER_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_dereg_cause_valid, UINT32, VAR_VALUE(dereg_cause), IMS_DBG_EM_REG_ABNORMAL_DEREG_CAUSE_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_sip_cause_valid, UINT32, VAR_VALUE(sip_cause), IMS_DBG_EM_REG_ABNORMAL_SIP_CAUSE_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_emergency_type_valid, UINT32, VAR_VALUE(emergency_type), IMS_DBG_EM_REG_ABNORMAL_EMERGENCY_TYPE_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_rereg_state_valid, UINT32, VAR_VALUE(rereg_state), IMS_DBG_EM_REG_ABNORMAL_REREG_STATE_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_clear_abnormal_valid, UINT32, VAR_VALUE(clear_abnormal), IMS_DBG_EM_REG_ABNORMAL_CLEAR_ABNORMAL_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_reg_fail_cause_valid, UINT32, VAR_VALUE(reg_fail_cause), IMS_DBG_EM_REG_ABNORMAL_REG_FAIL_CAUSE_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_report_type_valid, UINT32, VAR_VALUE(report_type), IMS_DBG_EM_REG_ABNORMAL_REPORT_TYPE_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_reg_fail_count_valid, UINT32, VAR_VALUE(reg_fail_count), IMS_DBG_EM_REG_ABNORMAL_REG_FAIL_COUNT_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_pdn_fail_count_valid, UINT32, VAR_VALUE(pdn_fail_count), IMS_DBG_EM_REG_ABNORMAL_PDN_FAIL_COUNT_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_sip_fail_count_valid, UINT32, VAR_VALUE(sip_fail_count), IMS_DBG_EM_REG_ABNORMAL_SIP_FAIL_COUNT_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_dereg_count_valid, UINT32, VAR_VALUE(dereg_count), IMS_DBG_EM_REG_ABNORMAL_DEREG_COUNT_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_END(ims_dbg_em_reg_abnormal_ind_struct, ims_dbg_em_reg_abnormal_tag_enum, IMS_DBG_EM_REG_ABNORMAL_TAG)
/*
typedef struct
{
unsigned char is_call_id_valid;
unsigned int call_id;
unsigned char is_acct_id_valid;
unsigned int acct_id;
unsigned char is_reset_valid;
unsigned char is_reset;
unsigned char is_mt_call_valid;
unsigned char is_mt_call;
unsigned char is_precondition_valid;
unsigned char is_precondition;
unsigned char is_vops_valid;
unsigned char is_vops;
unsigned char is_call_type_valid;
int call_type; //VoLTE_Event_Call_Mode_e audio/video/emergency/conf. call
unsigned char is_call_state_valid;
int call_state; //call_session_status_enum - <?叫?态?IDLE/Dialing/TRYING/ACTIVE?
unsigned char is_failure_cause_valid;
int failure_cause; // VoLTE_Event_Mod_session_result_e, video upgrade/downgrade failure cause;
unsigned char is_sip_cause_valid;
int sip_cause; // VoLTE_Event_SIP_Cause_e
unsigned char is_net_type_valid;
int net_type; //VoLTE_Event_Network_Type_e, check VoLTE/VoWifi
unsigned char is_call_fail_cause_valid;
int call_fail_cause; //VoLTE_Event_Call_Fail_Cause_e, the reason why call fail
unsigned char is_sip_flow_valid;
char sip_flow[VOLTE_MAX_SIP_FLOW_LENGTH];
} ims_dbg_em_call_drop_ind_struct;
*/
IMS_DBG_EM_DEF_BEGIN
IMS_DBG_EM_DEF_TLV_ENCODE(ims_dbg_em_call_drop_tlv_encode, ims_dbg_em_call_drop_ind_struct)
IMS_DBG_EM_DEF_VAR_TAG(is_call_id_valid, UINT32, VAR_VALUE(call_id), IMS_DBG_EM_CALL_DROP_CALL_ID_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_acct_id_valid, UINT32, VAR_VALUE(acct_id), IMS_DBG_EM_CALL_DROP_ACCT_ID_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_reset_valid, UINT8, VAR_VALUE(is_reset), IMS_DBG_EM_CALL_DROP_RESET_TAG, sizeof(UINT8))
IMS_DBG_EM_DEF_VAR_TAG(is_mt_call_valid, UINT8, VAR_VALUE(is_mt_call), IMS_DBG_EM_CALL_DROP_MT_CALL_TAG, sizeof(UINT8))
IMS_DBG_EM_DEF_VAR_TAG(is_precondition_valid, UINT8, VAR_VALUE(is_precondition), IMS_DBG_EM_CALL_DROP_PRECONDITION_TAG, sizeof(UINT8))
IMS_DBG_EM_DEF_VAR_TAG(is_vops_valid, UINT8, VAR_VALUE(is_vops), IMS_DBG_EM_CALL_DROP_VOPS_TAG, sizeof(UINT8))
IMS_DBG_EM_DEF_VAR_TAG(is_call_type_valid, INT32, VAR_VALUE(call_type), IMS_DBG_EM_CALL_DROP_CALL_TYPE_TAG, sizeof(INT32))
IMS_DBG_EM_DEF_VAR_TAG(is_call_state_valid, INT32, VAR_VALUE(call_state), IMS_DBG_EM_CALL_DROP_CALL_STATE_TAG, sizeof(INT32))
IMS_DBG_EM_DEF_VAR_TAG(is_failure_cause_valid, INT32, VAR_VALUE(failure_cause), IMS_DBG_EM_CALL_DROP_FAILURE_CAUSE_TAG, sizeof(INT32))
IMS_DBG_EM_DEF_VAR_TAG(is_sip_cause_valid, INT32, VAR_VALUE(sip_cause), IMS_DBG_EM_CALL_DROP_SIP_CAUSE_TAG, sizeof(INT32))
IMS_DBG_EM_DEF_VAR_TAG(is_net_type_valid, INT32, VAR_VALUE(net_type), IMS_DBG_EM_CALL_DROP_NET_TYPE_TAG, sizeof(INT32))
IMS_DBG_EM_DEF_VAR_TAG(is_call_fail_cause_valid, INT32, VAR_VALUE(call_fail_cause), IMS_DBG_EM_CALL_DROP_CALL_FAIL_CAUSE_TAG, sizeof(INT32))
IMS_DBG_EM_DEF_VAR_TAG(is_sip_flow_valid, INT8, VAR_ARRAY(sip_flow, VOLTE_MAX_SIP_FLOW_LENGTH), IMS_DBG_EM_CALL_DROP_SIP_FLOW_TAG, VAR_SIZE(sip_flow))
IMS_DBG_EM_DEF_END(ims_dbg_em_call_drop_ind_struct, ims_dbg_em_call_drop_tag_enum, IMS_DBG_EM_CALL_DROP_TAG)
/*
typedef struct
{
BOOL is_acct_id_valid;
UINT8 acct_id;
BOOL is_sip_direction_valid;
UINT8 sip_direction;
BOOL is_sip_msg_type_valid;
UINT8 sip_msg_type;
BOOL is_sip_method_valid;
UINT16 sip_method;
BOOL is_sip_resp_code_valid;
UINT32 sip_resp_code;
BOOL is_event_id_valid;
UINT32 event_id;
BOOL is_failure_cause_valid;
UINT32 failure_cause;
BOOL is_call_id_valid;
UINT8 call_id;
}ims_dbg_em_ims_event_info_ind_struct;
*/
IMS_DBG_EM_DEF_BEGIN
IMS_DBG_EM_DEF_TLV_ENCODE(ims_dbg_em_ims_event_info_tlv_encode, ims_dbg_em_ims_event_info_ind_struct)
IMS_DBG_EM_DEF_VAR_TAG(is_acct_id_valid, UINT8, VAR_VALUE(acct_id), IMS_DBG_EM_IMS_EVENT_INFO_ACCT_ID_TAG, sizeof(UINT8))
IMS_DBG_EM_DEF_VAR_TAG(is_sip_direction_valid, UINT8, VAR_VALUE(sip_direction), IMS_DBG_EM_IMS_EVENT_INFO_SIP_DIRECTION_TAG, sizeof(UINT8))
IMS_DBG_EM_DEF_VAR_TAG(is_sip_msg_type_valid, UINT8, VAR_VALUE(sip_msg_type), IMS_DBG_EM_IMS_EVENT_INFO_SIP_MSG_TYPE_TAG, sizeof(UINT8))
IMS_DBG_EM_DEF_VAR_TAG(is_sip_method_valid, UINT16, VAR_VALUE(sip_method), IMS_DBG_EM_IMS_EVENT_INFO_SIP_METHOD_TAG, sizeof(UINT16))
IMS_DBG_EM_DEF_VAR_TAG(is_sip_resp_code_valid, UINT32, VAR_VALUE(sip_resp_code), IMS_DBG_EM_IMS_EVENT_INFO_SIP_RESP_CODE_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_event_id_valid, UINT32, VAR_VALUE(event_id), IMS_DBG_EM_IMS_EVENT_INFO_EVENT_ID_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_failure_cause_valid, UINT32, VAR_VALUE(failure_cause), IMS_DBG_EM_IMS_EVENT_INFO_FAILURE_CAUSE_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_call_id_valid, UINT8, VAR_VALUE(call_id), IMS_DBG_EM_IMS_EVENT_INFO_CALL_ID_TAG, sizeof(UINT8))
IMS_DBG_EM_DEF_END(ims_dbg_em_ims_event_info_ind_struct, ims_dbg_em_ims_event_info_tag_enum, IMS_DBG_EM_IMS_EVENT_INFO_TAG)
/*
typedef struct
{
unsigned char is_call_id_valid;
unsigned int call_id;
unsigned char is_acct_id_valid;
unsigned int acct_id;
unsigned char is_urn_string_valid;
char urn_string[VOLTE_MAX_URI_LENGTH];
unsigned char is_diff_ue_urn_string_valid;
char diff_ue_urn_string[VOLTE_MAX_URI_LENGTH];
unsigned char is_diff_nw_urn_string_valid;
char diff_nw_urn_string[VOLTE_MAX_URI_LENGTH];
} ims_dbg_em_call_380_drop_ind_struct;
*/
IMS_DBG_EM_DEF_BEGIN
IMS_DBG_EM_DEF_TLV_ENCODE(ims_dbg_em_call_380_drop_tlv_encode, ims_dbg_em_call_380_drop_ind_struct)
IMS_DBG_EM_DEF_VAR_TAG(is_call_id_valid, UINT32, VAR_VALUE(call_id), IMS_DBG_EM_CALL_380_DROP_CALL_ID_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_acct_id_valid, UINT32, VAR_VALUE(acct_id), IMS_DBG_EM_CALL_380_DROP_ACCT_ID_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_urn_string_valid, INT8, VAR_ARRAY(urn_string, VOLTE_MAX_URI_LENGTH), IMS_DBG_EM_CALL_380_DROP_URN_STRING_TAG, VAR_SIZE(urn_string))
IMS_DBG_EM_DEF_VAR_TAG(is_diff_ue_urn_string_valid, INT8, VAR_ARRAY(diff_ue_urn_string, VOLTE_MAX_URI_LENGTH), IMS_DBG_EM_CALL_380_DROP_DIFF_UE_URN_STRING_TAG, VAR_SIZE(diff_ue_urn_string))
IMS_DBG_EM_DEF_VAR_TAG(is_diff_nw_urn_string_valid, INT8, VAR_ARRAY(diff_nw_urn_string, VOLTE_MAX_URI_LENGTH), IMS_DBG_EM_CALL_380_DROP_DIFF_NW_URN_STRING_TAG, VAR_SIZE(diff_nw_urn_string))
IMS_DBG_EM_DEF_END(ims_dbg_em_call_380_drop_ind_struct, ims_dbg_em_call_380_drop_tag_enum, IMS_DBG_EM_CALL_380_DROP_TAG)
/*
typedef struct
{
unsigned char is_acct_id_valid;
unsigned int acct_id;
unsigned char is_timer_name_valid;
unsigned int timer_name;
unsigned char is_timer_state_valid;
unsigned int timer_state;
} ims_dbg_em_timer_info_ind_struct;
*/
IMS_DBG_EM_DEF_BEGIN
IMS_DBG_EM_DEF_TLV_ENCODE(ims_dbg_em_timer_info_tlv_encode, ims_dbg_em_timer_info_ind_struct)
IMS_DBG_EM_DEF_VAR_TAG(is_acct_id_valid, UINT32, VAR_VALUE(acct_id), IMS_DBG_EM_TIMER_INFO_ACCT_ID_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_timer_name_valid, UINT32, VAR_VALUE(timer_name), IMS_DBG_EM_TIMER_INFO_TIMER_NAME_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_VAR_TAG(is_timer_state_valid, UINT32, VAR_VALUE(timer_state), IMS_DBG_EM_TIMER_INFO_TIMER_STATE_TAG, sizeof(UINT32))
IMS_DBG_EM_DEF_END(ims_dbg_em_timer_info_ind_struct, ims_dbg_em_timer_info_tag_enum, IMS_DBG_EM_TIMER_INFO_TAG)
#undef IMS_DBG_EM_DEF_TLV_ENCODE
#undef IMS_DBG_EM_DEF_BEGIN
#undef IMS_DBG_EM_DEF_VAR_NON_TAG
#undef IMS_DBG_EM_DEF_VAR_TAG
#undef IMS_DBG_EM_DEF_END