4 * Wireshark - Network traffic analyzer
5 * By Gerald Combs <gerald@wireshark.org>
6 * Copyright 1998 Gerald Combs
8 * SPDX-License-Identifier: GPL-2.0-or-later
10 * Ref CDMA2K: 3GPP2 C.S0005-E v3.0
15 #include <epan/packet.h>
16 #include <epan/expert.h>
18 void proto_reg_handoff_cdma2k(void);
19 void proto_register_cdma2k(void);
21 /* cdma2k Handle for the dissection */
22 static dissector_handle_t cdma2k_handle
;
24 /* Function handlers for each message/information fields */
25 static void cdma2k_message_decode(proto_item
*item
,tvbuff_t
*tvb
, proto_tree
*tree
, unsigned *offset
, proto_tree
*mainTree
, uint16_t *noerror
, packet_info
*pinfo
);
26 static void cdma2k_message_REGISTRATION(proto_item
*item
, tvbuff_t
*tvb
, proto_tree
*tree
, unsigned *offset
, uint16_t oneXPrev
);
27 static void cdma2k_message_ORDER_IND(proto_item
*item
, tvbuff_t
*tvb
, proto_tree
*tree
, unsigned *offset
);
28 static void cdma2k_message_DATA_BURST_IND(proto_item
*item
, tvbuff_t
*tvb
, proto_tree
*tree
, unsigned *offset
);
29 static void cdma2k_message_ORIGINATION(proto_item
*item
, tvbuff_t
*tvb
, proto_tree
*tree
, unsigned *offset
, uint16_t authIncl
, uint16_t oneXPrev
);
30 static void cdma2k_message_PAGE_RESPONSE(proto_item
*item
, tvbuff_t
*tvb
, proto_tree
*tree
, unsigned *offset
, uint16_t authIncl
, uint16_t oneXPrev
);
31 static void cdma2k_message_AUTH_CHALL_RSP(proto_item
*item
, tvbuff_t
*tvb
, proto_tree
*tree
, unsigned *offset
);
32 static void cdma2k_message_ORDER_CMD(proto_item
*item
, tvbuff_t
*tvb
, proto_tree
*tree
, unsigned *offset
);
33 static void cdma2k_message_DATA_BURST_CMD(proto_item
*item
, tvbuff_t
*tvb
, proto_tree
*tree
, unsigned *offset
);
34 static void cdma2k_message_AUTH_CHALL_REQ(proto_item
*item
, tvbuff_t
*tvb
, proto_tree
*tree
, unsigned *offset
);
35 static void cdma2k_message_GEN_PAGE_REQ(proto_item
*item
, tvbuff_t
*tvb
, proto_tree
*tree
, unsigned *offset
, uint16_t l3PduLen
);
37 static void cdma2k_message_ADDR_FIELDS(proto_item
*item
, tvbuff_t
*tvb
, proto_tree
*tree
, uint16_t *l_offset
, uint16_t headerRecLen
);
38 static void cdma2k_message_AUTH_FIELDS(proto_item
*item
, tvbuff_t
*tvb
, proto_tree
*tree
, uint16_t *l_offset
, uint16_t headerRecLen
);
39 static void cdma2k_message_IMSI_CLASS_SUBFIELDS(proto_item
*item
, tvbuff_t
*tvb
, proto_tree
*tree
, uint16_t *l_offset
);
40 static void cdma2k_message_ALERT_WITH_INFO(proto_item
*item
,tvbuff_t
*tvb
,proto_tree
*tree
,unsigned *offset
);
41 static void cdma2k_message_HANDOFF_DIR(proto_item
*item
,tvbuff_t
*tvb
,proto_tree
*tree
,unsigned *offset
, uint16_t msgType
);
42 static void cdma2k_message_ACTIVE_SET_RECORD_FIELDS(proto_item
*item
,tvbuff_t
*tvb
,proto_tree
*subtree
,uint16_t *l_offset
, uint16_t chInd
,uint16_t schIncl
);
45 /*Initialize all the header parameters that are to be displayed*/
47 static int proto_cdma2k
;
48 static int hf_cdma2k_msghdr
;
51 static int hf_cdma2k_tlac_Record
;
52 static int hf_cdma2k_tlac_Header
;
53 static int hf_cdma2k_tlac_Channel
;
54 static int hf_cdma2k_tlac_1x_Protocol_Revision
;
55 static int hf_cdma2k_tlac_msgType
;
56 static int hf_cdma2k_tlac_Header_Record
;
57 static int hf_cdma2k_tlac_Header_Records_Count
;
58 static int hf_cdma2k_tlac_Header_Record_Type
;
59 static int hf_cdma2k_tlac_Header_Record_Length
;
60 static int hf_cdma2k_tlac_Header_Record_Values
;
61 static int hf_cdma2k_tlac_Header_Record_Reserved
;
62 static int hf_cdma2k_tlac_Pdu
;
63 static int hf_cdma2k_tlac_Pdu_Length
;
65 /* Addressing Fileds */
66 static int hf_cdma2k_tlac_Header_Record_MsId_Type
;
67 static int hf_cdma2k_tlac_Header_Record_Ext_MsId_Type
;
68 static int hf_cdma2k_tlac_Header_Record_MsId_Length
;
69 static int hf_cdma2k_tlac_Header_Record_Imsi_M_S1
;
70 static int hf_cdma2k_tlac_Header_Record_Imsi_M_S1_sec_3_dig
;
71 static int hf_cdma2k_tlac_Header_Record_Imsi_M_S1_thousand_dig
;
72 static int hf_cdma2k_tlac_Header_Record_Imsi_M_S1_last_3_dig
;
73 static int hf_cdma2k_tlac_Header_Record_Imsi_M_S2
;
74 static int hf_cdma2k_tlac_Header_Record_Esn
;
75 static int hf_cdma2k_tlac_Header_Record_Imsi_Class
;
76 static int hf_cdma2k_tlac_Header_Record_Imsi_Class0_Type
;
77 static int hf_cdma2k_tlac_Header_Record_Imsi_Class1_Type
;
78 static int hf_cdma2k_tlac_Header_Record_Imsi_S2
;
79 static int hf_cdma2k_tlac_Header_Record_Imsi_S1
;
80 static int hf_cdma2k_tlac_Header_Record_Imsi_11_12
;
81 static int hf_cdma2k_tlac_Header_Record_MCC
;
82 static int hf_cdma2k_tlac_Header_Record_Imsi_Addr_Num
;
83 static int hf_cdma2k_tlac_Header_Record_Ext_MsId_MeId
;
84 static int hf_cdma2k_tlac_Header_Record_Tmsi_Code_Addr
;
85 static int hf_cdma2k_tlac_Header_Record_Tmsi_Zone
;
87 /* Authentication Fields */
88 static int hf_cdma2k_tlac_Header_Record_Mac_Incl
;
89 static int hf_cdma2k_tlac_Header_Record_Auth_Incl
;
90 static int hf_cdma2k_tlac_Header_Record_Authr
;
91 static int hf_cdma2k_tlac_Header_Record_Randc
;
92 static int hf_cdma2k_tlac_Header_Record_Count
;
93 static int hf_cdma2k_tlac_Header_Record_Sdu_KeyId
;
94 static int hf_cdma2k_tlac_Header_Record_Sdu_Algo
;
95 static int hf_cdma2k_tlac_Header_Record_Sdu_Sseq
;
96 static int hf_cdma2k_tlac_Header_Record_Sdu_Sseqh
;
97 static int hf_cdma2k_tlac_Header_Record_Sdu_Sseq_Or_Sseqh
;
100 static int hf_cdma2k_RegMsg
;
101 static int hf_cdma2k_OrderIndMsg
;
102 static int hf_cdma2k_DataBurstIndMsg
;
103 static int hf_cdma2k_OrigMsg
;
104 static int hf_cdma2k_PageRspMsg
;
105 static int hf_cdma2k_AuthChallRspMsg
;
106 static int hf_cdma2k_DataBurstCmdMsg
;
107 static int hf_cdma2k_AuthChallReqMsg
;
108 static int hf_cdma2k_GenPageReqMsg
;
109 static int hf_cdma2k_AlertWithInfoMsg
;
110 static int hf_cdma2k_UhdmMsg
;
111 static int hf_cdma2k_MeIdUhdmMsg
;
112 static int hf_cdma2k_ext_scm_ind
;
114 /* Registration Msg Parms */
115 static int hf_cdma2k_Reg_Type
;
116 static int hf_cdma2k_Slot_Cycle_Index
;
117 static int hf_cdma2k_Mob_P_Rev
;
118 static int hf_cdma2k_Ext_Scm
;
119 static int hf_cdma2k_Sloted_Mode
;
120 static int hf_cdma2k_Mob_Term
;
121 static int hf_cdma2k_Return_Cause
;
122 static int hf_cdma2k_Qpch_Supported
;
123 static int hf_cdma2k_Enhanced_Rc
;
124 static int hf_cdma2k_Uzid_Incl
;
125 static int hf_cdma2k_Uzid
;
126 static int hf_cdma2k_GeoLoc_Incl
;
127 static int hf_cdma2k_GeoLoc_Type
;
129 /* Order Ind Msg Parms */
130 static int hf_cdma2k_Order_Ind
;
131 static int hf_cdma2k_Randbs
;
132 static int hf_cdma2k_Rejected_Type
;
133 static int hf_cdma2k_Rejected_Order
;
134 static int hf_cdma2k_Rejected_Ordq
;
135 static int hf_cdma2k_Rejected_Parm_Id
;
136 static int hf_cdma2k_Rejected_Record
;
137 static int hf_cdma2k_Tag
;
139 static int hf_cdma2k_Rsc_Mode_Ind
;
140 static int hf_cdma2k_Rsci
;
141 static int hf_cdma2k_Rsc_End_Time_Unit
;
142 static int hf_cdma2k_Rsc_End_Time_Value
;
144 /* Order Cmd Msg Parms */
145 static int hf_cdma2k_Order_Cmd
;
146 static int hf_cdma2k_Authbs
;
147 static int hf_cdma2k_Roam_Ind
;
148 static int hf_cdma2k_C_Sig_Encrypt_Mode
;
149 static int hf_cdma2k_Enc_Key_Size
;
150 static int hf_cdma2k_Msg_Int_Info_Incl
;
151 static int hf_cdma2k_Change_Keys
;
152 static int hf_cdma2k_Use_Uak
;
154 static int hf_cdma2k_Retry_Type
;
155 static int hf_cdma2k_Retry_Delay
;
156 static int hf_cdma2k_Reject_Reason
;
157 static int hf_cdma2k_Rejected_Msg_Type
;
158 static int hf_cdma2k_Rejected_Msg_Seq
;
160 /* BCMC Order type */
161 static int hf_cdma2k_All_Bcmc_Flows_Ind
;
162 static int hf_cdma2k_Clear_All_Retry_Delay
;
163 static int hf_cdma2k_All_Bcmc_Reason
;
164 static int hf_cdma2k_All_Bcmc_Retry_Delay
;
165 static int hf_cdma2k_Num_Bcmc_Programs
;
166 static int hf_cdma2k_Bcmc_Program_Id_Len
;
167 static int hf_cdma2k_Bcmc_Program_Id
;
168 static int hf_cdma2k_Bcmc_Flow_Discriminator_Len
;
169 static int hf_cdma2k_Num_Flow_Discriminator
;
170 static int hf_cdma2k_Bcmc_Flow_Discriminator
;
171 static int hf_cdma2k_Same_As_Previous_Bcmc_Flow
;
172 static int hf_cdma2k_Bcmc_Reason
;
173 static int hf_cdma2k_Bcmc_Retry_Delay
;
175 static int hf_cdma2k_Rsc_Mode_Supported
;
176 static int hf_cdma2k_Max_Rsc_End_Time_Unit
;
177 static int hf_cdma2k_Max_Rsc_End_Time_Value
;
178 static int hf_cdma2k_Req_Rsci
;
179 static int hf_cdma2k_Ignore_Qpch
;
180 static int hf_cdma2k_Rer_Mode_Incl
;
181 static int hf_cdma2k_Rer_Mode_Enabled
;
182 static int hf_cdma2k_Rer_Max_Num_Msg_Idx
;
183 static int hf_cdma2k_Rer_Time
;
184 static int hf_cdma2k_Rer_Time_Unit
;
185 static int hf_cdma2k_Max_Rer_Pilot_List_Size
;
186 static int hf_cdma2k_Tkz_Mode_Incl
;
187 static int hf_cdma2k_Tkz_Mode_Enabled
;
188 static int hf_cdma2k_Tkz_Max_Num_Msg_Idx
;
189 static int hf_cdma2k_Tkz_Update_Prd
;
190 static int hf_cdma2k_Tkz_List_Len
;
191 static int hf_cdma2k_Tkz_Timer
;
193 /* Service Status Order */
194 static int hf_cdma2k_Sr_Id_Bitmap
;
195 static int hf_cdma2k_Service_Status
;
197 /* Location Service Order */
198 static int hf_cdma2k_Regulatory_Ind_Incl
;
199 static int hf_cdma2k_Regulatory_Ind
;
200 /* Order Msg Parms */
201 static int hf_cdma2k_Add_Record_Len
;
202 static int hf_cdma2k_Order_Specific_Fields
;
203 static int hf_cdma2k_Ordq
;
204 static int hf_cdma2k_Con_Ref
;
206 /* Data Burst Msg Parms */
207 static int hf_cdma2k_Msg_Number
;
208 static int hf_cdma2k_Burst_Type
;
209 static int hf_cdma2k_Num_Msgs
;
210 static int hf_cdma2k_Num_Fields
;
211 static int hf_cdma2k_Chari_Data
;
212 static int hf_cdma2k_Msg_Identifier
;
213 static int hf_cdma2k_Parm_Id
;
214 static int hf_cdma2k_Parm_Length
;
215 static int hf_cdma2k_Parm_Value
;
217 /* Origination and Page Response Msg Parms */
218 static int hf_cdma2k_Request_Mode
;
219 static int hf_cdma2k_Special_Service
;
220 static int hf_cdma2k_pm
;
221 static int hf_cdma2k_digit_mode
;
222 static int hf_cdma2k_More_Fields
;
223 static int hf_cdma2k_Nar_An_Cap
;
224 static int hf_cdma2k_Paca_Reorig
;
225 static int hf_cdma2k_More_Records
;
226 static int hf_cdma2k_encryption_supported
;
227 static int hf_cdma2k_Paca_Supported
;
228 static int hf_cdma2k_num_alt_so
;
229 static int hf_cdma2k_DRS
;
230 static int hf_cdma2k_SR_ID
;
231 static int hf_cdma2k_Otd_Supported
;
232 static int hf_cdma2k_For_Rc_Pref
;
233 static int hf_cdma2k_Rev_Rc_Pref
;
234 static int hf_cdma2k_Fch_Supported
;
235 static int hf_cdma2k_Fch_capability_type_specific_Fields
;
236 static int hf_cdma2k_Fch_Frame_Size
;
237 static int hf_cdma2k_For_Fch_Len
;
238 static int hf_cdma2k_For_Fch_Rc_Map
;
239 static int hf_cdma2k_Rev_Fch_Len
;
240 static int hf_cdma2k_Rev_Fch_Rc_Map
;
241 static int hf_cdma2k_Dcch_capability_type_specific_Fields
;
242 static int hf_cdma2k_Dcch_Frame_Size
;
243 static int hf_cdma2k_For_Dcch_Len
;
244 static int hf_cdma2k_For_Dcch_Rc_Map
;
245 static int hf_cdma2k_Rev_Dcch_Len
;
246 static int hf_cdma2k_Rev_Dcch_Rc_Map
;
247 static int hf_cdma2k_Rev_Fch_Gating_Req
;
248 static int hf_cdma2k_Orig_Reason
;
249 static int hf_cdma2k_Orig_Count
;
250 static int hf_cdma2k_Sts_Supported
;
251 static int hf_cdma2k_ThreeXCchSupported
;
252 static int hf_cdma2k_Wll_Incl
;
253 static int hf_cdma2k_Wll_Device_Type
;
254 static int hf_cdma2k_Global_Emergency_Call
;
255 static int hf_cdma2k_Ms_Init_Pos_Loc_Ind
;
256 static int hf_cdma2k_Qos_Parms_Incl
;
257 static int hf_cdma2k_Qos_Parms_Length
;
258 static int hf_cdma2k_Qos_Parms
;
259 static int hf_cdma2k_Enc_Info_Incl
;
260 static int hf_cdma2k_Sig_Encrypt_Supp
;
261 static int hf_cdma2k_DSig_Encrypt_Req
;
262 static int hf_cdma2k_CSig_Encrypt_Req
;
263 static int hf_cdma2k_New_Sseq_H
;
264 static int hf_cdma2k_New_Sseq_H_Sig
;
265 static int hf_cdma2k_Ui_Encrypt_Req
;
266 static int hf_cdma2k_Prev_Sid_Incl
;
267 static int hf_cdma2k_Prev_Sid
;
268 static int hf_cdma2k_Prev_Nid_Incl
;
269 static int hf_cdma2k_Prev_Nid
;
270 static int hf_cdma2k_Prev_Pzid_Incl
;
271 static int hf_cdma2k_Prev_Pzid
;
272 static int hf_cdma2k_So_Bitmap_Ind
;
273 static int hf_cdma2k_So_Group_Num
;
274 static int hf_cdma2k_So_Bitmap
;
275 static int hf_cdma2k_Alt_So
;
276 static int hf_cdma2k_Dcch_Supported
;
277 static int hf_cdma2k_Hook_Status
;
279 /* Auth Chall Rsp Msg Parms */
280 static int hf_cdma2k_Authu
;
282 /* Auth Chall Req Msg Parms */
283 static int hf_cdma2k_Randu
;
284 static int hf_cdma2k_Gen_Cmea_Key
;
286 /* Gen Page Req Msg Parms */
287 static int hf_cdma2k_service_option
;
289 /* Handoff Dir Msg Parms */
290 static int hf_cdma2k_Use_Time
;
291 static int hf_cdma2k_Action_Time
;
292 static int hf_cdma2k_Hdm_Seq
;
293 static int hf_cdma2k_Parms_Incl
;
294 static int hf_cdma2k_P_Rev
;
295 static int hf_cdma2k_Serv_Neg_Type
;
296 static int hf_cdma2k_Search_Incl
;
297 static int hf_cdma2k_Pilot_Search
;
298 static int hf_cdma2k_Srch_Win_A
;
299 static int hf_cdma2k_Srch_Win_N
;
300 static int hf_cdma2k_Srch_Win_R
;
301 static int hf_cdma2k_T_Add
;
302 static int hf_cdma2k_T_Drop
;
303 static int hf_cdma2k_T_Comp
;
304 static int hf_cdma2k_T_Tdrop
;
305 static int hf_cdma2k_Soft_Slope
;
306 static int hf_cdma2k_Add_Intercept
;
307 static int hf_cdma2k_Drop_Intercept
;
308 static int hf_cdma2k_Extra_Parms_Incl
;
309 static int hf_cdma2k_Extra_Parms
;
310 static int hf_cdma2k_Packet_Zone_Id
;
311 static int hf_cdma2k_Frame_Offset
;
312 static int hf_cdma2k_Private_Lcm
;
313 static int hf_cdma2k_Reset_L2
;
314 static int hf_cdma2k_Reset_Fpc
;
315 static int hf_cdma2k_Encrypt_Mode
;
316 static int hf_cdma2k_Nom_Pwr_Ext
;
317 static int hf_cdma2k_Nom_Pwr
;
318 static int hf_cdma2k_Rlgain_Traffic_Pilot
;
319 static int hf_cdma2k_Default_Rlag
;
320 static int hf_cdma2k_Num_Preamble
;
321 static int hf_cdma2k_Band_Class
;
322 static int hf_cdma2k_Cdma_Freq
;
323 static int hf_cdma2k_Return_If_Handoff_Fail
;
324 static int hf_cdma2k_Complete_Search
;
325 static int hf_cdma2k_Periodic_Search
;
326 static int hf_cdma2k_Scr_Incl
;
327 static int hf_cdma2k_Scr
;
328 static int hf_cdma2k_Serv_Con_Seq
;
329 static int hf_cdma2k_Record_Type
;
330 static int hf_cdma2k_Record_Len
;
331 static int hf_cdma2k_Type_Specific_Fields
;
332 static int hf_cdma2k_Nnscr_Incl
;
333 static int hf_cdma2k_Nnscr
;
334 static int hf_cdma2k_Use_Pwr_Cntl_Step
;
335 static int hf_cdma2k_Pwr_Cntl_Step
;
336 static int hf_cdma2k_Clear_Retry_Delay
;
337 static int hf_cdma2k_Sch_Incl
;
338 static int hf_cdma2k_Sch
;
339 static int hf_cdma2k_Num_For_Assign
;
340 static int hf_cdma2k_Record_For_Assign
;
341 static int hf_cdma2k_Sch_Id
;
342 static int hf_cdma2k_Sch_Duration
;
343 static int hf_cdma2k_Sch_Start_Time_Incl
;
344 static int hf_cdma2k_Sch_Start_Time
;
345 static int hf_cdma2k_Sccl_Index
;
346 static int hf_cdma2k_Num_Rev_Assign
;
347 static int hf_cdma2k_Record_Rev_Assign
;
348 static int hf_cdma2k_Sch_Num_Bits_Idx
;
349 static int hf_cdma2k_Fpc_Subchain_Gain
;
350 static int hf_cdma2k_Use_Pc_Time
;
351 static int hf_cdma2k_Pc_Action_Time
;
352 static int hf_cdma2k_Ch_Ind
;
353 static int hf_cdma2k_Active_Set_Rec_Len
;
354 static int hf_cdma2k_Active_Set_Rec_Fields
;
355 static int hf_cdma2k_Rev_Fch_Gating_Mode
;
356 static int hf_cdma2k_Rev_Pwr_Cntl_Delay_Incl
;
357 static int hf_cdma2k_Rev_Pwr_Cntl_Delay
;
358 static int hf_cdma2k_D_Sig_Encrypt_Mode
;
359 static int hf_cdma2k_3xfl_1xrl_Incl
;
360 static int hf_cdma2k_1xrl_Freq_Offset
;
361 static int hf_cdma2k_Sync_Id_Incl
;
362 static int hf_cdma2k_Sync_Id_Len
;
363 static int hf_cdma2k_Sync_Id
;
364 static int hf_cdma2k_Cc_Info_Incl
;
365 static int hf_cdma2k_Num_Calls_Assign
;
366 static int hf_cdma2k_Record_Calls_Assign
;
367 static int hf_cdma2k_Response_Ind
;
368 static int hf_cdma2k_Bypass_Alert_Answer
;
369 static int hf_cdma2k_Cs_Supported
;
370 static int hf_cdma2k_Chm_Supported
;
371 static int hf_cdma2k_Cdma_Off_Time_Rep_Sup_Ind
;
372 static int hf_cdma2k_Cdma_Off_Time_Rep_Threshold_Unit
;
373 static int hf_cdma2k_Cdma_Off_Time_Rep_Threshold
;
374 static int hf_cdma2k_Release_To_Idle_Ind
;
375 static int hf_cdma2k_Msg_Integrity_Sup
;
376 static int hf_cdma2k_Gen_2g_Key
;
377 static int hf_cdma2k_Register_In_Idle
;
378 static int hf_cdma2k_Plcm_Type_Incl
;
379 static int hf_cdma2k_Plcm_Type
;
380 static int hf_cdma2k_Plcm_39
;
381 static int hf_cdma2k_T_Tdrop_Range_Incl
;
382 static int hf_cdma2k_T_Tdrop_Range
;
383 static int hf_cdma2k_For_Pdch_Supported
;
384 static int hf_cdma2k_Pdch_Chm_Supported
;
385 static int hf_cdma2k_Pilot_Info_Req_Supported
;
386 static int hf_cdma2k_Enc_Supported
;
387 static int hf_cdma2k_Sig_Encrypt_Sup
;
388 static int hf_cdma2k_Ui_Encrypt_Sup
;
389 static int hf_cdma2k_Use_Sync_Id
;
390 static int hf_cdma2k_Sid_Incl
;
391 static int hf_cdma2k_Sid
;
392 static int hf_cdma2k_Nid_Incl
;
393 static int hf_cdma2k_Nid
;
394 static int hf_cdma2k_Sdb_Supported
;
395 static int hf_cdma2k_Mob_Qos
;
396 static int hf_cdma2k_Ms_Init_Pos_Loc_Sup_Ind
;
397 static int hf_cdma2k_Rev_Pdch_Supported
;
398 static int hf_cdma2k_Pz_Hyst_Enabled
;
399 static int hf_cdma2k_Pz_Hyst_Info_Incl
;
400 static int hf_cdma2k_Pz_Hyst_List_Len
;
401 static int hf_cdma2k_Pz_Hyst_Act_Timer
;
402 static int hf_cdma2k_Pz_Hyst_Timer_Mul
;
403 static int hf_cdma2k_Pz_Hyst_Timer_Exp
;
404 static int hf_cdma2k_Bcmc_On_Traffic_Sup
;
405 static int hf_cdma2k_Auto_Re_Traffic_Allowed_Ind
;
406 static int hf_cdma2k_Sch_Bcmc_Ind
;
407 static int hf_cdma2k_Add_Plcm_For_Sch_Incl
;
408 static int hf_cdma2k_Add_Plcm_For_Sch_Type
;
409 static int hf_cdma2k_Add_Plcm_For_Sch_35
;
410 static int hf_cdma2k_Record_Sch_Bcmc
;
411 static int hf_cdma2k_Use_Add_Plcm_For_Sch
;
412 static int hf_cdma2k_Fsch_Outercode_Incl
;
413 static int hf_cdma2k_Fsch_Outercode_Rate
;
414 static int hf_cdma2k_Fsch_Outercode_Offset
;
415 static int hf_cdma2k_Max_Add_Serv_Instance
;
416 static int hf_cdma2k_Use_Ch_Cfg_Rrm
;
417 static int hf_cdma2k_Tx_Pwr_Limit_Incl
;
418 static int hf_cdma2k_Tx_Pwr_Limit_Default
;
419 static int hf_cdma2k_Tx_Pwr_Limit
;
421 /* Active Set Record Fields of Handoff Direction Message*/
422 static int hf_cdma2k_Num_For_Sch
;
423 static int hf_cdma2k_Record_For_Sch
;
424 static int hf_cdma2k_Num_Rev_Sch
;
425 static int hf_cdma2k_Record_Rev_Sch
;
426 static int hf_cdma2k_Walsh_Id
;
427 static int hf_cdma2k_Num_Pilots
;
428 static int hf_cdma2k_Srch_Offset_Incl
;
429 static int hf_cdma2k_Record_Pilots
;
430 static int hf_cdma2k_Pilot_Pn
;
431 static int hf_cdma2k_Srch_Offset
;
432 static int hf_cdma2k_Add_Pilot_Rec_Incl
;
433 static int hf_cdma2k_Pilot_Rec_Type
;
434 static int hf_cdma2k_Pwr_Comb_Ind
;
435 static int hf_cdma2k_Code_Chan_Fch
;
436 static int hf_cdma2k_Qof_Mask_Id_Fch
;
437 static int hf_cdma2k_Num_Sch
;
438 static int hf_cdma2k_Record_Sch
;
439 static int hf_cdma2k_Pilot_Incl
;
440 static int hf_cdma2k_Code_Chan_Sch
;
441 static int hf_cdma2k_Qof_Mask_Id_Sch
;
442 static int hf_cdma2k_3xFch_Info_Incl
;
443 static int hf_cdma2k_3xFch_Low_Incl
;
444 static int hf_cdma2k_Qof_Mask_Id_Fch_Low
;
445 static int hf_cdma2k_Code_Chan_Fch_Low
;
446 static int hf_cdma2k_3xFch_High_Incl
;
447 static int hf_cdma2k_Qof_Mask_Id_Fch_High
;
448 static int hf_cdma2k_Code_Chan_Fch_High
;
449 static int hf_cdma2k_3xSch_Info_Incl
;
450 static int hf_cdma2k_3xSch_Low_Incl
;
451 static int hf_cdma2k_Qof_Mask_Id_Sch_Low
;
452 static int hf_cdma2k_Code_Chan_Sch_Low
;
453 static int hf_cdma2k_3xSch_High_Incl
;
454 static int hf_cdma2k_Qof_Mask_Id_Sch_High
;
455 static int hf_cdma2k_Code_Chan_Sch_High
;
456 static int hf_cdma2k_Ccsh_Included
;
457 static int hf_cdma2k_Use_Ccsh_Encoder_Time
;
458 static int hf_cdma2k_Ccsh_Encoder_Action_Time
;
459 static int hf_cdma2k_Ccsh_Encoder_Type
;
460 static int hf_cdma2k_Code_Chan_Dcch
;
461 static int hf_cdma2k_Qof_Mask_Id_Dcch
;
462 static int hf_cdma2k_3xDcch_Info_Incl
;
463 static int hf_cdma2k_3xDcch_Low_Incl
;
464 static int hf_cdma2k_Qof_Mask_Id_Dcch_Low
;
465 static int hf_cdma2k_Code_Chan_Dcch_Low
;
466 static int hf_cdma2k_3xDcch_High_Incl
;
467 static int hf_cdma2k_Qof_Mask_Id_Dcch_High
;
468 static int hf_cdma2k_Code_Chan_Dcch_High
;
469 static int hf_cdma2k_Fundicated_Bcmc_Ind
;
470 static int hf_cdma2k_For_Cpcch_Walsh
;
471 static int hf_cdma2k_For_Cpcsch
;
472 static int hf_cdma2k_Rev_Fch_Assigned
;
473 static int hf_cdma2k_Add_Plcm_For_Fch_Incl
;
474 static int hf_cdma2k_Add_Plcm_For_Fch_Type
;
475 static int hf_cdma2k_Add_Plcm_For_Fch_39
;
476 static int hf_cdma2k_For_Cpcch_Info_Incl
;
478 /* Alert With Info Msg Parms */
480 static int hf_cdma2k_Info_Rec
;
481 static int hf_cdma2k_Chari
;
482 static int hf_cdma2k_Number_Type
;
483 static int hf_cdma2k_Number_Plan
;
484 static int hf_cdma2k_Pres_Indicator
;
485 static int hf_cdma2k_Scr_Indicator
;
486 static int hf_cdma2k_Signal_Type
;
487 static int hf_cdma2k_Alert_Pitch
;
488 static int hf_cdma2k_Signal
;
489 static int hf_cdma2k_Msg_Count
;
490 static int hf_cdma2k_Extension_Bit
;
491 static int hf_cdma2k_Subaddress_Type
;
492 static int hf_cdma2k_Odd_Even_Ind
;
493 static int hf_cdma2k_Redirection_Reason
;
494 static int hf_cdma2k_Pulse_Freq
;
495 static int hf_cdma2k_Pulse_On_Time
;
496 static int hf_cdma2k_Pulse_Off_Time
;
497 static int hf_cdma2k_Pulse_Count
;
498 static int hf_cdma2k_Cadence_Count
;
499 static int hf_cdma2k_Num_Grps
;
500 static int hf_cdma2k_Amplitude
;
501 static int hf_cdma2k_Freq
;
502 static int hf_cdma2k_On_Time
;
503 static int hf_cdma2k_Off_Time
;
504 static int hf_cdma2k_Repeat
;
505 static int hf_cdma2k_Delay
;
506 static int hf_cdma2k_Cadence_Type
;
507 static int hf_cdma2k_Polarity_Incl
;
508 static int hf_cdma2k_Toggle_Mode
;
509 static int hf_cdma2k_Reverse_Polarity
;
510 static int hf_cdma2k_Pwr_Denial_Time
;
511 static int hf_cdma2k_Call_Waiting_Ind
;
513 static int hf_cdma2k_Reserved
;
515 static int hf_cdma2k_Cmea
;
516 static int hf_cdma2k_Ecmea
;
517 static int hf_cdma2k_Rea
;
519 static int hf_cdma2k_scm_dual_mode
;
520 static int hf_cdma2k_scm_slotted_class
;
521 static int hf_cdma2k_scm_meid_sup
;
522 static int hf_cdma2k_scm_25mhz_bw
;
523 static int hf_cdma2k_scm_trans
;
524 static int hf_cdma2k_scm_pow_class
;
526 static expert_field ei_cdma2k_error
;
528 /* Toggle sub-tree items */
529 static int ett_cdma2k_msghdr
;
530 static int ett_cdma2k_subtree
;
531 static int ett_cdma2k_subtree1
;
532 static int ett_cdma2k_subtree2
;
533 static int ett_cdma2k_m_s1
;
534 static int ett_cdma2000_scm
;
536 #define CDMA2KRegIndMsg 0x01
537 #define CDMA2KOrderIndMsg 0x02
538 #define CDMA2KDataBurstIndMsg 0x03
539 #define CDMA2KOrigIndMsg 0x04
540 #define CDMA2KPageResponseMsg 0x05
541 #define CDMA2KAuthChallRspMsg 0x06
542 #define CDMA2KOrderCmdMsg 0x07
543 #define CDMA2KDataBurstCmdMsg 0x09
544 #define CDMA2KAuthChallReqMsg 0x0A
545 #define CDMA2KGenPageReqMsg 0x11
547 #define CDMA2KAlertWithInfoMsg 0x03
548 #define CDMA2KUniversalHandoffDirectionMsg 0x22
549 #define CDMA2KMeIdUniversalHandoffDirectionMsg 0x35
551 /* CDMA2K Msg Types */
552 static const value_string Cdma2k_Message_types
[] = {
553 { 0x01, "CDMA2KRegIndMsg" },
554 { 0x02, "CDMA2KOrderIndMsg"},
555 { 0x03, "CDMA2KDataBurstIndMsg"},
556 { 0x04, "CDMA2KOrigIndMsg"},
557 { 0x05, "CDMA2KPageResponseMsg"},
558 { 0x06, "CDMA2KAuthChallRspMsg"},
559 { 0x07, "CDMA2KOrderCmdMsg"},
560 { 0x09, "CDMA2KDataBurstCmdMsg"},
561 { 0x0A, "CDMA2KAuthChallReqMsg"},
562 { 0x11, "CDMA2KGenPageReqMsg"},
567 Currently
not used
??
568 /* CDMA2K Msg Types specific to dedicated channel*/
569 static const value_string Cdma2k_Dcsh_Message_types
[] = {
570 { 0x03, "CDMA2KAlertWithInfoMsg" },
571 { 0x22, "CDMA2KUniversalHandoffDirectionMsg"},
572 { 0x35, "CDMA2KMeIdUniversalHandoffDirectionMsg"},
577 /* TLAC Channel Types */
578 static const value_string Channel_Types
[] = {
579 { 0, "CSCH_LOGICAL_CHANNEL" },
580 { 1, "DSCH_LOGICAL_CHANNEL" },
585 /* TLAC Header Record Types */
586 static const value_string Header_Record_Types
[] = {
587 { 0, "ADDRESSING_SUBLAYER_RECORD_TYPE" },
588 { 1, "AUTH_INTEGRITY_SUBLAYER_RECORD_TYPE" },
594 static const value_string MsId_Address_Types
[] = {
595 { 0, "IMSI_S_ESN_MSID" },
598 { 3, "IMSI_ESN_MSID" },
599 { 4, "EXTENDED_MSID" },
601 { 6, "MAX_MSID_ADD" },
606 /* Extended MsId Types */
607 static const value_string Ext_MsId_Address_Types
[] = {
608 { 0, "EXTENDED_MSID_MEID" },
609 { 1, "EXTENDED_MSID_IMSI_MEID" },
610 { 2, "EXTENDED_MSID_IMSI_ESN_MEID" },
611 { 3, "MAX_EXTENDED_MSID_ADDRESS_TYPE" },
617 static const value_string Imsi_Class
[] = {
618 { 0, "IMSI_CLASS_0_TYPE" },
619 { 1, "IMSI_CLASS_1_TYPE" },
624 /* Imsi Class0 Types */
625 static const value_string Imsi_Class0_Types
[] = {
626 { 0, "IMSI_CLASS_0_IMSI_S" },
627 { 1, "IMSI_CLASS_0_IMSI_S_IMSI_11_12" },
628 { 2, "IMSI_CLASS_0_IMSI_S_MCC" },
629 { 3, "IMSI_CLASS_0_IMSI_S_IMSI_11_12_MCC" },
634 /* Imsi Class1 Types */
635 static const value_string Imsi_Class1_Types
[] = {
636 { 0, "IMSI_CLASS_1_IMSI_S_IMSI_11_12" },
637 { 1, "IMSI_CLASS_1_IMSI_S_IMSI_11_12_MCC" },
642 /* CDMA2K Reg Types */
643 static const value_string Reg_Types
[] = {
644 { 0, "TIMER_BASED" },
648 { 4, "PARAMETER_CHANGE" },
650 { 6, "DISTANCE_BASED" },
651 { 7, "USERZONE_BASED" },
652 { 8, "ENCRYPTION_RESYNC_REQUIRED" },
653 { 9, "BCMC_REGISTRATION" },
658 /* CDMA2K DB Chari Msg Identifier Types */
659 static const value_string Chari_Identifier_Types
[] = {
667 /* CDMA2K DB Chari Parameter Types */
668 static const value_string Chari_Parm_Types
[] = {
669 { 0, "TELE_SERVICE_637" },
670 { 1, "BROADCAST_SERVICE_637" },
671 { 2, "ORIGINATION_ADDRESS_637" },
672 { 3, "ORIGINATION_SUBADDRESS_637" },
673 { 4, "DESTINATION_ADDRESS_637" },
674 { 5, "DESTINATION_SUBADDRESS_637" },
675 { 6, "BEARER_REPLY_637" },
676 { 7, "CAUSE_CODE_637" },
677 { 8, "BEARER_DATA_637" },
682 /* CDMA2K Page Req Service Option Types */
683 static const value_string Page_Req_Service_Option_Types
[] = {
684 { 0x0000, "INVALID" },
685 { 1, "Basic Variable Rate Voice Service (8 kbps)" },
686 { 2, "Mobile Station Loopback (8 kbps)" },
687 { 3, "Enhanced Variable Rate Voice Service (8 kbps)" },
688 { 4, "Asynchronous Data Service (9.6 kbps)" },
689 { 5, "Group 3 Facsimile (9.6 kbps)" },
690 { 6, "Short Message Services (Rate Set 1)" },
691 { 7, "Packet Data Service: Internet or ISO Protocol Stack (9.6 kbps)" },
692 { 8, "Packet Data Service: CDPD Protocol Stack (9.6 kbps)" },
693 { 9, "Mobile Station Loopback (13 kbps)" },
694 {10, "None STU-III Transparent Service" },
695 {11, "None STU-III Non-Transparent Service" },
696 {12, "Asynchronous Data Service (14.4 or 9.6 kbps)" },
697 {13, "Group 3 Facsimile (14.4 or 9.6 kbps)" },
698 {14, "Short Message Services (Rate Set 2)" },
699 {15, "Packet Data Service: Internet or ISO Protocol Stack (14.4 kbps)" },
700 {16, "Packet Data Service: CDPD Protocol Stack (14.4 kbps)" },
701 {17, "High Rate Voice Service (13 kbps)" },
702 {18, "Over-the-Air Parameter Administration (Rate Set 1)" },
703 {19, "Over-the-Air Parameter Administration (Rate Set 2)" },
704 {20, "Group 3 Analog Facsimile (Rate Set 1)" },
705 {21, "Group 3 Analog Facsimile (Rate Set 2) " },
706 {22, "High Speed Packet Data Service: Internet or ISO Protocol Stack (RS1 forward, RS1 reverse)" },
707 {23, "High Speed Packet Data Service: Internet or ISO Protocol Stack (RS1 forward, RS2 reverse)" },
710 {24, "High Speed Packet Data Service: Internet or ISO Protocol Stack (RS2 forward, RS1 reverse)" },
711 {25, "High Speed Packet Data Service: Internet or ISO Protocol Stack (RS2 forward, RS2 reverse)" },
712 {26, "High Speed Packet Data Service: CDPD Protocol Stack (RS1 forward, RS1 reverse)" },
713 {27, "High Speed Packet Data Service: CDPD Protocol Stack (RS1 forward, RS2 reverse)" },
714 {28, "High Speed Packet Data Service: CDPD Protocol Stack (RS2 forward, RS1 reverse)" },
715 {29, "High Speed Packet Data Service: CDPD Protocol Stack (RS2 forward, RS2 reverse)" },
716 {30, "Supplemental Channel Loopback Test for Rate Set 1" },
717 {31, "Supplemental Channel Loopback Test for Rate Set 2" },
718 {32, "Test Data Service Option (TDSO)" },
719 {33, "cdma2000 High Speed Packet Data Service, Internet or ISO Protocol Stack" },
720 {34, "cdma2000 High Speed Packet Data Service, CDPD Protocol Stack" },
721 {35, "Location Services, Rate Set 1 (9.6 kbps)" },
722 {36, "Location Services, Rate Set 2 (14.4 kbps)" },
723 {37, "ISDN Interworking Service (64 kbps)" },
725 {39, "GSM Circuit Data" },
726 {40, "GSM Packet Data" },
727 {41, "GSM Short Message Service" },
728 //42 - 53 None Reserved for MC-MAP standard service options
729 {54, "Markov Service Option (MSO)" },
730 {55, "Loopback Service Option (LSO)" },
731 {56, "Selectable Mode Vocoder" },
734 {57, "32 kbps Circuit Video Conferencing" },
735 {58, "64 kbps Circuit Video Conferencing" },
736 {59, "HRPD Packet Data Service" },
737 {60, "Link Layer Assisted Robust Header Compression (LLA ROHC) - Header Removal" },
738 {61, "Link Layer Assisted Robust Header Compression (LLA ROHC) - Header Compression" },
739 {62, "Source-Controlled Variable-Rate Multimode Wideband Speech Codec (VMR-WB) Rate Set 2" },
740 {63, "Source-Controlled Variable-Rate Multimode Wideband Speech Codec (VMR-WB) Rate Set 1" },
741 {64, "HRPD auxiliary Packet Data Service instance" },
742 {65, "cdma2000/GPRS Inter-working" },
743 {66, "cdma2000 High Speed Packet Data Service,Internet or ISO Protocol Stack" },
744 {67, "HRPD Packet Data IP Service where Higher Layer Protocol is IP or ROHC" },
745 {68, "Enhanced Variable Rate Voice Service (EVRC-B)" },
746 {69, "HRPD Packet Data Service, which when used in paging over the 1x air interface, a page response is required" },
747 {70, "Enhanced Variable Rate Voice Service (EVRC-WB)" },
748 {71, "HRPD Packet Data Service for altPPP" },
749 {72, "HRPD auxiliary Packet Data IP Service with PDN multiplexing header" },
752 {73, "Enhanced Variable Rate Voice Service (EVRC-NW:EVRC-WB with NB capacity operating points and DTX)" },
753 {74, "Flexible Markov Service Option" },
754 {75, "Enhanced Loopback Service Option" },
755 //76 - 4099 None Reserved for standard service options.
756 {4100, "Asynchronous Data Service, Revision 1 (9.6 or 14.4 kbps)" },
757 {4101, "Group 3 Facsimile, Revision 1 (9.6 or 14.4 kbps)" },
758 //4102 None Reserved for standard service options.
759 {4103, "Packet Data Service: Internet or ISO Protocol Stack, Revision 1 (9.6 or 14.4 kbps)" },
760 {4104, "Packet Data Service: CDPD Protocol Stack, Revision 1 (9.6 or 14.4 kbps)" },
764 {32760, "Identifies service reference identifier 0" },
765 {32761, "Identifies service reference identifier 1" },
766 {32762, "Identifies service reference identifier 2" },
767 {32763, "Identifies service reference identifier 3" },
768 {32764, "Identifies service reference identifier 4" },
769 {32765, "Identifies service reference identifier 5" },
770 {32766, "Identifies service reference identifier 6" },
771 {32767, "Identifies service reference identifier 7" },
772 { 0x8000, "QCOMM_13KVOICE" },
773 { 0x8001, "QCOMM_IS96VOICE" },
774 { 0x8003, "QCOMM_DATA_SERVICES" },
775 { 0x8008, "QCOMM_TDSO" },
776 { 0x801d, "QCOMM_OFF_HOOK" },
777 { 0x801e, "QCOMM_96MARKOV" },
778 { 0x801f, "QCOMM_144MARKOV" },
784 /* CDMA2K Order Ind Types */
785 static const value_string Order_Ind_Cause_Types
[] = {
786 { 2, "BASE_STATION_CHALLENGE" },
788 { 5, "PARAMETER_UPDATE_CONFIRMATION" },
789 { 11, "REQUEST_ANALOG_SERVICE" },
790 { 16, "MOBILE_STATION_ACKNOWLEDGEMENT" },
791 { 19, "SERVICE_OPTION_REQUEST" },
792 { 20, "SERVICE_OPTION_RESPONSE" },
794 { 23, "LONG_CODE_TRANSITION" },
796 { 25, "CONTINUOUS_DTMF_TONE" },
797 { 29, "SERVICE_OPTION_CONTROL" },
798 { 30, "LOCAL_CONTROL_RESPONSE" },
799 { 31, "MOBILE_STATION_REJECT" },
800 { 33, "SECURITY_MODE_COMPLETION" },
801 { 34, "FAST_CALL_SETUP" },
806 /* CDMA2K Order Cmd Types */
807 static const value_string Order_Cmd_Cause_Types
[] = {
808 { 1, "ABBREVIATED_ALERT" },
809 { 2, "BASE_STATION_CHALLENGE" },
810 { 3, "MESSAGE_ENCRYPTION_MODE" },
812 { 5, "PARAMETER_UPDATE" },
815 { 10, "MAINTENANCE" },
816 { 16, "BASE_STATION_ACKNOWLEDGEMENT" },
817 { 17, "PILOT_MEASUREMENT_REQUEST" },
818 { 18, "LOCK_OR_MAINTENANCE_REQUIRED" },
819 { 19, "SERVICE_OPTION_REQUEST" },
820 { 20, "SERVICE_OPTION_RESPONSE" },
822 { 22, "OUTER_LOOP_REPORT_REQUEST" },
823 { 23, "LONG_CODE_TRANSITION" },
825 { 25, "CONTINUOUS_DTMF_TONE" },
826 { 26, "STATUS_REQUEST" },
827 { 27, "REGISTRATION" },
828 { 29, "SERVICE_OPTION_CONTROL" },
829 { 30, "LOCAL_CONTROL" },
830 { 31, "SLOTTED_MODE" },
832 { 33, "BASE_STATION_REJECT" },
833 { 34, "TRANSIT_TO_IDLE" },
835 { 36, "FAST_CALL_SETUP" },
836 { 37, "SERVICE_STATUS" },
837 { 38, "LOCATION_SERVICES" },
842 Currently
not used
???
843 /* CDMA2K Rejected PDU Type types for the Mobile Station Reject Order*/
844 static const value_string Rejected_Pdu_Types
[] = {
845 { 0, "20 ms Regular Message" },
846 { 1, "5 ms Mini Message" },
853 /* CDMA2K RSCI types for the Release Order*/
854 static const value_string RSCI_Types
[] = {
855 { 7, "Non Slotted" },
856 { 4, "0.08ms - 1 slot" },
857 { 3, "0.16s - 2 slots" },
858 { 2, "0.32s - 4 slots" },
859 { 1, "0.64s - 8 slots" },
860 { 0, "1.28s - 16 slots" },
861 { 9, "2.56s - 32 slots" },
862 { 10, "5.12s - 64 slots" },
863 { 11, "10.24s - 128 slots" },
864 { 12, "20.48s - 256 slots" },
865 { 13, "40.96s - 512 slots" },
866 { 14, "81.92s - 1024 slots" },
870 /* CDMA2K RSC_END_TIME_UNIT types for the Release Order*/
871 static const value_string Rsc_End_Time_Unit_Types
[] = {
872 { 0, "unit is 4 seconds" },
873 { 1, "unit is 20 seconds" },
874 { 2, "unit is 100 seconds" },
879 /* CDMA2K Retry Type types for the Retry Order*/
880 static const value_string Retry_Types
[] = {
882 { 1, "Origination" },
883 { 2, "Resource Request" },
884 { 3, "Supplemental Channel Req" },
885 { 4, "Short Data Burst" },
886 { 5, "Orig & Short Data Burst" },
892 /* CDMA2K Reject Reason types for the Base Station Reject Order*/
893 static const value_string Reject_Reason_Types
[] = {
894 { 0, "MACI Field is Missing" },
895 { 1, "MACI Field is present but invalid" },
896 { 2, "Security Sequence Number is Invalid" },
897 { 3, "Base Station Failed to Decrypt the Encrypted Msg" },
905 /* CDMA2K C_SIG_ENCRYPT_MODE types for the Registration Accepted Order*/
906 static const value_string C_Sig_Encrypt_Mode_Types
[] = {
907 { 0, "Common Channel Signaling Encryption Disabled" },
908 { 1, "Enhanced Cellular Msg Encryption Algo Enabled" },
909 { 2, "Rijndael Encryption Algo Enabled" },
918 /* CDMA2K All BCMC Reason types for the BCMC Order*/
919 static const value_string All_Bcmc_Reason_Types
[] = {
920 { 0, "BCMC_FLOW_ID not Available" },
921 { 1, "BCMC_FLOW_ID not Transmitted" },
922 { 2, "BCMC_FLOW_ID available in IDLE state" },
923 { 3, "BCMC Registration Accepted" },
924 { 4, "Authorization Failure" },
925 { 5, "Retry Later" },
931 /* CDMA2K All BCMC Retry Delay types for the BCMC Order*/
932 static const value_string All_Bcmc_Retry_Delay_Types
[] = {
933 { 0, "Retry Delay Interval" },
934 { 1, "Retry Delay Interval" },
935 { 2, "Retry Delay Interval" },
936 { 3, "Retry Delay Interval" },
937 { 4, "Retry Delay Interval" },
938 { 5, "Retry Delay Interval" },
939 { 6, "Retry Delay Interval" },
940 { 7, "Unit For Retry Delay" },
944 /* CDMA2K Max RSC End Time Unit types for the Fast Call Setup Order*/
945 static const value_string Max_rsc_End_Time_unit_Types
[] = {
946 { 0, "Unit is 4 seconds" },
947 { 1, "Unit is 20 seconds" },
948 { 2, "Unit is 100 seconds" },
953 /* CDMA2K Service Status types for the Service Status Order*/
954 static const value_string Service_Status_Types
[] = {
955 { 0, "Service Request Accepted" },
956 { 1, "Service Request Rejected" },
962 /* CDMA2K Message Encryption Modes */
963 static const value_string Encrypt_Mode_Types
[] = {
964 { 0, "Encryption Disabled" },
965 { 1, "Basic Encryption Of Call Control Messages" },
966 { 2, "Enhanced Encryption Of Call Control Messages" },
967 { 3, "Extended Encryption Of Call Control Messages" },
972 /* CDMA2K Information Record Types */
973 static const value_string Info_Rec_Types
[] = {
975 { 2, "Called Party Number" },
976 { 3, "Calling Party Number" },
977 { 4, "Connected Number" },
979 { 6, "Message Waiting" },
980 { 7, "Service Configuration" },
981 { 8, "Called Party Subaddress" },
982 { 9, "Calling Party Subaddress" },
983 { 10, "Connected Subaddress" },
984 { 11, "Redirecting Number" },
985 { 12, "Redirecting Subaddress" },
986 { 13, "Meter Pulses" },
987 { 14, "Parametric Alerting" },
988 { 15, "Line Control" },
989 { 16, "Extended Display" },
990 { 19, "Non Negotiable Service Configuration" },
991 { 20, "Multiple Character Extended Display" },
992 { 21, "Call Waiting Indicator" },
993 { 22, "Extended Multiple Character Extended Display" },
994 { 254, "Extended Record Type_International" },
1000 /* CDMA2K Encryption Key Size */
1001 static const value_string Enc_Key_Types
[] = {
1014 /* CDMA2K 1x Reverse Link Frequency Offset */
1015 static const value_string rl_Freq_Offset_Types
[] = {
1016 { 0, "Reverse Link On Lowest SR3 Frequency" },
1017 { 1, "Reverse Link On Center SR3 Frequency" },
1018 { 2, "Reverse Link On Highest SR3 Frequency" },
1024 /* CDMA2K Pilot Record Types */
1025 static const value_string Pilot_Rec_Types
[] = {
1026 { 0, "1x Common Pilot With Transmit Diversity" },
1027 { 1, "1x Auxiliary Pilot" },
1028 { 2, "1x Auxiliary Pilot With Transmit Diversity" },
1029 { 3, "3x Common Pilot" },
1030 { 4, "3x Auxiliary Pilot" },
1038 /* CDMA2K PLCM Types */
1039 static const value_string Plcm_Types
[] = {
1040 { 0, "ESN Derived" },
1041 { 1, "BS Assigned" },
1042 { 2, "IMSI_M Derived" },
1043 { 3, "IMSI_T Derived" },
1044 { 4, "MEID Derived" },
1049 /* CDMA2K Number Types */
1050 static const value_string Number_Types
[] = {
1052 { 1, "International Number" },
1053 { 2, "National Number" },
1054 { 3, "Network Specific Number" },
1055 { 4, "Subscriber Number" },
1057 { 6, "Abbreviated Number" },
1058 { 7, "Reserved For Extension" },
1063 /* CDMA2K Numbering Plan Types */
1064 static const value_string Number_Plan_Types
[] = {
1066 { 1, "ISDN/Telephony Numbering Plan" },
1068 { 3, "Data Numbering Plan" },
1069 { 4, "Telex Numbering Plan" },
1074 { 9, "Private Numbering Plan" },
1080 { 15, "Reserved For Extension" },
1085 /* CDMA2K Presentation Indicator Types */
1086 static const value_string Pres_Ind_Types
[] = {
1087 { 0, "Presentation Allowed" },
1088 { 1, "Presentation Restricted" },
1089 { 2, "Number Not Available" },
1095 /* CDMA2K Screening Indicator Types */
1096 static const value_string Scr_Ind_Types
[] = {
1097 { 0, "User Provided, Not Screened" },
1098 { 1, "User Provided, Verified And Passed" },
1099 { 2, "User Provided, Verified And Failed" },
1100 { 3, "Network Provided" },
1105 /* CDMA2K Signal Types */
1106 static const value_string Signal_Types
[] = {
1107 { 0, "Tone Signal" },
1108 { 1, "ISDN Alerting" },
1109 { 2, "IS-54B Alerting" },
1115 /* CDMA2K Odd Even Indicator */
1116 static const value_string Odd_Even_Ind_Types
[] = {
1117 { 0, "Even Number Of Address Signals" },
1118 { 1, "Odd Number Of Address Signals" },
1123 /* CDMA2K Redirection Reasons */
1124 static const value_string Redir_Reason_Types
[] = {
1126 { 1, "Call Forwarding / Called DTE Busy" },
1127 { 2, "Call Forwarding No Reply" },
1134 { 9, "Called DTE Out Of Order" },
1135 { 10, "Call Forwarding By The Called DTE" },
1140 { 15, "Call Forwarding Unconditional / Systematic Call Redirection" },
1145 /* CDMA2K Cadence Types */
1146 static const value_string Cadence_Types
[] = {
1147 { 0, "Not Specified" },
1148 { 1, "Acoustic Earpiece / Similar Device" },
1149 { 2, "Device Other Than Acoustic Earpiece / Similar Device(Ex : Ringer)" },
1154 static const value_string l3dpu_ORM_PRM_req_mode_values
[] = {
1155 { /* 000 */ 0x00, "Reserved" },
1156 { /* 001 */ 0x01, "CDMA only" },
1157 { /* 010 */ 0x02, "Reserved (Previously: Wide analog only)" },
1158 { /* 011 */ 0x03, "Reserved (Previously: Either wide analog or CDMA only)" },
1159 { /* 100 */ 0x04, "Reserved (Previously: Narrow analog only)" },
1160 { /* 101 */ 0x05, "Reserved (Previously: Either narrow analog or CDMA only)" },
1161 { /* 110 */ 0x06, "Reserved (Previously: Either narrow analog or wide analog only)" },
1162 { /* 111 */ 0x07, "Reserved (Previously: Narrow analog or wide analog or CDMA)" },
1167 // Table 2.7.1.3.2.4-5. Encryption Algorithms Supported , page 858 (2-738)
1168 static const value_string l3dpu_ORM_encryption_algo_values
[] = {
1169 {/*0000*/ 0x00, "Basic encryption supported" },
1170 {/*0001*/ 0x01, "Basic and Enhanced encryption supported" },
1174 static const value_string l3dpu_ORM_ch_ind_values
[] = {
1175 {/*00*/ 0x00, "Refer to EXT_CH_IND" },
1176 {/*01*/ 0x01, "Fundamental Channel" },
1177 {/*10*/ 0x02, "Dedicated Control Channel" },
1178 {/*11*/ 0x03, "Fundamental Channel and Dedicated Control Channel" },
1182 /* Decoder for all the information elements of CDMA2K Message Type */
1183 static void cdma2k_message_decode(proto_item
*item _U_
, tvbuff_t
*tvb
,proto_tree
*tree
, unsigned *offset
, proto_tree
*mainTree _U_
, uint16_t *noerror _U_
, packet_info
*pinfo _U_
)
1185 uint16_t channel
= -1, msgtype
= -1, headerRecCnt
= -1, headerRecLen
= -1, l_offset
= -1;
1186 uint16_t headerRecType
= -1, inc
= -1, count
= -1, l3PduLen
= -1, authIncl
= -1, oneXPrev
= -1;
1187 proto_item
*item1
= NULL
;
1188 proto_tree
*subtree
= NULL
, *subtree1
= NULL
, *subtree2
= NULL
, *subtree3
= NULL
;
1190 item1
= proto_tree_add_item(tree
,hf_cdma2k_tlac_Header
, tvb
, *offset
,1, ENC_NA
);
1191 subtree
= proto_item_add_subtree(item1
, ett_cdma2k_subtree
);
1193 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Channel
, tvb
, *offset
*8,1, ENC_BIG_ENDIAN
);
1194 channel
= tvb_get_bits8(tvb
,*offset
*8,1);
1195 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_1x_Protocol_Revision
, tvb
, *offset
*8 + 1,8, ENC_BIG_ENDIAN
);
1196 oneXPrev
= tvb_get_bits8(tvb
,*offset
*8 + 1,8);
1201 /*get LSB 6 bits for MsgType if r-csch*/
1202 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_msgType
, tvb
, *offset
*8 + 3,6, ENC_BIG_ENDIAN
);
1203 msgtype
= tvb_get_bits8(tvb
,*offset
*8 + 3,6);
1208 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_msgType
, tvb
, *offset
*8 + 1,8, ENC_BIG_ENDIAN
);
1209 msgtype
= tvb_get_bits8(tvb
,*offset
*8 + 1,8);
1213 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Records_Count
, tvb
, *offset
*8 + 1,4, ENC_BIG_ENDIAN
);
1214 headerRecCnt
= tvb_get_bits8(tvb
,*offset
*8 + 1,4);
1215 l_offset
= *offset
*8 + 5;
1217 item1
= proto_tree_add_item(subtree
, hf_cdma2k_tlac_Header_Record
, tvb
, *offset
,1, ENC_NA
);
1218 subtree1
= proto_item_add_subtree(item1
, ett_cdma2k_subtree1
);
1220 for(count
= 1; count
<= headerRecCnt
; count
++)
1222 item1
= proto_tree_add_item(subtree1
, hf_cdma2k_tlac_Header_Record
, tvb
, l_offset
/8,1, ENC_NA
);
1223 proto_item_append_text(item1
," : [%02x]",count
);
1224 subtree2
= proto_item_add_subtree(item1
, ett_cdma2k_subtree2
);
1225 proto_tree_add_bits_item(subtree2
,hf_cdma2k_tlac_Header_Record_Type
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
1226 headerRecType
= tvb_get_bits8(tvb
,l_offset
, 4);
1229 if(headerRecType
== 0)
1231 proto_tree_add_bits_item(subtree2
,hf_cdma2k_tlac_Header_Record_Length
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
1232 headerRecLen
= tvb_get_bits8(tvb
,l_offset
, 8);
1234 item1
= proto_tree_add_item(subtree2
, hf_cdma2k_tlac_Header_Record_Values
, tvb
, (l_offset
/8),headerRecLen
+1 , ENC_NA
);
1235 subtree3
= proto_item_add_subtree(item1
, ett_cdma2k_subtree2
);
1236 cdma2k_message_ADDR_FIELDS(item1
, tvb
, subtree3
, &l_offset
, headerRecLen
);
1238 else if(headerRecType
== 1)
1241 proto_tree_add_bits_item(subtree2
,hf_cdma2k_tlac_Header_Record_Length
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
1242 headerRecLen
= tvb_get_bits8(tvb
,l_offset
, 8);
1244 item1
= proto_tree_add_item(subtree2
, hf_cdma2k_tlac_Header_Record_Values
, tvb
, (l_offset
/8), headerRecLen
+1, ENC_NA
);
1245 subtree3
= proto_item_add_subtree(item1
, ett_cdma2k_subtree2
);
1246 cdma2k_message_AUTH_FIELDS(item1
, tvb
, subtree3
, &l_offset
, headerRecLen
);
1250 proto_tree_add_bits_item(subtree2
,hf_cdma2k_tlac_Header_Record_Length
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
1251 headerRecLen
= tvb_get_bits8(tvb
,l_offset
, 8);
1253 item1
= proto_tree_add_item(subtree2
, hf_cdma2k_tlac_Header_Record_Values
, tvb
, (l_offset
/8), headerRecLen
+1, ENC_NA
);
1255 for (inc
= 0; inc
< (headerRecLen
*8); )
1257 proto_item_append_text(item1
," 0x%02x ",tvb_get_bits8(tvb
,l_offset
, 8));
1266 *offset
= (l_offset
/8);
1270 proto_tree_add_bits_item(subtree1
, hf_cdma2k_tlac_Header_Record_Reserved
, tvb
, l_offset
, (8-(l_offset
%8)), ENC_BIG_ENDIAN
);
1271 *offset
= (l_offset
/8) + 1;
1274 item1
= proto_tree_add_item(subtree1
, hf_cdma2k_tlac_Pdu
, tvb
, *offset
,-1, ENC_NA
);
1275 subtree2
= proto_item_add_subtree(item1
, ett_cdma2k_subtree2
);
1276 proto_tree_add_item(subtree2
,hf_cdma2k_tlac_Pdu_Length
, tvb
, *offset
,2, ENC_BIG_ENDIAN
);
1277 l3PduLen
= tvb_get_bits16(tvb
,*offset
*8,16, ENC_BIG_ENDIAN
);
1284 case CDMA2KRegIndMsg
:
1285 { cdma2k_message_REGISTRATION(item1
, tvb
, subtree2
, offset
, oneXPrev
); break;}
1287 case CDMA2KOrderIndMsg
:
1288 { cdma2k_message_ORDER_IND(item1
, tvb
, subtree2
,offset
); break;}
1290 case CDMA2KDataBurstIndMsg
:
1291 { cdma2k_message_DATA_BURST_IND(item1
, tvb
, subtree2
,offset
); break;}
1293 case CDMA2KOrigIndMsg
:
1294 { cdma2k_message_ORIGINATION(item1
, tvb
, subtree2
,offset
,authIncl
,oneXPrev
); break;}
1296 case CDMA2KPageResponseMsg
:
1297 { cdma2k_message_PAGE_RESPONSE(item1
, tvb
, subtree2
,offset
,authIncl
,oneXPrev
); break;}
1299 case CDMA2KAuthChallRspMsg
:
1300 { cdma2k_message_AUTH_CHALL_RSP(item1
, tvb
, subtree2
,offset
); break;}
1302 case CDMA2KOrderCmdMsg
:
1303 { cdma2k_message_ORDER_CMD(item1
, tvb
, subtree2
,offset
); break;}
1305 case CDMA2KDataBurstCmdMsg
:
1306 { cdma2k_message_DATA_BURST_CMD(item1
, tvb
, subtree2
,offset
); break;}
1308 case CDMA2KAuthChallReqMsg
:
1309 { cdma2k_message_AUTH_CHALL_REQ(item1
, tvb
, subtree2
,offset
); break;}
1311 case CDMA2KGenPageReqMsg
:
1312 { cdma2k_message_GEN_PAGE_REQ(item1
, tvb
, subtree2
,offset
,l3PduLen
); break;}
1315 { *noerror
= 0; break; }
1322 case CDMA2KAlertWithInfoMsg
:
1323 { cdma2k_message_ALERT_WITH_INFO(item1
, tvb
, subtree2
,offset
); break;}
1325 case CDMA2KUniversalHandoffDirectionMsg
:
1326 case CDMA2KMeIdUniversalHandoffDirectionMsg
:
1327 { cdma2k_message_HANDOFF_DIR(item1
, tvb
, subtree2
,offset
,msgtype
); break;}
1330 { *noerror
= 0; break; }
1336 /* 3GPP2 C.S0005-E v3.0 Table 2.3.3-1. Station Class Mark */
1338 /* SCM Fields values */
1339 static const value_string l3dpu_SCM_field_values7
[] = {
1340 { 0x00, "Other bands" },
1341 { 0x01, "Band Classes 1,4,14" },
1345 static const value_string l3dpu_SCM_field_values6
[] = {
1346 { 0x00, "CDMA Only" },
1351 static const value_string l3dpu_SCM_field_values5
[] = {
1352 { 0x00, "Non-Slotted" },
1353 { 0x01, "Slotted" },
1357 static const value_string l3dpu_SCM_field_values4
[] = {
1358 { 0x00, "MEID not configured" },
1359 { 0x01, "MEID configured" },
1364 static const value_string l3dpu_SCM_field_values2
[] = {
1365 { 0x00, "Continuous" },
1366 { 0x01, "Discontinuous" },
1371 dissect_cdma2000_scm(tvbuff_t
* tvb
, proto_tree
* tree
, unsigned bit_offset
)
1373 proto_tree
*sub_tree
= proto_tree_add_subtree(tree
, tvb
, bit_offset
>> 3, 2, ett_cdma2000_scm
, NULL
, "SCM - Station Class Mark");
1375 /* Extended SCM Indicator bit 7 */
1376 proto_tree_add_bits_item(sub_tree
, hf_cdma2k_ext_scm_ind
, tvb
, bit_offset
, 1, ENC_BIG_ENDIAN
);
1378 /* Dual Mode Bit 6 */
1379 proto_tree_add_bits_item(sub_tree
, hf_cdma2k_scm_dual_mode
, tvb
, bit_offset
, 1, ENC_BIG_ENDIAN
);
1381 /* Slotted Class Bit 5*/
1382 proto_tree_add_bits_item(sub_tree
, hf_cdma2k_scm_slotted_class
, tvb
, bit_offset
, 1, ENC_BIG_ENDIAN
);
1384 /* MEID support indicator bit 4 */
1385 proto_tree_add_bits_item(sub_tree
, hf_cdma2k_scm_meid_sup
, tvb
, bit_offset
, 1, ENC_BIG_ENDIAN
);
1387 /* 25 MHz Bandwidth Bit 3 */
1388 proto_tree_add_bits_item(sub_tree
, hf_cdma2k_scm_25mhz_bw
, tvb
, bit_offset
, 1, ENC_BIG_ENDIAN
);
1390 /* Transmission Bit 2 */
1391 proto_tree_add_bits_item(sub_tree
, hf_cdma2k_scm_trans
, tvb
, bit_offset
, 1, ENC_BIG_ENDIAN
);
1393 /* Power Class for Band Class 0 Analog Operation Bit 1 - 0 */
1394 proto_tree_add_bits_item(sub_tree
, hf_cdma2k_scm_pow_class
, tvb
, bit_offset
, 2, ENC_BIG_ENDIAN
);
1398 static void cdma2k_message_REGISTRATION(proto_item
*item
, tvbuff_t
*tvb
, proto_tree
*tree
, unsigned *offset
, uint16_t oneXPrev
)
1400 uint16_t mob_P_Rev_Value
= -1, mob_P_Rev_Rx
= -1;
1401 uint16_t uzid_Incl
= -1, geoLoc_Incl
= -1, l_offset
= -1;
1402 proto_tree
*subtree
= NULL
;
1404 /*iws_Mob_P_Rev_In_Use = 7;*/
1406 item
= proto_tree_add_item(tree
,hf_cdma2k_RegMsg
, tvb
, *offset
,-1, ENC_NA
);
1407 subtree
= proto_item_add_subtree(item
, ett_cdma2k_subtree1
);
1408 proto_tree_add_bits_item(subtree
, hf_cdma2k_Reg_Type
, tvb
, *offset
*8,4, ENC_BIG_ENDIAN
);
1409 proto_tree_add_bits_item(subtree
, hf_cdma2k_Slot_Cycle_Index
, tvb
, *offset
*8 + 4,3, ENC_BIG_ENDIAN
);
1410 proto_tree_add_bits_item(subtree
, hf_cdma2k_Mob_P_Rev
, tvb
, *offset
*8 + 7,8, ENC_BIG_ENDIAN
);
1411 mob_P_Rev_Rx
= tvb_get_bits8(tvb
,*offset
*8 + 7,8);
1414 mob_P_Rev_Value
= ((oneXPrev
>= mob_P_Rev_Rx
)? mob_P_Rev_Rx
: oneXPrev
);
1416 if(mob_P_Rev_Value
== 1)
1418 proto_tree_add_bits_item(subtree
, hf_cdma2k_Ext_Scm
, tvb
, *offset
*8 + 7,1, ENC_BIG_ENDIAN
);
1420 /* Jump Over the one bit Reserved Field*/
1421 proto_tree_add_bits_item(subtree
, hf_cdma2k_Reserved
, tvb
, *offset
*8,1, ENC_BIG_ENDIAN
);
1422 proto_tree_add_bits_item(subtree
, hf_cdma2k_Sloted_Mode
, tvb
, *offset
*8 + 1,1, ENC_BIG_ENDIAN
);
1423 /*Jump Over the five bit Reserved Field*/
1424 proto_tree_add_bits_item(subtree
, hf_cdma2k_Reserved
, tvb
, *offset
*8 + 2,5, ENC_BIG_ENDIAN
);
1428 dissect_cdma2000_scm(tvb
, subtree
, *offset
* 8 + 7);
1432 proto_tree_add_bits_item(subtree
, hf_cdma2k_Mob_Term
, tvb
, *offset
*8 + 7,1, ENC_BIG_ENDIAN
);
1434 l_offset
= *offset
*8;
1436 if(mob_P_Rev_Value
> 3)
1438 proto_tree_add_bits_item(subtree
, hf_cdma2k_Return_Cause
, tvb
, *offset
*8,4, ENC_BIG_ENDIAN
);
1442 if(mob_P_Rev_Value
>= 6)
1444 proto_tree_add_bits_item(subtree
, hf_cdma2k_Qpch_Supported
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
1446 proto_tree_add_bits_item(subtree
, hf_cdma2k_Enhanced_Rc
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
1448 proto_tree_add_bits_item(subtree
, hf_cdma2k_Uzid_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
1449 uzid_Incl
= tvb_get_bits8(tvb
,l_offset
, 1);
1454 proto_tree_add_bits_item(subtree
, hf_cdma2k_Uzid
, tvb
, l_offset
, 16, ENC_BIG_ENDIAN
);
1459 if(mob_P_Rev_Value
>= 7)
1461 proto_tree_add_bits_item(subtree
, hf_cdma2k_GeoLoc_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
1462 geoLoc_Incl
= tvb_get_bits8(tvb
,l_offset
, 1);
1465 if(geoLoc_Incl
!= 0)
1467 proto_tree_add_bits_item(subtree
, hf_cdma2k_GeoLoc_Type
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
1473 *offset
= (l_offset
/8);
1475 *offset
= (l_offset
/8) + 1;
1479 /* Decode Order Indication Message Parameters */
1480 static void cdma2k_message_ORDER_IND(proto_item
*item
,tvbuff_t
*tvb
,proto_tree
*tree
,unsigned *offset
)
1482 uint16_t addRecLen
= -1, ordq
= -1, rejectedtype
= -1;
1483 uint16_t l_offset
= -1, rsc_mode_ind
= -1, ordertype
= -1;
1484 proto_tree
*subtree
= NULL
, *subtree1
= NULL
;
1486 item
= proto_tree_add_item(tree
,hf_cdma2k_OrderIndMsg
, tvb
, *offset
, -1, ENC_NA
);
1487 subtree
= proto_item_add_subtree(item
, ett_cdma2k_subtree1
);
1488 proto_tree_add_bits_item(subtree
, hf_cdma2k_Order_Ind
, tvb
, *offset
*8,6, ENC_BIG_ENDIAN
);
1489 ordertype
= tvb_get_bits8(tvb
,*offset
*8, 6);
1490 proto_tree_add_bits_item(subtree
, hf_cdma2k_Add_Record_Len
, tvb
, *offset
*8 + 6,3, ENC_BIG_ENDIAN
);
1491 addRecLen
= tvb_get_bits8(tvb
,*offset
*8 + 6,3);
1493 l_offset
= *offset
*8+1;
1497 item
= proto_tree_add_item(subtree
, hf_cdma2k_Order_Specific_Fields
, tvb
, *offset
,-1, ENC_NA
);
1498 subtree1
= proto_item_add_subtree(item
, ett_cdma2k_subtree2
);
1504 proto_item_append_text(item
, " : BASE STATION CHALLENGE Order ");
1506 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Ordq
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
1509 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Randbs
, tvb
, l_offset
, 32, ENC_BIG_ENDIAN
);
1516 proto_item_append_text(item
, " : REORDER Order ");
1518 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Ordq
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
1526 proto_item_append_text(item
, " : SERVICE OPTION REQUEST Order ");
1528 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Ordq
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
1530 proto_tree_add_bits_item(subtree1
, hf_cdma2k_service_option
, tvb
, l_offset
, 16, ENC_BIG_ENDIAN
);
1536 proto_item_append_text(item
, " : SERVICE OPTION RESPONSE Order ");
1538 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Ordq
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
1540 proto_tree_add_bits_item(subtree1
, hf_cdma2k_service_option
, tvb
, l_offset
, 16, ENC_BIG_ENDIAN
);
1546 proto_item_append_text(item
, " : MOBILE STATION REJECT Order ");
1548 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Ordq
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
1549 ordq
= tvb_get_bits8(tvb
,*offset
*8+1,8);
1552 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Rejected_Type
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
1553 rejectedtype
= tvb_get_bits8(tvb
,*offset
*8+1,8);
1556 if ((rejectedtype
== 7) || (rejectedtype
== 1)) /* 7= access, 1= reverse traffic */
1558 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Reserved
, tvb
, l_offset
, 2, ENC_BIG_ENDIAN
);
1560 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Rejected_Order
, tvb
, l_offset
, 6, ENC_BIG_ENDIAN
);
1561 l_offset
+=6;/* 4 byte , 1 bit */
1562 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Rejected_Ordq
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
1563 l_offset
+=8;/* 5 byte , 1 bit */
1566 if (rejectedtype
== 12) /* for both access & reverse traffic */
1568 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Rejected_Parm_Id
, tvb
, l_offset
, 16, ENC_BIG_ENDIAN
);
1569 l_offset
+=16;/* 7 byte , 1 bit */
1570 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Rejected_Record
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
1571 l_offset
+=8;/* 8 byte , 1 bit */
1574 if ((ordq
== 16) || (ordq
== 17) || (ordq
== 18) || (ordq
== 19))
1576 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Con_Ref
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
1581 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Tag
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
1587 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Reserved
, tvb
, l_offset
, (8-(l_offset
%8)), ENC_BIG_ENDIAN
);
1594 proto_item_append_text(item
, " : RELEASE Order ");
1596 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Ordq
, tvb
, *offset
*8+1,8, ENC_BIG_ENDIAN
);
1597 ordq
= tvb_get_bits8(tvb
,*offset
*8+1,8);
1602 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Rsc_Mode_Ind
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
1603 rsc_mode_ind
= tvb_get_bits8(tvb
,*offset
*8+1,1);
1605 if (rsc_mode_ind
== 1)
1607 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Rsci
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
1609 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Rsc_End_Time_Unit
, tvb
, l_offset
, 2, ENC_BIG_ENDIAN
);
1611 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Rsc_End_Time_Value
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
1621 proto_item_append_text(item
, " : FAST CALL SETUP Order ");
1623 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Ordq
, tvb
, *offset
*8+1,8, ENC_BIG_ENDIAN
);
1626 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Rsc_Mode_Ind
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
1627 rsc_mode_ind
= tvb_get_bits8(tvb
,*offset
*8+1,1);
1630 if (rsc_mode_ind
== 1)
1632 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Rsci
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
1634 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Rsc_End_Time_Unit
, tvb
, l_offset
, 2, ENC_BIG_ENDIAN
);
1636 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Rsc_End_Time_Value
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
1644 proto_item_append_text(item
, " : Invalid / Unsupported Order Type Received");
1650 *offset
= (l_offset
/8);
1652 *offset
= (l_offset
/8) + 1;
1655 /* Decode Order Command Message Parameters */
1656 static void cdma2k_message_ORDER_CMD(proto_item
*item
,tvbuff_t
*tvb
,proto_tree
*tree
,unsigned *offset
)
1658 uint16_t addRecLen
= -1, ordq
= -1, csig
= -1;
1659 uint16_t l_offset
= -1, MsgIntInfoIncl
= -1, retrytype
= -1, allbcmcflowind
= -1, clearallretrydelay
= -1;
1660 uint16_t numbcmcprograms
= -1, bcmc_program_id
= -1;
1661 uint16_t bcmcflowdiscriminatorlen
= -1, regulatoryindincl
= -1;
1662 uint16_t rsc_mode_supported
= -1, rer_mode_incl
= -1, rer_mode_enabled
= -1, tkz_mode_incl
= -1;
1663 uint16_t sameaspreviousbcmcflow
= -1, ordertype
= -1, clearretrydelay
= -1, rer_time
= -1;
1664 uint16_t rsc_mode_ind
= -1;
1665 proto_tree
*subtree
= NULL
, *subtree1
= NULL
;
1667 subtree
= proto_tree_add_subtree(tree
, tvb
, *offset
, -1, ett_cdma2k_subtree1
, NULL
, "Order Command Message");
1669 proto_tree_add_item(subtree
, hf_cdma2k_Order_Cmd
, tvb
, *offset
,1, ENC_BIG_ENDIAN
);
1670 ordertype
= tvb_get_uint8(tvb
,*offset
) >> 2;
1672 proto_tree_add_bits_item(subtree
, hf_cdma2k_Add_Record_Len
, tvb
, *offset
*8 + 6,3, ENC_BIG_ENDIAN
);
1673 addRecLen
= tvb_get_bits8(tvb
,*offset
*8 + 6,3);
1675 l_offset
= *offset
*8+1;
1679 item
= proto_tree_add_item(subtree
, hf_cdma2k_Order_Specific_Fields
, tvb
, *offset
,-1, ENC_NA
);
1680 subtree1
= proto_item_add_subtree(item
, ett_cdma2k_subtree2
);
1686 proto_item_append_text(item
, " : BASE STATION CHALLENGE CONFIRMATION Order ");
1688 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Ordq
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
1691 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Authbs
, tvb
, l_offset
, 18, ENC_BIG_ENDIAN
);
1694 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Reserved
, tvb
, l_offset
, 6, ENC_BIG_ENDIAN
);
1701 proto_item_append_text(item
, " : REORDER Order ");
1703 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Ordq
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
1711 proto_item_append_text(item
, " : RELEASE Order ");
1713 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Ordq
, tvb
, *offset
*8+1,8, ENC_BIG_ENDIAN
);
1714 ordq
= tvb_get_bits8(tvb
,*offset
*8+1,8);
1719 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Rsc_Mode_Ind
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
1720 rsc_mode_ind
= tvb_get_bits8(tvb
,*offset
*8+1,1);
1722 if (rsc_mode_ind
== 1)
1724 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Rsci
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
1726 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Rsc_End_Time_Unit
, tvb
, l_offset
, 2, ENC_BIG_ENDIAN
);
1728 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Rsc_End_Time_Value
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
1737 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Ordq
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
1738 ordq
= tvb_get_bits8(tvb
,l_offset
, 8);
1742 * 3GPP2 C.S0005-F v2.0 Table 3.7.4-1. Order and Order Qualification Codes Used on the f-csch and the f-dsch
1745 case 0: /* Registration Accepted Order (ROAM_INDI not included; see 3.7.4.5) */
1746 proto_item_append_text(item
, " : Registration Accepted Order ");
1748 case 1: /* Registration Request Order */
1749 proto_item_append_text(item
, " : Registration Request Order ");
1751 case 2: /* Registration Rejected Order */
1752 proto_item_append_text(item
, " : Registration Rejected Order ");
1754 case 4: /* Registration Rejected Order (delete TMSI) */
1755 proto_item_append_text(item
, " : Registration Rejected Order (delete TMSI) ");
1757 case 5: /* Registration Accepted Order (ROAM_INDI included but the signaling encryption related fields are not included; see 3.7.4.5) */
1758 proto_item_append_text(item
, " : Registration Accepted Order ");
1759 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Roam_Ind
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
1762 case 7: /* Registration Accepted Order (ROAM_INDI and the signaling encryption related fields are included; see 3.7.4.5) */
1763 proto_item_append_text(item
, " : Registration Accepted Order ");
1764 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Roam_Ind
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
1767 proto_tree_add_bits_item(subtree1
, hf_cdma2k_C_Sig_Encrypt_Mode
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
1768 csig
= tvb_get_bits8(tvb
,l_offset
, 3);
1771 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Msg_Int_Info_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
1772 MsgIntInfoIncl
= tvb_get_bits8(tvb
,l_offset
, 1);
1780 if ((csig
== 1) || (csig
== 2))
1782 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Enc_Key_Size
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
1786 if (MsgIntInfoIncl
== 1)
1788 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Change_Keys
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
1791 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Use_Uak
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
1797 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Reserved
, tvb
, l_offset
, (8-(l_offset
%8)), ENC_BIG_ENDIAN
);
1804 proto_item_append_text(item
, " : RETRY Order ");
1806 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Ordq
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
1809 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Retry_Type
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
1810 retrytype
= tvb_get_bits8(tvb
,l_offset
, 3);
1815 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Retry_Delay
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
1819 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Reserved
, tvb
, l_offset
, 5, ENC_BIG_ENDIAN
);
1825 proto_item_append_text(item
, " : BASE STATION REJECT Order ");
1827 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Ordq
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
1830 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Reject_Reason
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
1833 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Rejected_Msg_Type
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
1836 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Rejected_Msg_Seq
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
1843 proto_item_append_text(item
, " : BCMC Order ");
1845 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Ordq
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
1848 proto_tree_add_bits_item(subtree1
, hf_cdma2k_All_Bcmc_Flows_Ind
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
1849 allbcmcflowind
= tvb_get_bits8(tvb
,l_offset
, 1);
1852 if (allbcmcflowind
== 1)
1854 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Clear_All_Retry_Delay
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
1855 clearallretrydelay
= tvb_get_bits8(tvb
,l_offset
, 1);
1859 if ((allbcmcflowind
== 1) || (clearallretrydelay
== 0))
1861 proto_tree_add_bits_item(subtree1
, hf_cdma2k_All_Bcmc_Reason
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
1865 proto_tree_add_bits_item(subtree1
, hf_cdma2k_All_Bcmc_Retry_Delay
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
1868 if (allbcmcflowind
== 0)
1870 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Num_Bcmc_Programs
, tvb
, l_offset
, 6, ENC_BIG_ENDIAN
);
1871 numbcmcprograms
= tvb_get_bits8(tvb
,l_offset
, 8);
1875 if (numbcmcprograms
!= 0)
1878 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Bcmc_Program_Id_Len
, tvb
, l_offset
, 5, ENC_BIG_ENDIAN
);
1879 bcmc_program_id
= tvb_get_bits8(tvb
,l_offset
, 5);
1882 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Bcmc_Program_Id
, tvb
, l_offset
, bcmc_program_id
+1, ENC_BIG_ENDIAN
);
1883 l_offset
+=bcmc_program_id
+1;
1885 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Bcmc_Flow_Discriminator_Len
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
1886 bcmcflowdiscriminatorlen
= tvb_get_bits8(tvb
,l_offset
, 3);/* Extract Bcmc_Flow_Discriminator_Len */
1889 if (bcmcflowdiscriminatorlen
!= 0)
1891 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Num_Flow_Discriminator
, tvb
, l_offset
, bcmcflowdiscriminatorlen
, ENC_BIG_ENDIAN
);
1892 l_offset
+=bcmcflowdiscriminatorlen
;
1895 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Bcmc_Flow_Discriminator
, tvb
, l_offset
, bcmcflowdiscriminatorlen
, ENC_BIG_ENDIAN
);
1896 l_offset
+=bcmcflowdiscriminatorlen
;
1898 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Same_As_Previous_Bcmc_Flow
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
1899 sameaspreviousbcmcflow
= tvb_get_bits8(tvb
,l_offset
, 1);
1902 if (sameaspreviousbcmcflow
== 0)
1904 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Clear_Retry_Delay
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
1905 clearretrydelay
= tvb_get_bits8(tvb
,l_offset
, 1);
1909 if ((sameaspreviousbcmcflow
== 0) || (clearretrydelay
== 0))
1911 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Bcmc_Reason
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
1915 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Bcmc_Retry_Delay
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
1923 proto_item_append_text(item
, " : FAST CALL SETUP Order ");
1925 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Ordq
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
1926 ordq
= tvb_get_bits8(tvb
, l_offset
, 1);
1929 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Rsc_Mode_Supported
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
1930 rsc_mode_supported
= tvb_get_bits8(tvb
, l_offset
, 1);
1933 if (rsc_mode_supported
== 1)
1935 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Max_Rsc_End_Time_Unit
, tvb
, l_offset
, 2, ENC_BIG_ENDIAN
);
1938 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Max_Rsc_End_Time_Value
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
1941 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Ignore_Qpch
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
1947 if ((ordq
== 0) && (rsc_mode_supported
== 1))
1949 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Req_Rsci
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
1953 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Rer_Mode_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
1954 rer_mode_incl
= tvb_get_bits8(tvb
, l_offset
, 1);
1957 if (rer_mode_incl
== 1)
1959 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Rer_Mode_Enabled
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
1960 rer_mode_enabled
= tvb_get_bits8(tvb
, l_offset
, 1);
1964 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Rer_Max_Num_Msg_Idx
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
1967 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Rer_Time
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
1968 rer_time
= tvb_get_bits8(tvb
, l_offset
, 3);
1971 if ((rer_time
!= 7) && (rer_mode_enabled
== 1))
1973 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Rer_Time_Unit
, tvb
, l_offset
, 2, ENC_BIG_ENDIAN
);
1977 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Max_Rer_Pilot_List_Size
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
1980 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Tkz_Mode_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
1981 tkz_mode_incl
= tvb_get_bits8(tvb
, l_offset
, 1);
1984 if (tkz_mode_incl
== 1)
1986 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Tkz_Mode_Enabled
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
1990 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Tkz_Max_Num_Msg_Idx
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
1993 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Tkz_Update_Prd
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
1996 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Tkz_List_Len
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
1999 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Tkz_Timer
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
2005 proto_item_append_text(item
, " : SERVICE STATUS Order ");
2007 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Ordq
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
2010 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Sr_Id_Bitmap
, tvb
, l_offset
, 6, ENC_BIG_ENDIAN
);
2013 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Service_Status
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
2018 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Reserved
, tvb
, l_offset
, (8-(l_offset
%8)), ENC_BIG_ENDIAN
);
2026 proto_item_append_text(item
, " : LOCATION SERVICES Order ");
2028 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Ordq
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
2031 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Regulatory_Ind_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2032 regulatoryindincl
= tvb_get_bits8(tvb
,l_offset
, 1);
2035 if (regulatoryindincl
== 1)
2037 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Regulatory_Ind
, tvb
, l_offset
, 2, ENC_BIG_ENDIAN
);
2045 proto_item_append_text(item
, " : Invalid / Unsupported Order Type");
2051 *offset
= (l_offset
/8);
2053 *offset
= (l_offset
/8) + 1;
2057 /* Helper function to decode Data Burst Indication Message Parameters */
2058 static void cdma2k_message_DATA_BURST_IND(proto_item
*item
,tvbuff_t
*tvb
,proto_tree
*tree
,unsigned *offset
)
2060 uint16_t numOfFields
= -1, parmLen
= -1;
2061 uint16_t inc
= -1, cnt
= -1, disp_cnt
= -1;
2062 proto_tree
*subtree
= NULL
, *subtree1
= NULL
, *subtree2
= NULL
;
2065 item
= proto_tree_add_item(tree
,hf_cdma2k_DataBurstIndMsg
, tvb
, *offset
,-1, ENC_NA
);
2066 subtree
= proto_item_add_subtree(item
, ett_cdma2k_subtree1
);
2067 proto_tree_add_item(subtree
, hf_cdma2k_Msg_Number
, tvb
, *offset
,1, ENC_BIG_ENDIAN
);
2069 proto_tree_add_bits_item(subtree
, hf_cdma2k_Burst_Type
, tvb
, *offset
*8,6, ENC_BIG_ENDIAN
);
2070 proto_tree_add_bits_item(subtree
, hf_cdma2k_Num_Msgs
, tvb
, *offset
*8 + 6,8, ENC_BIG_ENDIAN
);
2072 proto_tree_add_bits_item(subtree
, hf_cdma2k_Num_Fields
, tvb
, *offset
*8 + 6,8, ENC_BIG_ENDIAN
);
2073 numOfFields
= tvb_get_bits8(tvb
,*offset
*8 + 6,8);
2076 item
= proto_tree_add_item(subtree
, hf_cdma2k_Chari_Data
, tvb
, *offset
,-1, ENC_NA
);
2077 subtree1
= proto_item_add_subtree(item
, ett_cdma2k_subtree2
);
2078 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Msg_Identifier
, tvb
, *offset
*8 + 6,8, ENC_BIG_ENDIAN
);
2082 while(numOfFields
> 0)
2084 item
= proto_tree_add_bits_item(subtree1
, hf_cdma2k_Parm_Id
, tvb
, *offset
*8 + 6,8, ENC_BIG_ENDIAN
);
2085 subtree2
= proto_item_add_subtree(item
, ett_cdma2k_subtree2
);
2088 proto_tree_add_bits_item(subtree2
,hf_cdma2k_Parm_Length
, tvb
, *offset
*8 + 6,8, ENC_BIG_ENDIAN
);
2089 parmLen
= tvb_get_bits8(tvb
,*offset
*8 + 6,8);
2093 if (cnt
*32 < parmLen
)
2099 disp_cnt
= parmLen
+1;
2102 item
= proto_tree_add_item(subtree2
,hf_cdma2k_Parm_Value
, tvb
, *offset
,disp_cnt
, ENC_NA
);
2104 for (inc
= 0; inc
< parmLen
; inc
++)
2106 proto_item_append_text(item
," 0x%02x ",tvb_get_bits8(tvb
,*offset
*8 + 6,8));
2110 proto_item_append_text(item
,"\n");
2114 if (cnt
*32 < parmLen
)
2120 disp_cnt
= (parmLen
- cnt
*32);
2123 item
= proto_tree_add_item(subtree2
,hf_cdma2k_Parm_Value
, tvb
, *offset
,disp_cnt
, ENC_NA
);
2124 proto_item_append_text(item
,"cont..." );
2128 numOfFields
-=parmLen
;
2133 static void cdma2k_message_ORIGINATION(proto_item
*item
,tvbuff_t
*tvb
,proto_tree
*tree
,unsigned *offset
,uint16_t authIncl
,uint16_t oneXPrev
)
2135 uint16_t prevInUse
= -1, mob_P_Rev_Rx
= -1, Prev_Nid_Incl
= -1;
2136 uint16_t Sync_Id_Len
= -1, Prev_Pzid_Incl
= -1, For_FchLen
= -1,Rev_FchLen
= -1;
2137 uint16_t uzid_Incl
= -1, GeoLoc_Incl
= -1, l_offset
= -1, numOfFields
= -1, Map_Length
= -1, Qos_Parms_Incl
= -1;
2138 uint16_t specialService
= -1, Wll_Incl
= -1,Global_Emergency_call
= -1,Sync_Id_Incl
= -1,Prev_Sid_Incl
= -1;
2139 uint16_t DigitMode
= -1, Num_Alt_So
= -1, Qos_Parms_Length
= -1, Enc_Info_Incl
= -1;
2140 uint16_t digitSize
= -1, So_Bitmap_Ind
= -1, Dcch_supported
= -1;
2141 uint16_t Fch_supported
= -1, Rev_DcchLen
= -1, rea
= -1, ecmea
= -1, For_DcchLen
= -1;
2143 proto_tree
*subtree
= NULL
,*subtree1
= NULL
, *subtree4
= NULL
,*subtree3
= NULL
;
2144 proto_item
*item1
= NULL
, *item2
= NULL
, *item4
= NULL
;
2146 /*iws_Mob_P_Rev_In_Use = 7;*/
2148 l_offset
= *offset
*8;
2150 item
= proto_tree_add_item(tree
,hf_cdma2k_OrigMsg
, tvb
, l_offset
/8,-1, ENC_NA
);
2151 subtree
= proto_item_add_subtree(item
, ett_cdma2k_subtree1
);
2152 proto_tree_add_bits_item(subtree
, hf_cdma2k_Mob_Term
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2154 proto_tree_add_bits_item(subtree
, hf_cdma2k_Slot_Cycle_Index
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
2156 proto_tree_add_bits_item(subtree
, hf_cdma2k_Mob_P_Rev
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
2157 mob_P_Rev_Rx
= tvb_get_bits8(tvb
,l_offset
, 8);
2160 prevInUse
= ((oneXPrev
>= mob_P_Rev_Rx
) ? mob_P_Rev_Rx
: oneXPrev
);
2164 proto_tree_add_bits_item(subtree
, hf_cdma2k_Ext_Scm
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2166 /*Jump Over the one bit Reserved Field*/
2167 proto_tree_add_bits_item(subtree
, hf_cdma2k_Reserved
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2169 proto_tree_add_bits_item(subtree
, hf_cdma2k_Sloted_Mode
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2171 /*Jump Over the five bit Reserved Field*/
2172 proto_tree_add_bits_item(subtree
, hf_cdma2k_Reserved
, tvb
, l_offset
, 5, ENC_BIG_ENDIAN
);
2177 dissect_cdma2000_scm(tvb
, subtree
, l_offset
);
2181 proto_tree_add_bits_item(subtree
, hf_cdma2k_Request_Mode
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
2183 proto_tree_add_bits_item(subtree
, hf_cdma2k_Special_Service
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2184 specialService
= tvb_get_bits8(tvb
,l_offset
, 1);
2187 if (specialService
== 1)
2189 proto_tree_add_bits_item(subtree
, hf_cdma2k_service_option
, tvb
, l_offset
, 16, ENC_BIG_ENDIAN
);
2193 proto_tree_add_bits_item(subtree
, hf_cdma2k_pm
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2195 proto_tree_add_bits_item(subtree
, hf_cdma2k_digit_mode
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2196 DigitMode
= tvb_get_bits8(tvb
,l_offset
, 1);
2201 /* if(mob_P_Rev_Rx > 8)
2203 proto_tree_add_bits_item(subtree
, hf_cdma2k_Number_Type
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
2206 proto_tree_add_bits_item(subtree
, hf_cdma2k_Number_Plan
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
2210 proto_tree_add_bits_item(subtree
, hf_cdma2k_More_Fields
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2212 proto_tree_add_bits_item(subtree
, hf_cdma2k_Num_Fields
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
2213 numOfFields
= tvb_get_bits8(tvb
,l_offset
, 8);
2218 item2
= proto_tree_add_item(subtree
, hf_cdma2k_Chari_Data
, tvb
, (l_offset
/8),1, ENC_NA
);
2219 proto_item_append_text(item2
," - Dialed Digits :");
2220 while(numOfFields
> 0)
2225 proto_item_append_text(item2
," 0x%02x",tvb_get_bits8(tvb
,l_offset
, digitSize
));
2226 l_offset
+=digitSize
;
2228 else if(DigitMode
== 0)
2231 proto_item_append_text(item2
," 0x%x",tvb_get_bits8(tvb
,l_offset
, digitSize
));
2232 l_offset
+=digitSize
;
2237 proto_tree_add_bits_item(subtree
, hf_cdma2k_Nar_An_Cap
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2239 proto_tree_add_bits_item(subtree
, hf_cdma2k_Paca_Reorig
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2241 proto_tree_add_bits_item(subtree
, hf_cdma2k_Return_Cause
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
2243 proto_tree_add_bits_item(subtree
, hf_cdma2k_More_Records
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2246 if (prevInUse
< 7 && authIncl
== 1)
2248 proto_tree_add_bits_item(subtree
, hf_cdma2k_encryption_supported
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
2251 proto_tree_add_bits_item(subtree
, hf_cdma2k_Paca_Supported
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2253 proto_tree_add_bits_item(subtree
, hf_cdma2k_num_alt_so
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
2254 Num_Alt_So
= tvb_get_bits8(tvb
,l_offset
, 3);
2256 while (Num_Alt_So
> 0)
2258 proto_tree_add_bits_item(subtree
, hf_cdma2k_Alt_So
, tvb
, l_offset
, 16, ENC_BIG_ENDIAN
);
2264 proto_tree_add_bits_item(subtree
, hf_cdma2k_DRS
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2266 proto_tree_add_bits_item(subtree
, hf_cdma2k_Uzid_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2267 uzid_Incl
= tvb_get_bits8(tvb
,l_offset
, 1);
2271 proto_tree_add_bits_item(subtree
, hf_cdma2k_Uzid
, tvb
, l_offset
, 16, ENC_BIG_ENDIAN
);
2274 proto_tree_add_bits_item(subtree
, hf_cdma2k_Ch_Ind
, tvb
, l_offset
, 2, ENC_BIG_ENDIAN
);
2276 proto_tree_add_bits_item(subtree
, hf_cdma2k_SR_ID
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
2278 proto_tree_add_bits_item(subtree
, hf_cdma2k_Otd_Supported
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2280 proto_tree_add_bits_item(subtree
, hf_cdma2k_Qpch_Supported
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2282 proto_tree_add_bits_item(subtree
, hf_cdma2k_Enhanced_Rc
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2284 proto_tree_add_bits_item(subtree
, hf_cdma2k_For_Rc_Pref
, tvb
, l_offset
, 5, ENC_BIG_ENDIAN
);
2286 proto_tree_add_bits_item(subtree
, hf_cdma2k_Rev_Rc_Pref
, tvb
, l_offset
, 5, ENC_BIG_ENDIAN
);
2288 proto_tree_add_bits_item(subtree
, hf_cdma2k_Fch_Supported
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2289 Fch_supported
= tvb_get_bits8(tvb
,l_offset
, 1);
2291 if(Fch_supported
== 1)
2293 item4
= proto_tree_add_item(subtree
, hf_cdma2k_Fch_capability_type_specific_Fields
, tvb
, (l_offset
/8),1, ENC_NA
);
2294 subtree4
= proto_item_add_subtree(item4
, ett_cdma2k_subtree2
);
2295 proto_tree_add_bits_item(subtree4
,hf_cdma2k_Fch_Frame_Size
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2297 proto_tree_add_bits_item(subtree4
,hf_cdma2k_For_Fch_Len
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
2298 For_FchLen
= tvb_get_bits8(tvb
,l_offset
, 3);
2300 Map_Length
= 3*For_FchLen
;
2303 proto_tree_add_bits_item(subtree4
,hf_cdma2k_For_Fch_Rc_Map
, tvb
, l_offset
, Map_Length
, ENC_BIG_ENDIAN
);
2304 l_offset
+= Map_Length
;
2306 proto_tree_add_bits_item(subtree4
,hf_cdma2k_Rev_Fch_Len
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
2307 Rev_FchLen
= tvb_get_bits8(tvb
,l_offset
, 3);
2309 Map_Length
= 3*Rev_FchLen
;
2312 proto_tree_add_bits_item(subtree4
,hf_cdma2k_Rev_Fch_Rc_Map
, tvb
, l_offset
, Map_Length
, ENC_BIG_ENDIAN
);
2313 l_offset
+= Map_Length
;
2316 proto_tree_add_bits_item(subtree
, hf_cdma2k_Dcch_Supported
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2317 Dcch_supported
= tvb_get_bits8(tvb
,l_offset
, 1);
2320 if(Dcch_supported
== 1)
2322 item4
= proto_tree_add_item(subtree
, hf_cdma2k_Dcch_capability_type_specific_Fields
, tvb
, (l_offset
/8),1, ENC_NA
);
2323 subtree3
= proto_item_add_subtree(item4
, ett_cdma2k_subtree2
);
2324 proto_tree_add_bits_item(subtree3
,hf_cdma2k_Dcch_Frame_Size
, tvb
, l_offset
, 2, ENC_BIG_ENDIAN
);
2326 proto_tree_add_bits_item(subtree3
,hf_cdma2k_For_Dcch_Len
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
2327 For_DcchLen
= tvb_get_bits8(tvb
,l_offset
, 3);
2329 Map_Length
= 3*For_DcchLen
;
2332 proto_tree_add_bits_item(subtree3
,hf_cdma2k_For_Dcch_Rc_Map
, tvb
, l_offset
, Map_Length
, ENC_BIG_ENDIAN
);
2333 l_offset
+= Map_Length
;
2335 proto_tree_add_bits_item(subtree3
,hf_cdma2k_Rev_Dcch_Len
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
2336 Rev_DcchLen
= tvb_get_bits8(tvb
,l_offset
, 3);
2338 Map_Length
= 3*Rev_DcchLen
;
2341 proto_tree_add_bits_item(subtree3
,hf_cdma2k_Rev_Dcch_Rc_Map
, tvb
, l_offset
, Map_Length
, ENC_BIG_ENDIAN
);
2342 l_offset
+= Map_Length
;
2346 proto_tree_add_bits_item(subtree
, hf_cdma2k_GeoLoc_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2347 GeoLoc_Incl
= tvb_get_bits8(tvb
,l_offset
, 1);
2349 if(GeoLoc_Incl
== 1)
2351 proto_tree_add_bits_item(subtree
, hf_cdma2k_GeoLoc_Type
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
2355 proto_tree_add_bits_item(subtree
, hf_cdma2k_Rev_Fch_Gating_Req
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2359 proto_tree_add_bits_item(subtree
, hf_cdma2k_Orig_Reason
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2361 proto_tree_add_bits_item(subtree
, hf_cdma2k_Orig_Count
, tvb
, l_offset
, 2, ENC_BIG_ENDIAN
);
2363 proto_tree_add_bits_item(subtree
, hf_cdma2k_Sts_Supported
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2365 proto_tree_add_bits_item(subtree
, hf_cdma2k_ThreeXCchSupported
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2367 proto_tree_add_bits_item(subtree
, hf_cdma2k_Wll_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2368 Wll_Incl
= tvb_get_bits8(tvb
,l_offset
, 1);
2372 proto_tree_add_bits_item(subtree
, hf_cdma2k_Wll_Device_Type
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
2376 proto_tree_add_bits_item(subtree
, hf_cdma2k_Global_Emergency_Call
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2377 Global_Emergency_call
= tvb_get_bits8(tvb
,l_offset
, 1);
2379 if(Global_Emergency_call
== 1)
2381 proto_tree_add_bits_item(subtree
, hf_cdma2k_Ms_Init_Pos_Loc_Ind
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2384 proto_tree_add_bits_item(subtree
, hf_cdma2k_Qos_Parms_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2385 Qos_Parms_Incl
= tvb_get_bits8(tvb
,l_offset
, 1);
2387 if(Qos_Parms_Incl
!= 0)
2389 proto_tree_add_bits_item(subtree
, hf_cdma2k_Qos_Parms_Length
, tvb
, l_offset
, 5, ENC_BIG_ENDIAN
);
2390 Qos_Parms_Length
= tvb_get_bits8(tvb
,l_offset
, 5);
2392 while (Qos_Parms_Length
> 0)
2394 item4
= proto_tree_add_item(subtree1
, hf_cdma2k_Qos_Parms
, tvb
, (l_offset
/8), 1, ENC_BIG_ENDIAN
);
2395 subtree1
= proto_item_add_subtree(item4
, ett_cdma2k_subtree2
);
2396 proto_item_append_text(item4
," 0x%02x",tvb_get_bits8(tvb
,l_offset
, 8));
2398 Qos_Parms_Length
-=1;
2401 proto_tree_add_bits_item(subtree
, hf_cdma2k_Enc_Info_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2402 Enc_Info_Incl
= tvb_get_bits8(tvb
,l_offset
, 1);
2404 if(Enc_Info_Incl
!= 0)
2406 item2
= proto_tree_add_item(subtree
, hf_cdma2k_Sig_Encrypt_Supp
, tvb
, (l_offset
/8),1, ENC_NA
);
2407 subtree1
= proto_item_add_subtree(item2
,ett_cdma2k_subtree2
);
2408 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Cmea
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2410 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Ecmea
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2411 ecmea
= tvb_get_bits8(tvb
,l_offset
, 1);
2413 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Rea
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2414 rea
= tvb_get_bits8(tvb
,l_offset
, 1);
2416 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Reserved
, tvb
, l_offset
, 5, ENC_BIG_ENDIAN
);
2418 proto_tree_add_bits_item(subtree
, hf_cdma2k_DSig_Encrypt_Req
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2420 proto_tree_add_bits_item(subtree
, hf_cdma2k_CSig_Encrypt_Req
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2422 if(ecmea
== 1 || rea
== 1)
2424 proto_tree_add_bits_item(subtree
, hf_cdma2k_New_Sseq_H
, tvb
, l_offset
, 24, ENC_BIG_ENDIAN
);
2426 proto_tree_add_bits_item(subtree
, hf_cdma2k_New_Sseq_H_Sig
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
2430 proto_tree_add_bits_item(subtree
, hf_cdma2k_Ui_Encrypt_Req
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2432 proto_tree_add_bits_item(subtree
, hf_cdma2k_Ui_Encrypt_Sup
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
2435 proto_tree_add_bits_item(subtree
, hf_cdma2k_Sync_Id_Incl
, tvb
, l_offset
, 1, ENC_NA
);
2436 Sync_Id_Incl
= tvb_get_bits8(tvb
,l_offset
, 1);
2438 if(Sync_Id_Incl
!= 0)
2440 proto_tree_add_bits_item(subtree
, hf_cdma2k_Sync_Id_Len
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
2441 Sync_Id_Len
= tvb_get_bits8(tvb
,l_offset
, 4);
2443 while (Sync_Id_Len
> 0)
2445 item1
= proto_tree_add_item(subtree1
, hf_cdma2k_Sync_Id
, tvb
, (l_offset
/8),Sync_Id_Len
, ENC_NA
);
2446 /*subtree1 = proto_item_add_subtree(item1, ett_cdma2k_subtree2);*/
2447 proto_item_append_text(item1
," 0x%02x",tvb_get_bits8(tvb
,l_offset
, 8));
2452 proto_tree_add_bits_item(subtree
, hf_cdma2k_Prev_Sid_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2453 Prev_Sid_Incl
= tvb_get_bits8(tvb
,l_offset
, 1);
2455 if (Prev_Sid_Incl
!= 0)
2457 proto_tree_add_bits_item(subtree
, hf_cdma2k_Prev_Sid
, tvb
, l_offset
, 15, ENC_BIG_ENDIAN
);
2460 proto_tree_add_bits_item(subtree
, hf_cdma2k_Prev_Nid_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2461 Prev_Nid_Incl
= tvb_get_bits8(tvb
,l_offset
, 1);
2463 if (Prev_Nid_Incl
!= 0)
2465 proto_tree_add_bits_item(subtree
, hf_cdma2k_Prev_Nid
, tvb
, l_offset
, 16, ENC_BIG_ENDIAN
);
2468 proto_tree_add_bits_item(subtree
, hf_cdma2k_Prev_Pzid_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2469 Prev_Pzid_Incl
= tvb_get_bits8(tvb
,l_offset
, 1);
2471 if (Prev_Pzid_Incl
!= 0)
2473 proto_tree_add_bits_item(subtree
, hf_cdma2k_Prev_Pzid
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
2476 proto_tree_add_bits_item(subtree
, hf_cdma2k_So_Bitmap_Ind
, tvb
, l_offset
, 2, ENC_BIG_ENDIAN
);
2477 So_Bitmap_Ind
= tvb_get_bits8(tvb
,l_offset
, 2);
2479 if (So_Bitmap_Ind
> 0)
2481 proto_tree_add_bits_item(subtree
, hf_cdma2k_So_Group_Num
, tvb
, l_offset
, 5, ENC_BIG_ENDIAN
);
2483 proto_tree_add_bits_item(subtree
, hf_cdma2k_So_Bitmap
, tvb
, l_offset
, 4*So_Bitmap_Ind
, ENC_BIG_ENDIAN
);
2484 l_offset
+=4*So_Bitmap_Ind
;
2489 /*Currently IWS Stack supports only till Mobile Protocol Revision Value 7*/
2490 /* if (mob_P_Rev_Rx >= 8)
2492 proto_tree_add_bits_item(subtree, hf_cdma2k_SDB_Desired, tvb, l_offset, 1, ENC_BIG_ENDIAN);
2494 proto_tree_add_bits_item(subtree, hf_cdma2k_Alt_Band_Class_Sup, tvb, l_offset, 1, ENC_BIG_ENDIAN);
2497 if (mob_P_Rev_Rx >= 9)
2499 proto_tree_add_bits_item(subtree, hf_cdma2k_Msg_Int_Info_Incl, tvb, l_offset, 1, ENC_BIG_ENDIAN);
2500 msg_Int_Info_Incl = tvb_get_bits8(tvb,l_offset, 1);
2502 if (msg_Int_Info_Incl == 1)
2504 proto_tree_add_bits_item(subtree, hf_cdma2k_Sig_Integrity_Sup_Incl, tvb, l_offset, 1, ENC_BIG_ENDIAN);
2505 sigIntegritySupIncl = tvb_get_bits8(tvb,l_offset, 1);
2507 if(sigIntegritySupIncl ==1)
2509 proto_tree_add_bits_item(subtree, hf_cdma2k_Sig_Integrity_Sup, tvb, l_offset, 8, ENC_BIG_ENDIAN);
2511 proto_tree_add_bits_item(subtree, hf_cdma2k_Sig_Integrity_Req, tvb, l_offset, 3, ENC_BIG_ENDIAN);
2514 proto_tree_add_bits_item(subtree, hf_cdma2k_New_Key_Id, tvb, l_offset, 2, ENC_BIG_ENDIAN);
2516 proto_tree_add_bits_item(subtree, hf_cdma2k_New_Sseq_H_Incl, tvb, l_offset, 1, ENC_BIG_ENDIAN);
2517 newSseqHIncl = tvb_get_bits8(tvb,l_offset, 1);
2519 if (newSseqHIncl == 1)
2521 proto_tree_add_bits_item(subtree, hf_cdma2k_New_Sseq_H, tvb, l_offset, 24, ENC_BIG_ENDIAN);
2523 proto_tree_add_bits_item(subtree, hf_cdma2k_New_Sseq_H_Sig, tvb, l_offset, 8, ENC_BIG_ENDIAN);
2527 proto_tree_add_bits_item(subtree, hf_cdma2k_For_Pdch_Supported, tvb, l_offset, 1, ENC_BIG_ENDIAN);
2528 forPdchSupported = tvb_get_bits8(tvb,l_offset, 1);
2530 if(forPdchSupported == 1)
2532 item2 = proto_tree_add_item(subtree, hf_cdma2k_Type_Specific_Fields, tvb, (l_offset/8),1, ENC_NA);
2533 subtree1 = proto_item_add_subtree(item2,ett_cdma2k_subtree2);
2534 proto_tree_add_bits_item(subtree1, hf_cdma2k_Ack_Delay, tvb, l_offset, 1, ENC_BIG_ENDIAN);
2536 proto_tree_add_bits_item(subtree1, hf_cdma2k_Num_Arq_Chan, tvb, l_offset, 2, ENC_BIG_ENDIAN);
2538 proto_tree_add_bits_item(subtree1, hf_cdma2k_For_Pdch_Len, tvb, l_offset, 2, ENC_BIG_ENDIAN);
2539 forPdchLen = tvb_get_bits8(tvb,l_offset, 2);
2541 proto_tree_add_bits_item(subtree1, hf_cdma2k_For_Pdch_Rc_Map, tvb, l_offset, 3*(forPdchLen+1), ENC_BIG_ENDIAN);
2542 l_offset+=3*(forPdchLen+1);
2543 proto_tree_add_bits_item(subtree1, hf_cdma2k_Ch_Config_Sup_Map_Len, tvb, l_offset, 2, ENC_BIG_ENDIAN);
2544 chConfigSupMapLen = tvb_get_bits8(tvb,l_offset, 2);
2546 proto_tree_add_bits_item(subtree1, hf_cdma2k_Ch_Config_Sup_Map, tvb, l_offset, 3*(chConfigSupMapLen + 1), ENC_BIG_ENDIAN);
2547 l_offset+=3*(chConfigSupMapLen + 1);
2552 proto_tree_add_bits_item(subtree, hf_cdma2k_Ext_Ch_Ind, tvb, l_offset, 5, ENC_BIG_ENDIAN);
2557 *offset
= (l_offset
/8);
2559 *offset
= (l_offset
/8) + 1;
2563 /* Helper function to decode Authentication Challenge Response Message Parameters */
2564 static void cdma2k_message_AUTH_CHALL_RSP(proto_item
*item
,tvbuff_t
*tvb
,proto_tree
*tree
,unsigned *offset
)
2566 proto_tree
*subtree
= NULL
;
2567 item
= proto_tree_add_item(tree
,hf_cdma2k_AuthChallRspMsg
, tvb
, *offset
,-1, ENC_NA
);
2568 subtree
= proto_item_add_subtree(item
, ett_cdma2k_subtree1
);
2569 proto_tree_add_bits_item(subtree
, hf_cdma2k_Authu
, tvb
, *offset
*8,18, ENC_BIG_ENDIAN
);
2574 /* Helper function to decode Data Burst Command Message Parameters */
2575 static void cdma2k_message_DATA_BURST_CMD(proto_item
*item
,tvbuff_t
*tvb
,proto_tree
*tree
,unsigned *offset
)
2577 uint16_t numOfFields
= -1, parmLen
= -1;
2578 uint16_t inc
= -1, cnt
= -1, disp_cnt
= -1;
2579 proto_tree
*subtree
= NULL
, *subtree1
= NULL
, *subtree2
= NULL
;
2582 item
= proto_tree_add_item(tree
,hf_cdma2k_DataBurstCmdMsg
, tvb
, *offset
,-1, ENC_NA
);
2583 subtree
= proto_item_add_subtree(item
, ett_cdma2k_subtree1
);
2584 proto_tree_add_item(subtree
, hf_cdma2k_Msg_Number
, tvb
, *offset
,1, ENC_BIG_ENDIAN
);
2586 proto_tree_add_bits_item(subtree
, hf_cdma2k_Burst_Type
, tvb
, *offset
*8,6, ENC_BIG_ENDIAN
);
2587 proto_tree_add_bits_item(subtree
, hf_cdma2k_Num_Msgs
, tvb
, *offset
*8 + 6,8, ENC_BIG_ENDIAN
);
2589 proto_tree_add_bits_item(subtree
, hf_cdma2k_Num_Fields
, tvb
, *offset
*8 + 6,8, ENC_BIG_ENDIAN
);
2590 numOfFields
= tvb_get_bits8(tvb
,*offset
*8 + 6,8);
2593 item
= proto_tree_add_item(subtree
, hf_cdma2k_Chari_Data
, tvb
, *offset
,-1, ENC_NA
);
2594 subtree1
= proto_item_add_subtree(item
, ett_cdma2k_subtree2
);
2595 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Msg_Identifier
, tvb
, *offset
*8 + 6,8, ENC_BIG_ENDIAN
);
2599 while(numOfFields
> 0)
2601 item
= proto_tree_add_bits_item(subtree1
, hf_cdma2k_Parm_Id
, tvb
, *offset
*8 + 6,8, ENC_BIG_ENDIAN
);
2602 subtree2
= proto_item_add_subtree(item
, ett_cdma2k_subtree2
);
2605 proto_tree_add_bits_item(subtree2
,hf_cdma2k_Parm_Length
, tvb
, *offset
*8 + 6,8, ENC_BIG_ENDIAN
);
2606 parmLen
= tvb_get_bits8(tvb
,*offset
*8 + 6,8);
2610 if (cnt
*32 < parmLen
)
2616 disp_cnt
= parmLen
+1;
2618 item
= proto_tree_add_item(subtree2
,hf_cdma2k_Parm_Value
, tvb
, *offset
,disp_cnt
, ENC_NA
);
2620 for (inc
= 0; inc
< parmLen
; inc
++)
2622 proto_item_append_text(item
," 0x%02x ",tvb_get_bits8(tvb
,*offset
*8 + 6,8));
2627 proto_item_append_text(item
,"\n");
2631 if (cnt
*32 < parmLen
)
2637 disp_cnt
= (parmLen
- cnt
*32);
2640 item
= proto_tree_add_item(subtree2
,hf_cdma2k_Parm_Value
, tvb
, *offset
,disp_cnt
, ENC_NA
);
2641 proto_item_append_text(item
,"cont..." );
2645 numOfFields
-=parmLen
;
2651 /* Helper function to decode Authentication Challenge Request Message Parameters */
2652 static void cdma2k_message_AUTH_CHALL_REQ(proto_item
*item
,tvbuff_t
*tvb
,proto_tree
*tree
,unsigned *offset
)
2654 proto_tree
*subtree
= NULL
;
2655 item
= proto_tree_add_item(tree
,hf_cdma2k_AuthChallReqMsg
, tvb
, *offset
,-1, ENC_NA
);
2656 subtree
= proto_item_add_subtree(item
, ett_cdma2k_subtree1
);
2657 proto_tree_add_bits_item(subtree
, hf_cdma2k_Randu
, tvb
, *offset
*8,24, ENC_BIG_ENDIAN
);
2659 proto_tree_add_item(subtree
, hf_cdma2k_Gen_Cmea_Key
, tvb
, *offset
,1, ENC_BIG_ENDIAN
);
2664 /* Helper function to decode General Page Request Message Parameters */
2665 static void cdma2k_message_GEN_PAGE_REQ(proto_item
*item
,tvbuff_t
*tvb
,proto_tree
*tree
,unsigned *offset
,uint16_t l3PduLen
)
2667 proto_tree
*subtree
= NULL
;
2668 item
= proto_tree_add_item(tree
,hf_cdma2k_GenPageReqMsg
, tvb
, *offset
,-1, ENC_NA
);
2669 subtree
= proto_item_add_subtree(item
, ett_cdma2k_subtree1
);
2673 proto_tree_add_item(subtree
, hf_cdma2k_service_option
, tvb
, *offset
,2, ENC_BIG_ENDIAN
);
2679 /* Helper Function to decode Page Response Message Parameters */
2680 static void cdma2k_message_PAGE_RESPONSE(proto_item
*item
, tvbuff_t
*tvb
,proto_tree
*tree
,unsigned *offset
,uint16_t authIncl
,uint16_t oneXPrev
)
2682 uint16_t fchSupported
= -1, dcchSupported
= -1,numAltSo
= -1, soBitmapInd
= -1;
2683 uint16_t forFchLen
= -1, revFchLen
= -1, forDcchLen
= -1, revDcchLen
= -1 , syncIdLen
=-1;
2684 uint16_t uzidIncl
= -1, wllIncl
= -1, encInfoIncl
= -1, syncIdIncl
= -1;
2685 uint16_t l_offset
= -1, rea
= -1, ecmea
= -1;
2686 uint16_t prevInUse
= -1, mob_P_Rev_Rx
= -1;
2688 proto_tree
*subtree
= NULL
, *subtree1
= NULL
;
2689 proto_item
*item1
= NULL
;
2691 /*iws_Mob_P_Rev_In_Use = 7;*/
2693 item
= proto_tree_add_item(tree
,hf_cdma2k_PageRspMsg
, tvb
, *offset
,-1, ENC_NA
);
2694 subtree
= proto_item_add_subtree(item
, ett_cdma2k_subtree1
);
2695 proto_tree_add_bits_item(subtree
, hf_cdma2k_Mob_Term
, tvb
, *offset
*8,1, ENC_BIG_ENDIAN
);
2696 l_offset
= *offset
*8 + 1;
2697 proto_tree_add_bits_item(subtree
, hf_cdma2k_Slot_Cycle_Index
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
2699 proto_tree_add_bits_item(subtree
, hf_cdma2k_Mob_P_Rev
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
2700 mob_P_Rev_Rx
= tvb_get_bits8(tvb
,l_offset
, 8);
2703 prevInUse
= ((oneXPrev
>= mob_P_Rev_Rx
) ? mob_P_Rev_Rx
: oneXPrev
);
2705 dissect_cdma2000_scm(tvb
, subtree
, l_offset
);
2708 proto_tree_add_bits_item(subtree
, hf_cdma2k_Request_Mode
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
2711 proto_tree_add_bits_item(subtree
, hf_cdma2k_service_option
, tvb
, l_offset
, 16, ENC_BIG_ENDIAN
);
2714 proto_tree_add_bits_item(subtree
, hf_cdma2k_pm
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2717 proto_tree_add_bits_item(subtree
, hf_cdma2k_Nar_An_Cap
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2720 if(prevInUse
< 7 && authIncl
== 1)
2722 proto_tree_add_bits_item(subtree
, hf_cdma2k_encryption_supported
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
2726 proto_tree_add_bits_item(subtree
, hf_cdma2k_num_alt_so
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
2727 numAltSo
= tvb_get_bits8(tvb
,l_offset
, 3);
2732 proto_tree_add_bits_item(subtree
, hf_cdma2k_Alt_So
, tvb
, l_offset
, 16, ENC_BIG_ENDIAN
);
2739 proto_tree_add_bits_item(subtree
, hf_cdma2k_Uzid_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2740 uzidIncl
= tvb_get_bits8(tvb
,l_offset
, 1);
2744 proto_tree_add_bits_item(subtree
, hf_cdma2k_Uzid
, tvb
, l_offset
, 16, ENC_BIG_ENDIAN
);
2747 proto_tree_add_bits_item(subtree
, hf_cdma2k_Ch_Ind
, tvb
, l_offset
, 2, ENC_BIG_ENDIAN
);
2749 proto_tree_add_bits_item(subtree
, hf_cdma2k_Otd_Supported
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2751 proto_tree_add_bits_item(subtree
, hf_cdma2k_Qpch_Supported
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2753 proto_tree_add_bits_item(subtree
, hf_cdma2k_Enhanced_Rc
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2755 proto_tree_add_bits_item(subtree
, hf_cdma2k_For_Rc_Pref
, tvb
, l_offset
, 5, ENC_BIG_ENDIAN
);
2757 proto_tree_add_bits_item(subtree
, hf_cdma2k_Rev_Rc_Pref
, tvb
, l_offset
, 5, ENC_BIG_ENDIAN
);
2759 proto_tree_add_bits_item(subtree
, hf_cdma2k_Fch_Supported
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2760 fchSupported
= tvb_get_bits8(tvb
,l_offset
, 1);
2762 if(fchSupported
== 1)
2764 item1
= proto_tree_add_item(subtree
, hf_cdma2k_Type_Specific_Fields
, tvb
, (l_offset
/8),1, ENC_NA
);
2765 proto_item_append_text(item1
, "Fch Records");
2766 subtree1
= proto_item_add_subtree(item1
,ett_cdma2k_subtree2
);
2767 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Fch_Frame_Size
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2769 proto_tree_add_bits_item(subtree1
, hf_cdma2k_For_Fch_Len
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
2770 forFchLen
= tvb_get_bits8(tvb
,l_offset
, 3);
2774 proto_tree_add_bits_item(subtree1
, hf_cdma2k_For_Fch_Rc_Map
, tvb
, l_offset
, 3*forFchLen
, ENC_BIG_ENDIAN
);
2775 l_offset
+=3*forFchLen
;
2777 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Rev_Fch_Len
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
2778 revFchLen
= tvb_get_bits8(tvb
,l_offset
, 3);
2782 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Rev_Fch_Rc_Map
, tvb
, l_offset
, 3*revFchLen
, ENC_BIG_ENDIAN
);
2783 l_offset
+=3*revFchLen
;
2786 proto_tree_add_bits_item(subtree
, hf_cdma2k_Dcch_Supported
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2787 dcchSupported
= tvb_get_bits8(tvb
,l_offset
, 1);
2789 if(dcchSupported
== 1)
2791 item1
= proto_tree_add_item(subtree
, hf_cdma2k_Type_Specific_Fields
, tvb
, (l_offset
/8),1, ENC_NA
);
2792 proto_item_append_text(item1
, "Dcch Records");
2793 subtree1
= proto_item_add_subtree(item1
,ett_cdma2k_subtree2
);
2794 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Dcch_Frame_Size
, tvb
, l_offset
, 2, ENC_BIG_ENDIAN
);
2796 proto_tree_add_bits_item(subtree1
, hf_cdma2k_For_Dcch_Len
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
2797 forDcchLen
= tvb_get_bits8(tvb
,l_offset
, 3);
2801 proto_tree_add_bits_item(subtree1
, hf_cdma2k_For_Dcch_Rc_Map
, tvb
, l_offset
, 3*forDcchLen
, ENC_BIG_ENDIAN
);
2802 l_offset
+=3*forDcchLen
;
2804 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Rev_Dcch_Len
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
2805 revDcchLen
= tvb_get_bits8(tvb
,l_offset
, 3);
2809 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Rev_Dcch_Rc_Map
, tvb
, l_offset
, 3*revDcchLen
, ENC_BIG_ENDIAN
);
2810 l_offset
+=3*revDcchLen
;
2813 proto_tree_add_bits_item(subtree
, hf_cdma2k_Rev_Fch_Gating_Req
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2818 proto_tree_add_bits_item(subtree
, hf_cdma2k_Sts_Supported
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2820 proto_tree_add_bits_item(subtree
, hf_cdma2k_ThreeXCchSupported
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2822 proto_tree_add_bits_item(subtree
, hf_cdma2k_Wll_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2823 wllIncl
= tvb_get_bits8(tvb
,l_offset
, 1);
2827 proto_tree_add_bits_item(subtree
, hf_cdma2k_Wll_Device_Type
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
2829 proto_tree_add_bits_item(subtree
, hf_cdma2k_Hook_Status
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
2832 proto_tree_add_bits_item(subtree
, hf_cdma2k_Enc_Info_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2833 encInfoIncl
= tvb_get_bits8(tvb
,l_offset
, 1);
2835 if(encInfoIncl
== 1)
2837 item1
= proto_tree_add_item(subtree
, hf_cdma2k_Sig_Encrypt_Supp
, tvb
, (l_offset
/8),1, ENC_NA
);
2838 subtree1
= proto_item_add_subtree(item1
,ett_cdma2k_subtree2
);
2839 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Cmea
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2841 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Ecmea
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2842 ecmea
= tvb_get_bits8(tvb
,l_offset
, 1);
2844 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Rea
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2845 rea
= tvb_get_bits8(tvb
,l_offset
, 1);
2847 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Reserved
, tvb
, l_offset
, 5, ENC_BIG_ENDIAN
);
2849 proto_tree_add_bits_item(subtree
, hf_cdma2k_DSig_Encrypt_Req
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2851 proto_tree_add_bits_item(subtree
, hf_cdma2k_CSig_Encrypt_Req
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2853 if(ecmea
== 1 || rea
== 1)
2855 proto_tree_add_bits_item(subtree
, hf_cdma2k_New_Sseq_H
, tvb
, l_offset
, 24, ENC_BIG_ENDIAN
);
2857 proto_tree_add_bits_item(subtree
, hf_cdma2k_New_Sseq_H_Sig
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
2860 proto_tree_add_bits_item(subtree
, hf_cdma2k_Ui_Encrypt_Req
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2862 proto_tree_add_bits_item(subtree
, hf_cdma2k_Ui_Encrypt_Sup
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
2865 proto_tree_add_bits_item(subtree
, hf_cdma2k_Sync_Id_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
2866 syncIdIncl
= tvb_get_bits8(tvb
,l_offset
, 1);
2870 proto_tree_add_bits_item(subtree
, hf_cdma2k_Sync_Id_Len
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
2871 syncIdLen
= tvb_get_bits8(tvb
,l_offset
, 4);
2873 item1
= proto_tree_add_item(subtree
, hf_cdma2k_Sync_Id
, tvb
, l_offset
/8,syncIdLen
, ENC_NA
);
2874 while(syncIdLen
> 0)
2876 proto_item_append_text(item1
, " %02x",tvb_get_bits8(tvb
,l_offset
, 8));
2881 proto_tree_add_bits_item(subtree
, hf_cdma2k_So_Bitmap_Ind
, tvb
, l_offset
, 2, ENC_BIG_ENDIAN
);
2882 soBitmapInd
= tvb_get_bits8(tvb
,l_offset
, 2);
2884 if(soBitmapInd
!= 0)
2886 proto_tree_add_bits_item(subtree
, hf_cdma2k_So_Group_Num
, tvb
, l_offset
, 5, ENC_BIG_ENDIAN
);
2888 proto_tree_add_bits_item(subtree
, hf_cdma2k_So_Bitmap
, tvb
, l_offset
, 4*soBitmapInd
, ENC_BIG_ENDIAN
);
2889 l_offset
+=4*soBitmapInd
;
2893 /* Currently IWS Stack supports only till Mobile Protocol Revision Value 7 */
2894 /*if(mob_P_Rev_Rx >= 8)
2896 proto_tree_add_bits_item(subtree, hf_cdma2k_Alt_Band_Class_Sup, tvb, l_offset, 1, ENC_BIG_ENDIAN);
2899 if(mob_P_Rev_Rx >= 9)
2901 proto_tree_add_bits_item(subtree, hf_cdma2k_Msg_Int_Info_Incl, tvb, l_offset, 1, ENC_BIG_ENDIAN);
2902 msgIntInfoIncl = tvb_get_bits8(tvb,l_offset, 1);
2904 if(msgIntInfoIncl == 1)
2906 proto_tree_add_bits_item(subtree, hf_cdma2k_Sig_Integrity_Sup_Incl, tvb, l_offset, 1, ENC_BIG_ENDIAN);
2907 sigIntegritySupIncl = tvb_get_bits8(tvb,l_offset, 1);
2909 if(sigIntegritySupIncl ==1)
2911 proto_tree_add_bits_item(subtree, hf_cdma2k_Sig_Integrity_Sup, tvb, l_offset, 8, ENC_BIG_ENDIAN);
2913 proto_tree_add_bits_item(subtree, hf_cdma2k_Alt_Sig_Integrity_Req, tvb, l_offset, 3, ENC_BIG_ENDIAN);
2916 proto_tree_add_bits_item(subtree, hf_cdma2k_New_Key_Id, tvb, l_offset, 2, ENC_BIG_ENDIAN);
2918 proto_tree_add_bits_item(subtree, hf_cdma2k_New_Sseq_H_Incl, tvb, l_offset, 1, ENC_BIG_ENDIAN);
2919 newSseqHIncl = tvb_get_bits8(tvb,l_offset, 1);
2921 if(newSseqHIncl == 1)
2923 proto_tree_add_bits_item(subtree, hf_cdma2k_New_Sseq_H, tvb, l_offset, 24, ENC_BIG_ENDIAN);
2925 proto_tree_add_bits_item(subtree, hf_cdma2k_New_Sseq_H_Sig, tvb, l_offset, 8, ENC_BIG_ENDIAN);
2930 proto_tree_add_bits_item(subtree, hf_cdma2k_For_Pdch_Supported, tvb, l_offset, 1, ENC_BIG_ENDIAN);
2931 forPdchSupported = tvb_get_bits8(tvb,l_offset, 1);
2933 if(forPdchSupported == 1)
2935 item1 = proto_tree_add_item(subtree, hf_cdma2k_Type_Specific_Fields, tvb, (l_offset/8),1, ENC_NA);
2936 subtree1 = proto_item_add_subtree(item1,ett_cdma2k_subtree2);
2937 proto_tree_add_bits_item(subtree1, hf_cdma2k_Ack_Delay, tvb, l_offset, 1, ENC_BIG_ENDIAN);
2939 proto_tree_add_bits_item(subtree1, hf_cdma2k_Num_Arq_Chan, tvb, l_offset, 2, ENC_BIG_ENDIAN);
2941 proto_tree_add_bits_item(subtree1, hf_cdma2k_For_Pdch_Len, tvb, l_offset, 2, ENC_BIG_ENDIAN);
2942 forPdchLen = tvb_get_bits8(tvb,l_offset, 2);
2944 proto_tree_add_bits_item(subtree1, hf_cdma2k_For_Pdch_Rc_Map, tvb, l_offset, 3*(forPdchLen+1), ENC_BIG_ENDIAN);
2945 l_offset+=3*(forFchLen+1);
2946 proto_tree_add_bits_item(subtree1, hf_cdma2k_Ch_Config_Sup_Map_Len, tvb, l_offset, 2, ENC_BIG_ENDIAN);
2947 chConfigSupMapLen = tvb_get_bits8(tvb,l_offset, 2);
2949 proto_tree_add_bits_item(subtree1, hf_cdma2k_Ch_Config_Sup_Map, tvb, l_offset, 3*(chConfigSupMapLen + 1), ENC_BIG_ENDIAN);
2950 l_offset+=3*(chConfigSupMapLen + 1);
2955 proto_tree_add_bits_item(subtree, hf_cdma2k_Ext_Ch_Ind, tvb, l_offset, 5, ENC_BIG_ENDIAN);
2958 if(mob_P_Rev_Rx >= 11)
2960 if(slotCycleIndex != 0)
2962 proto_tree_add_bits_item(subtree, hf_cdma2k_Sign_Slot_Cycle_Index, tvb, l_offset, 1, ENC_BIG_ENDIAN);
2965 proto_tree_add_bits_item(subtree, hf_cdma2k_Bcmc_Incl, tvb, l_offset, 1, ENC_BIG_ENDIAN);
2966 bcmcIncl = tvb_get_bits8(tvb,l_offset, 1);
2970 proto_tree_add_bits_item(subtree, hf_cdma2k_Bcmc_Pref_Incl, tvb, l_offset, 1, ENC_BIG_ENDIAN);
2972 proto_tree_add_bits_item(subtree, hf_cdma2k_Fundicated_Bcmc_Supported, tvb, l_offset, 1, ENC_BIG_ENDIAN);
2973 fundicatedBcmcSupported = tvb_get_bits8(tvb,l_offset, 1);
2975 if(fundicatedBcmcSupported == 1)
2977 item1 = proto_tree_add_item(subtree, hf_cdma2k_Type_Specific_Fields, tvb, (l_offset/8),1, ENC_NA);
2978 subtree1 = proto_item_add_subtree(item1,ett_cdma2k_subtree2);
2979 proto_tree_add_bits_item(subtree1, hf_cdma2k_Fundicated_Bcmc_Ch_Sup_Map_Len, tvb, l_offset, 2, ENC_BIG_ENDIAN);
2980 fundicatedBcmcChSupMapLen = tvb_get_bits8(tvb,l_offset, 2);
2982 proto_tree_add_bits_item(subtree1, hf_cdma2k_Fundicated_Bcmc_Ch_Sup_Map, tvb, l_offset, 3*(fundicatedBcmcChSupMapLen + 1), ENC_BIG_ENDIAN);
2983 l_offset+=3*(fundicatedBcmcChSupMapLen + 1);
2985 proto_tree_add_bits_item(subtree, hf_cdma2k_Auth_Signature_Incl, tvb, l_offset, 1, ENC_BIG_ENDIAN);
2986 authSignatureIncl = tvb_get_bits8(tvb,l_offset, 1);
2988 if(authSignatureIncl !=0)
2990 proto_tree_add_bits_item(subtree, hf_cdma2k_Time_Stamp_Short_Length, tvb, l_offset, 8, ENC_BIG_ENDIAN);
2992 proto_tree_add_bits_item(subtree, hf_cdma2k_Time_Stamp_Short, tvb, l_offset, 8, ENC_BIG_ENDIAN);
2993 l_offset+=8;/ * Length needs to be check * /
2994 proto_tree_add_bits_item(subtree, hf_cdma2k_Num_Bcmc_Programs, tvb, l_offset, 8, ENC_BIG_ENDIAN);
3000 *offset
= (l_offset
/8);
3002 *offset
= (l_offset
/8) + 1;
3006 /* Helper function to decode Handoff Direction Message Parameters */
3007 static void cdma2k_message_HANDOFF_DIR(proto_item
*item
,tvbuff_t
*tvb
,proto_tree
*tree
,unsigned *offset
, uint16_t msgType
)
3009 uint16_t useTime
= -1, parmsIncl
= -1, searchIncl
= -1, extraParmsIncl
= -1;
3010 uint16_t l_offset
= -1, returnIfHandoffFail
= -1, scrIncl
= -1, nnscrIncl
= -1;
3011 uint16_t recLen
= -1, pwrCntlStepIncl
= -1, schIncl
= -1, startTimeIncl
= -1;
3012 uint16_t loop
= -1, usePcTime
= -1, chInd
= -1, gatMode
= -1, pwrCntlDelayIncl
= -1;
3013 uint16_t encryptMode
= -1, linkIncl
= -1, pRev
= -1, syncIdIncl
= -1, syncIdLen
= -1;
3014 uint16_t ccInfoIncl
= -1, noCallAssign
= -1, resInd
= -1, cdmaRepSup
= -1, plcmIncl
= -1;
3015 uint16_t plcmType
= -1, dropTRangeIncl
= -1, fwdPDChSup
= -1, encIncl
= -1, sidIncl
= -1;
3016 uint16_t nidIncl
= -1, csSup
= -1, pacZoneId
= -1, pzHysEnabled
= -1, pzHysInfoIncl
= -1;
3017 uint16_t bcmcTchSup
= -1, numForAssign
= -1, schBcmc
= -1, addPlcmSchIncl
= -1;
3018 uint16_t addPlcmSchType
= -1, fSchOuterCodeIncl
= -1, txPwrIncl
= -1, txPwrDflt
= -1;
3019 proto_tree
*subtree
= NULL
, *subtree1
= NULL
, *subtree2
= NULL
;
3020 proto_item
*item1
= NULL
, *item2
= NULL
, *item3
= NULL
;
3024 item
= proto_tree_add_item(tree
,hf_cdma2k_UhdmMsg
, tvb
, *offset
,-1, ENC_NA
);
3028 item
= proto_tree_add_item(tree
,hf_cdma2k_MeIdUhdmMsg
, tvb
, *offset
,-1, ENC_NA
);
3030 subtree
= proto_item_add_subtree(item
, ett_cdma2k_subtree1
);
3032 proto_tree_add_bits_item(subtree
, hf_cdma2k_Use_Time
, tvb
, *offset
*8,1, ENC_BIG_ENDIAN
);
3033 useTime
= tvb_get_bits8(tvb
,*offset
*8,1);
3034 l_offset
= *offset
*8 + 1;
3037 proto_tree_add_bits_item(subtree
, hf_cdma2k_Action_Time
, tvb
, l_offset
, 6, ENC_BIG_ENDIAN
);
3040 proto_tree_add_bits_item(subtree
, hf_cdma2k_Hdm_Seq
, tvb
, l_offset
, 2, ENC_BIG_ENDIAN
);
3043 proto_tree_add_bits_item(subtree
, hf_cdma2k_Parms_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3044 parmsIncl
= tvb_get_bits8(tvb
,l_offset
, 1);
3048 proto_tree_add_bits_item(subtree
, hf_cdma2k_P_Rev
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
3049 pRev
= tvb_get_bits8(tvb
,l_offset
, 8);
3051 proto_tree_add_bits_item(subtree
, hf_cdma2k_Serv_Neg_Type
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3055 proto_tree_add_bits_item(subtree
, hf_cdma2k_Search_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3056 searchIncl
= tvb_get_bits8(tvb
,l_offset
, 1);
3060 item1
= proto_tree_add_item(subtree
, hf_cdma2k_Pilot_Search
, tvb
, (l_offset
/8),7, ENC_NA
);
3061 subtree1
= proto_item_add_subtree(item1
, ett_cdma2k_subtree2
);
3062 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Srch_Win_A
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
3064 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Srch_Win_N
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
3066 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Srch_Win_R
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
3068 proto_tree_add_bits_item(subtree1
, hf_cdma2k_T_Add
, tvb
, l_offset
, 6, ENC_BIG_ENDIAN
);
3070 proto_tree_add_bits_item(subtree1
, hf_cdma2k_T_Drop
, tvb
, l_offset
, 6, ENC_BIG_ENDIAN
);
3072 proto_tree_add_bits_item(subtree1
, hf_cdma2k_T_Comp
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
3074 proto_tree_add_bits_item(subtree1
, hf_cdma2k_T_Tdrop
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
3076 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Soft_Slope
, tvb
, l_offset
, 6, ENC_BIG_ENDIAN
);
3078 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Add_Intercept
, tvb
, l_offset
, 6, ENC_BIG_ENDIAN
);
3080 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Drop_Intercept
, tvb
, l_offset
, 6, ENC_BIG_ENDIAN
);
3084 proto_tree_add_bits_item(subtree
, hf_cdma2k_Extra_Parms_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3085 extraParmsIncl
= tvb_get_bits8(tvb
,l_offset
, 1);
3087 if(extraParmsIncl
== 1)
3089 item1
= proto_tree_add_item(subtree
, hf_cdma2k_Extra_Parms
, tvb
, (l_offset
/8),1, ENC_NA
);
3090 subtree1
= proto_item_add_subtree(item1
, ett_cdma2k_subtree2
);
3091 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Packet_Zone_Id
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
3092 pacZoneId
= tvb_get_bits8(tvb
,l_offset
, 8);
3094 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Frame_Offset
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
3096 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Private_Lcm
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3098 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Reset_L2
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3100 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Reset_Fpc
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3102 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Encrypt_Mode
, tvb
, l_offset
, 2, ENC_BIG_ENDIAN
);
3103 encryptMode
= tvb_get_bits8(tvb
,l_offset
, 2);
3105 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Nom_Pwr_Ext
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3107 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Nom_Pwr
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
3109 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Rlgain_Traffic_Pilot
, tvb
, l_offset
, 6, ENC_BIG_ENDIAN
);
3111 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Default_Rlag
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3113 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Num_Preamble
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
3115 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Band_Class
, tvb
, l_offset
, 5, ENC_BIG_ENDIAN
);
3117 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Cdma_Freq
, tvb
, l_offset
, 11, ENC_BIG_ENDIAN
);
3120 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Return_If_Handoff_Fail
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3121 returnIfHandoffFail
= tvb_get_bits8(tvb
,l_offset
, 1);
3123 if(returnIfHandoffFail
== 1)
3125 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Complete_Search
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3128 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Periodic_Search
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3130 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Scr_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3131 scrIncl
= tvb_get_bits8(tvb
,l_offset
, 1);
3136 item2
= proto_tree_add_item(subtree1
, hf_cdma2k_Scr
, tvb
, (l_offset
/8),1, ENC_NA
);
3137 subtree2
= proto_item_add_subtree(item2
, ett_cdma2k_subtree2
);
3138 proto_tree_add_bits_item(subtree2
,hf_cdma2k_Serv_Con_Seq
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
3140 proto_tree_add_bits_item(subtree2
,hf_cdma2k_Record_Type
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
3142 proto_tree_add_bits_item(subtree2
,hf_cdma2k_Record_Len
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
3143 recLen
= tvb_get_bits8(tvb
,l_offset
, 8);
3145 item3
= proto_tree_add_item(subtree2
,hf_cdma2k_Type_Specific_Fields
, tvb
, (l_offset
/8),recLen
+1, ENC_NA
);
3148 proto_item_append_text(item3
," 0x%02x",tvb_get_bits8(tvb
,l_offset
, 8));
3154 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Nnscr_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3155 nnscrIncl
= tvb_get_bits8(tvb
,l_offset
, 1);
3160 item2
= proto_tree_add_item(subtree1
, hf_cdma2k_Nnscr
, tvb
, (l_offset
/8),1, ENC_NA
);
3161 subtree2
= proto_item_add_subtree(item2
, ett_cdma2k_subtree2
);
3162 proto_tree_add_bits_item(subtree2
,hf_cdma2k_Record_Type
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
3164 proto_tree_add_bits_item(subtree2
,hf_cdma2k_Record_Len
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
3165 recLen
= tvb_get_bits8(tvb
,l_offset
, 8);
3167 item3
= proto_tree_add_item(subtree2
,hf_cdma2k_Type_Specific_Fields
, tvb
, (l_offset
/8),recLen
, ENC_NA
);
3170 proto_item_append_text(item3
," 0x%02x",tvb_get_bits8(tvb
,l_offset
, 8));
3175 } /* extraParmsIncl */
3177 proto_tree_add_bits_item(subtree
, hf_cdma2k_Use_Pwr_Cntl_Step
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3178 pwrCntlStepIncl
= tvb_get_bits8(tvb
,l_offset
, 1);
3180 if(pwrCntlStepIncl
== 1)
3182 proto_tree_add_bits_item(subtree
, hf_cdma2k_Pwr_Cntl_Step
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
3185 proto_tree_add_bits_item(subtree
, hf_cdma2k_Clear_Retry_Delay
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3187 proto_tree_add_bits_item(subtree
, hf_cdma2k_Sch_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3188 schIncl
= tvb_get_bits8(tvb
,l_offset
, 1);
3193 item1
= proto_tree_add_item(subtree
, hf_cdma2k_Sch
, tvb
, (l_offset
/8),7, ENC_NA
);
3194 subtree1
= proto_item_add_subtree(item1
, ett_cdma2k_subtree1
);
3195 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Num_For_Assign
, tvb
, l_offset
, 2, ENC_BIG_ENDIAN
);
3196 recLen
= tvb_get_bits8(tvb
,l_offset
, 2);
3197 numForAssign
= recLen
;
3200 for(loop
= 1; loop
<= recLen
; loop
++)
3202 item2
= proto_tree_add_item(subtree1
, hf_cdma2k_Record_For_Assign
, tvb
, (l_offset
/8),3, ENC_NA
);
3203 proto_item_append_text(item2
, " : [%02d]",loop
);
3204 subtree2
= proto_item_add_subtree(item2
, ett_cdma2k_subtree2
);
3205 proto_tree_add_bits_item(subtree2
,hf_cdma2k_Sch_Id
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3207 proto_tree_add_bits_item(subtree2
,hf_cdma2k_Sch_Duration
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
3209 proto_tree_add_bits_item(subtree2
,hf_cdma2k_Sch_Start_Time_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3210 startTimeIncl
= tvb_get_bits8(tvb
,l_offset
, 1);
3212 if(startTimeIncl
== 1)
3214 proto_tree_add_bits_item(subtree2
,hf_cdma2k_Sch_Start_Time
, tvb
, l_offset
, 5, ENC_BIG_ENDIAN
);
3217 proto_tree_add_bits_item(subtree2
,hf_cdma2k_Sccl_Index
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
3221 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Num_Rev_Assign
, tvb
, l_offset
, 2, ENC_BIG_ENDIAN
);
3222 recLen
= tvb_get_bits8(tvb
,l_offset
, 2);
3225 for(loop
= 1; loop
<= recLen
; loop
++)
3227 item2
= proto_tree_add_item(subtree1
, hf_cdma2k_Record_Rev_Assign
, tvb
, (l_offset
/8),3, ENC_NA
);
3228 proto_item_append_text(item2
, " : [%02d]",loop
);
3229 subtree2
= proto_item_add_subtree(item2
, ett_cdma2k_subtree2
);
3230 proto_tree_add_bits_item(subtree2
,hf_cdma2k_Sch_Id
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3232 proto_tree_add_bits_item(subtree2
,hf_cdma2k_Sch_Duration
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
3234 proto_tree_add_bits_item(subtree2
,hf_cdma2k_Sch_Start_Time_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3235 startTimeIncl
= tvb_get_bits8(tvb
,l_offset
, 1);
3237 if(startTimeIncl
== 1)
3239 proto_tree_add_bits_item(subtree2
,hf_cdma2k_Sch_Start_Time
, tvb
, l_offset
, 5, ENC_BIG_ENDIAN
);
3242 proto_tree_add_bits_item(subtree2
,hf_cdma2k_Sch_Num_Bits_Idx
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
3247 proto_tree_add_bits_item(subtree
, hf_cdma2k_Fpc_Subchain_Gain
, tvb
, l_offset
, 5, ENC_BIG_ENDIAN
);
3249 proto_tree_add_bits_item(subtree
, hf_cdma2k_Use_Pc_Time
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3250 usePcTime
= tvb_get_bits8(tvb
,l_offset
, 1);
3254 proto_tree_add_bits_item(subtree
, hf_cdma2k_Pc_Action_Time
, tvb
, l_offset
, 6, ENC_BIG_ENDIAN
);
3257 proto_tree_add_bits_item(subtree
, hf_cdma2k_Ch_Ind
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
3258 chInd
= tvb_get_bits8(tvb
,l_offset
, 3);
3260 proto_tree_add_bits_item(subtree
, hf_cdma2k_Active_Set_Rec_Len
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
3261 recLen
= tvb_get_bits8(tvb
,l_offset
, 8);
3264 if((recLen
> 0) && (chInd
!= 0))
3266 item1
= proto_tree_add_item(subtree
, hf_cdma2k_Active_Set_Rec_Fields
, tvb
, (l_offset
/8),recLen
, ENC_NA
);
3267 subtree1
= proto_item_add_subtree(item1
, ett_cdma2k_subtree1
);
3268 cdma2k_message_ACTIVE_SET_RECORD_FIELDS(item1
, tvb
, subtree1
, &l_offset
, chInd
, schIncl
);
3275 if((chInd
!= 2) && (chInd
!= 6))
3277 proto_tree_add_bits_item(subtree
, hf_cdma2k_Rev_Fch_Gating_Mode
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3278 gatMode
= tvb_get_bits8(tvb
,l_offset
, 1);
3283 proto_tree_add_bits_item(subtree
, hf_cdma2k_Rev_Pwr_Cntl_Delay_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3284 pwrCntlDelayIncl
= tvb_get_bits8(tvb
,l_offset
, 1);
3286 if(pwrCntlDelayIncl
== 1)
3288 proto_tree_add_bits_item(subtree
, hf_cdma2k_Rev_Pwr_Cntl_Delay
, tvb
, l_offset
, 2, ENC_BIG_ENDIAN
);
3292 if(encryptMode
== 2 || encryptMode
== 3)
3294 if(encryptMode
== 3)
3296 proto_tree_add_bits_item(subtree
, hf_cdma2k_D_Sig_Encrypt_Mode
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
3299 proto_tree_add_bits_item(subtree
, hf_cdma2k_Enc_Key_Size
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
3302 proto_tree_add_bits_item(subtree
, hf_cdma2k_3xfl_1xrl_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3303 linkIncl
= tvb_get_bits8(tvb
,l_offset
, 1);
3307 proto_tree_add_bits_item(subtree
, hf_cdma2k_1xrl_Freq_Offset
, tvb
, l_offset
, 2, ENC_BIG_ENDIAN
);
3310 if(scrIncl
== 1 || nnscrIncl
== 1 || pRev
>= 11)
3312 proto_tree_add_bits_item(subtree
, hf_cdma2k_Sync_Id_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3313 syncIdIncl
= tvb_get_bits8(tvb
,l_offset
, 1);
3317 proto_tree_add_bits_item(subtree
, hf_cdma2k_Sync_Id_Len
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
3318 syncIdLen
= tvb_get_bits8(tvb
,l_offset
, 4);
3320 item1
= proto_tree_add_item(subtree
, hf_cdma2k_Sync_Id
, tvb
, l_offset
/8,syncIdLen
, ENC_NA
);
3321 while(syncIdLen
> 0)
3323 proto_item_append_text(item1
, " %02x",tvb_get_bits8(tvb
,l_offset
, 8));
3329 proto_tree_add_bits_item(subtree
, hf_cdma2k_Cc_Info_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3330 ccInfoIncl
= tvb_get_bits8(tvb
,l_offset
, 1);
3334 proto_tree_add_bits_item(subtree
, hf_cdma2k_Num_Calls_Assign
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
3335 noCallAssign
= tvb_get_bits8(tvb
,l_offset
, 8);
3337 for(loop
= 1; loop
<= noCallAssign
; loop
++)
3339 item1
= proto_tree_add_item(subtree
, hf_cdma2k_Record_Calls_Assign
, tvb
, l_offset
/8,noCallAssign
*2, ENC_NA
);
3340 proto_item_append_text(item1
, " : [%02d]",loop
);
3341 subtree1
= proto_item_add_subtree(item1
, ett_cdma2k_subtree1
);
3342 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Con_Ref
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
3344 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Response_Ind
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3345 resInd
= tvb_get_bits8(tvb
,l_offset
, 1);
3349 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Tag
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
3354 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Bypass_Alert_Answer
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3360 proto_tree_add_bits_item(subtree
, hf_cdma2k_Cs_Supported
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3361 csSup
= tvb_get_bits8(tvb
,l_offset
, 1);
3368 if(encryptMode
== 2 && scrIncl
==1)
3370 proto_tree_add_bits_item(subtree
, hf_cdma2k_Reserved
, tvb
, l_offset
, 13, ENC_BIG_ENDIAN
);
3373 else if(encryptMode
== 2 && scrIncl
!=1 && nnscrIncl
== 1)
3375 proto_tree_add_bits_item(subtree
, hf_cdma2k_Reserved
, tvb
, l_offset
, 12, ENC_BIG_ENDIAN
);
3378 else if(encryptMode
== 2 && scrIncl
!=1 && nnscrIncl
!= 1)
3380 proto_tree_add_bits_item(subtree
, hf_cdma2k_Reserved
, tvb
, l_offset
, 11, ENC_BIG_ENDIAN
);
3383 else if(encryptMode
!= 2 && scrIncl
==1)
3385 proto_tree_add_bits_item(subtree
, hf_cdma2k_Reserved
, tvb
, l_offset
, 10, ENC_BIG_ENDIAN
);
3388 else if(encryptMode
!= 2 && scrIncl
!=1 && nnscrIncl
== 1)
3390 proto_tree_add_bits_item(subtree
, hf_cdma2k_Reserved
, tvb
, l_offset
, 9, ENC_BIG_ENDIAN
);
3393 else if(encryptMode
!= 2 && scrIncl
!=1 && nnscrIncl
!= 1)
3395 proto_tree_add_bits_item(subtree
, hf_cdma2k_Reserved
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
3399 else if(pRev
== 7 || pRev
== 8)
3401 proto_tree_add_bits_item(subtree
, hf_cdma2k_Reserved
, tvb
, l_offset
, 6, ENC_BIG_ENDIAN
);
3405 proto_tree_add_bits_item(subtree
, hf_cdma2k_Plcm_Type_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3406 plcmIncl
= tvb_get_bits8(tvb
,l_offset
, 1);
3410 proto_tree_add_bits_item(subtree
, hf_cdma2k_Plcm_Type
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
3411 plcmType
= tvb_get_bits8(tvb
,l_offset
, 4);
3415 proto_tree_add_bits_item(subtree
, hf_cdma2k_Plcm_39
, tvb
, l_offset
, 39, ENC_BIG_ENDIAN
);
3421 if(pRev
> 7 && msgType
== 34)
3423 proto_tree_add_bits_item(subtree
, hf_cdma2k_Chm_Supported
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3425 proto_tree_add_bits_item(subtree
, hf_cdma2k_Cdma_Off_Time_Rep_Sup_Ind
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3426 cdmaRepSup
= tvb_get_bits8(tvb
,l_offset
, 1);
3430 proto_tree_add_bits_item(subtree
, hf_cdma2k_Cdma_Off_Time_Rep_Threshold_Unit
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3432 proto_tree_add_bits_item(subtree
, hf_cdma2k_Cdma_Off_Time_Rep_Threshold
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
3435 proto_tree_add_bits_item(subtree
, hf_cdma2k_Release_To_Idle_Ind
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3437 proto_tree_add_bits_item(subtree
, hf_cdma2k_Msg_Integrity_Sup
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3439 proto_tree_add_bits_item(subtree
, hf_cdma2k_Gen_2g_Key
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3441 proto_tree_add_bits_item(subtree
, hf_cdma2k_Register_In_Idle
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3444 proto_tree_add_bits_item(subtree
, hf_cdma2k_Plcm_Type_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3445 plcmIncl
= tvb_get_bits8(tvb
,l_offset
, 1);
3449 proto_tree_add_bits_item(subtree
, hf_cdma2k_Plcm_Type
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
3451 proto_tree_add_bits_item(subtree
, hf_cdma2k_Plcm_39
, tvb
, l_offset
, 39, ENC_BIG_ENDIAN
);
3456 proto_tree_add_bits_item(subtree
, hf_cdma2k_T_Tdrop_Range_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3457 dropTRangeIncl
= tvb_get_bits8(tvb
,l_offset
, 1);
3459 if(dropTRangeIncl
== 1)
3461 proto_tree_add_bits_item(subtree
, hf_cdma2k_T_Tdrop_Range
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
3465 proto_tree_add_bits_item(subtree
, hf_cdma2k_For_Pdch_Supported
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3466 fwdPDChSup
= tvb_get_bits8(tvb
,l_offset
, 1);
3470 proto_tree_add_bits_item(subtree
, hf_cdma2k_Pdch_Chm_Supported
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3473 proto_tree_add_bits_item(subtree
, hf_cdma2k_Pilot_Info_Req_Supported
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3475 proto_tree_add_bits_item(subtree
, hf_cdma2k_Enc_Supported
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3476 encIncl
= tvb_get_bits8(tvb
,l_offset
, 1);
3480 proto_tree_add_bits_item(subtree
, hf_cdma2k_Sig_Encrypt_Sup
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
3482 proto_tree_add_bits_item(subtree
, hf_cdma2k_Ui_Encrypt_Sup
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
3485 proto_tree_add_bits_item(subtree
, hf_cdma2k_Use_Sync_Id
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3487 proto_tree_add_bits_item(subtree
, hf_cdma2k_Sid_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3488 sidIncl
= tvb_get_bits8(tvb
,l_offset
, 1);
3492 proto_tree_add_bits_item(subtree
, hf_cdma2k_Sid
, tvb
, l_offset
, 15, ENC_BIG_ENDIAN
);
3495 proto_tree_add_bits_item(subtree
, hf_cdma2k_Nid_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3496 nidIncl
= tvb_get_bits8(tvb
,l_offset
, 1);
3500 proto_tree_add_bits_item(subtree
, hf_cdma2k_Nid
, tvb
, l_offset
, 16, ENC_BIG_ENDIAN
);
3504 proto_tree_add_bits_item(subtree
, hf_cdma2k_Sdb_Supported
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3508 proto_tree_add_bits_item(subtree
, hf_cdma2k_Mob_Qos
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3511 proto_tree_add_bits_item(subtree
, hf_cdma2k_Ms_Init_Pos_Loc_Sup_Ind
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3515 if(pRev
> 9 && msgType
== 34)
3519 proto_tree_add_bits_item(subtree
, hf_cdma2k_Rev_Pdch_Supported
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3524 proto_tree_add_bits_item(subtree
, hf_cdma2k_Pz_Hyst_Enabled
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3525 pzHysEnabled
= tvb_get_bits8(tvb
,l_offset
, 1);
3527 if(pzHysEnabled
== 1)
3529 proto_tree_add_bits_item(subtree
, hf_cdma2k_Pz_Hyst_Info_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3530 pzHysInfoIncl
= tvb_get_bits8(tvb
,l_offset
, 1);
3532 if(pzHysInfoIncl
== 1)
3534 proto_tree_add_bits_item(subtree
, hf_cdma2k_Pz_Hyst_List_Len
, tvb
, l_offset
, 4, ENC_BIG_ENDIAN
);
3536 proto_tree_add_bits_item(subtree
, hf_cdma2k_Pz_Hyst_Act_Timer
, tvb
, l_offset
, 8, ENC_BIG_ENDIAN
);
3538 proto_tree_add_bits_item(subtree
, hf_cdma2k_Pz_Hyst_Timer_Mul
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
3540 proto_tree_add_bits_item(subtree
, hf_cdma2k_Pz_Hyst_Timer_Exp
, tvb
, l_offset
, 5, ENC_BIG_ENDIAN
);
3545 proto_tree_add_bits_item(subtree
, hf_cdma2k_Bcmc_On_Traffic_Sup
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3546 bcmcTchSup
= tvb_get_bits8(tvb
,l_offset
, 1);
3550 proto_tree_add_bits_item(subtree
, hf_cdma2k_Auto_Re_Traffic_Allowed_Ind
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3553 if(bcmcTchSup
== 1 || numForAssign
== 1)
3555 proto_tree_add_bits_item(subtree
, hf_cdma2k_Sch_Bcmc_Ind
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3556 schBcmc
= tvb_get_bits8(tvb
,l_offset
, 1);
3561 proto_tree_add_bits_item(subtree
, hf_cdma2k_Add_Plcm_For_Sch_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3562 addPlcmSchIncl
= tvb_get_bits8(tvb
,l_offset
, 1);
3564 if(addPlcmSchIncl
== 1)
3566 proto_tree_add_bits_item(subtree
, hf_cdma2k_Add_Plcm_For_Sch_Type
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3567 addPlcmSchType
= tvb_get_bits8(tvb
,l_offset
, 1);
3569 if(addPlcmSchType
== 1)
3571 proto_tree_add_bits_item(subtree
, hf_cdma2k_Add_Plcm_For_Sch_35
, tvb
, l_offset
, 35, ENC_BIG_ENDIAN
);
3575 for(loop
=1; loop
<= numForAssign
; loop
++)
3577 item1
= proto_tree_add_item(subtree
, hf_cdma2k_Record_Sch_Bcmc
, tvb
, l_offset
/8,numForAssign
*2, ENC_NA
);
3578 proto_item_append_text(item1
, " : [%02d]",loop
);
3579 subtree1
= proto_item_add_subtree(item1
, ett_cdma2k_subtree1
);
3580 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Use_Add_Plcm_For_Sch
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3582 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Fsch_Outercode_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3583 fSchOuterCodeIncl
= tvb_get_bits8(tvb
,l_offset
, 1);
3585 if(fSchOuterCodeIncl
== 1)
3587 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Fsch_Outercode_Rate
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
3589 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Fsch_Outercode_Offset
, tvb
, l_offset
, 6, ENC_BIG_ENDIAN
);
3596 proto_tree_add_bits_item(subtree
, hf_cdma2k_Max_Add_Serv_Instance
, tvb
, l_offset
, 3, ENC_BIG_ENDIAN
);
3599 proto_tree_add_bits_item(subtree
, hf_cdma2k_Use_Ch_Cfg_Rrm
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3601 proto_tree_add_bits_item(subtree
, hf_cdma2k_Tx_Pwr_Limit_Incl
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3602 txPwrIncl
= tvb_get_bits8(tvb
,l_offset
, 1);
3606 proto_tree_add_bits_item(subtree
, hf_cdma2k_Tx_Pwr_Limit_Default
, tvb
, l_offset
, 1, ENC_BIG_ENDIAN
);
3607 txPwrDflt
= tvb_get_bits8(tvb
,l_offset
, 1);
3611 proto_tree_add_bits_item(subtree
, hf_cdma2k_Tx_Pwr_Limit
, tvb
, l_offset
, 6, ENC_BIG_ENDIAN
);
3619 *offset
= (l_offset
/8);
3623 proto_tree_add_bits_item(subtree
, hf_cdma2k_Reserved
, tvb
, l_offset
, (8-(l_offset
%8)), ENC_BIG_ENDIAN
);
3624 *offset
= (l_offset
/8) + 1;
3629 /* Helper function to decode Alert With Info Message Parameters */
3630 static void cdma2k_message_ALERT_WITH_INFO(proto_item
*item
,tvbuff_t
*tvb
,proto_tree
*tree
,unsigned *offset
)
3632 uint16_t recType
= -1, recLen
= -1, extBit
= -1, numGrps
= -1;
3633 uint16_t polIncl
= -1, inc
= -1;
3634 proto_tree
*subtree
= NULL
, *subtree1
= NULL
;
3635 proto_item
*item1
= NULL
, *item2
= NULL
;
3637 item
= proto_tree_add_item(tree
,hf_cdma2k_AlertWithInfoMsg
, tvb
, *offset
,-1, ENC_NA
);
3638 subtree
= proto_item_add_subtree(item
, ett_cdma2k_subtree1
);
3641 while(tvb_captured_length_remaining(tvb
,*offset
) != 0 )
3643 item1
= proto_tree_add_item(subtree
, hf_cdma2k_Info_Rec
, tvb
, *offset
,1, ENC_NA
);
3644 proto_item_append_text(item1
," : [%02d]", inc
);
3646 subtree1
= proto_item_add_subtree(item1
, ett_cdma2k_subtree1
);
3647 proto_tree_add_item(subtree1
, hf_cdma2k_Record_Type
, tvb
, *offset
,1, ENC_BIG_ENDIAN
);
3648 recType
= tvb_get_bits8(tvb
,*offset
*8,8);
3650 proto_tree_add_item(subtree1
, hf_cdma2k_Record_Len
, tvb
, *offset
,1, ENC_BIG_ENDIAN
);
3651 recLen
= tvb_get_bits8(tvb
,*offset
*8,8);
3653 item1
= proto_tree_add_item(subtree1
, hf_cdma2k_Type_Specific_Fields
, tvb
, *offset
,recLen
, ENC_NA
);
3659 proto_item_append_text(item1
," DISPLAY");
3660 subtree1
= proto_item_add_subtree(item1
, ett_cdma2k_subtree1
);
3661 item2
= proto_tree_add_item(subtree1
, hf_cdma2k_Chari
, tvb
, *offset
,recLen
, ENC_NA
);
3662 proto_item_append_text(item2
, " - ASCII Values Of Characters : ");
3665 proto_item_append_text(item2
, "%02x ",tvb_get_bits8(tvb
,*offset
*8,8));
3674 proto_item_append_text(item1
," CALLED PARTY NUMBER");
3675 subtree1
= proto_item_add_subtree(item1
, ett_cdma2k_subtree1
);
3676 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Number_Type
, tvb
, *offset
*8,3, ENC_BIG_ENDIAN
);
3677 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Number_Plan
, tvb
, *offset
*8+3,4, ENC_BIG_ENDIAN
);
3678 item2
= proto_tree_add_item(subtree1
, hf_cdma2k_Chari
, tvb
, *offset
,recLen
, ENC_NA
);
3679 proto_item_append_text(item2
, " - ASCII Values Of Called Party Number : ");
3682 proto_item_append_text(item2
, "%02x ",tvb_get_bits8(tvb
,*offset
*8+7,8));
3686 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Reserved
, tvb
, *offset
*8+7,1, ENC_BIG_ENDIAN
);
3693 proto_item_append_text(item1
," CALLING PARTY NUMBER");
3694 subtree1
= proto_item_add_subtree(item1
, ett_cdma2k_subtree1
);
3695 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Number_Type
, tvb
, *offset
*8,3, ENC_BIG_ENDIAN
);
3696 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Number_Plan
, tvb
, *offset
*8+3,4, ENC_BIG_ENDIAN
);
3697 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Pres_Indicator
, tvb
, *offset
*8+7,2, ENC_BIG_ENDIAN
);
3700 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Scr_Indicator
, tvb
, *offset
*8+1,2, ENC_BIG_ENDIAN
);
3701 item2
= proto_tree_add_item(subtree1
, hf_cdma2k_Chari
, tvb
, *offset
,recLen
, ENC_NA
);
3702 proto_item_append_text(item2
, " - ASCII Values Of Calling Party Number : ");
3705 proto_item_append_text(item2
, "%02x ",tvb_get_bits8(tvb
,*offset
*8+3,8));
3709 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Reserved
, tvb
, *offset
*8+3,5, ENC_BIG_ENDIAN
);
3716 proto_item_append_text(item1
," SIGNAL");
3717 subtree1
= proto_item_add_subtree(item1
, ett_cdma2k_subtree1
);
3718 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Signal_Type
, tvb
, *offset
*8,2, ENC_BIG_ENDIAN
);
3719 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Alert_Pitch
, tvb
, *offset
*8+2,2, ENC_BIG_ENDIAN
);
3720 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Signal
, tvb
, *offset
*8+4,6, ENC_BIG_ENDIAN
);
3722 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Reserved
, tvb
, *offset
*8+2,6, ENC_BIG_ENDIAN
);
3729 proto_item_append_text(item1
," MESSAGE WAITING");
3730 subtree1
= proto_item_add_subtree(item1
, ett_cdma2k_subtree1
);
3731 proto_tree_add_item(subtree1
, hf_cdma2k_Msg_Count
, tvb
, *offset
,1, ENC_BIG_ENDIAN
);
3738 proto_item_append_text(item1
," CALLED PARTY SUBADDRESS");
3739 subtree1
= proto_item_add_subtree(item1
, ett_cdma2k_subtree1
);
3740 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Extension_Bit
, tvb
, *offset
*8,1, ENC_BIG_ENDIAN
);
3741 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Subaddress_Type
, tvb
, *offset
*8+1,3, ENC_BIG_ENDIAN
);
3742 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Odd_Even_Ind
, tvb
, *offset
*8+4,1, ENC_BIG_ENDIAN
);
3743 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Reserved
, tvb
, *offset
*8+5,3, ENC_BIG_ENDIAN
);
3746 item2
= proto_tree_add_item(subtree1
, hf_cdma2k_Chari
, tvb
, *offset
,recLen
-1, ENC_NA
);
3747 proto_item_append_text(item2
, " - ASCII Values Of Called Party Subaddress : ");
3750 proto_item_append_text(item2
, "%02x ",tvb_get_bits8(tvb
,*offset
*8,8));
3759 proto_item_append_text(item1
," CALLING PARTY SUBADDRESS");
3760 subtree1
= proto_item_add_subtree(item1
, ett_cdma2k_subtree1
);
3761 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Extension_Bit
, tvb
, *offset
*8,1, ENC_BIG_ENDIAN
);
3762 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Subaddress_Type
, tvb
, *offset
*8+1,3, ENC_BIG_ENDIAN
);
3763 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Odd_Even_Ind
, tvb
, *offset
*8+4,1, ENC_BIG_ENDIAN
);
3764 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Reserved
, tvb
, *offset
*8+5,3, ENC_BIG_ENDIAN
);
3767 item2
= proto_tree_add_item(subtree1
, hf_cdma2k_Chari
, tvb
, *offset
,recLen
-1, ENC_NA
);
3768 proto_item_append_text(item2
, " - ASCII Values Of Calling Party Subaddress : ");
3771 proto_item_append_text(item2
, "%02x ",tvb_get_bits8(tvb
,*offset
*8,8));
3780 proto_item_append_text(item1
," REDIRECTING NUMBER");
3781 subtree1
= proto_item_add_subtree(item1
, ett_cdma2k_subtree1
);
3782 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Extension_Bit
, tvb
, *offset
*8,1, ENC_BIG_ENDIAN
);
3783 extBit
= tvb_get_bits8(tvb
,*offset
*8,1);
3784 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Number_Type
, tvb
, *offset
*8+1,3, ENC_BIG_ENDIAN
);
3785 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Number_Plan
, tvb
, *offset
*8+4,4, ENC_BIG_ENDIAN
);
3790 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Extension_Bit
, tvb
, *offset
*8,1, ENC_BIG_ENDIAN
);
3791 extBit
= tvb_get_bits8(tvb
,*offset
*8,1);
3792 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Pres_Indicator
, tvb
, *offset
*8+1,2, ENC_BIG_ENDIAN
);
3793 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Reserved
, tvb
, *offset
*8+3,3, ENC_BIG_ENDIAN
);
3794 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Scr_Indicator
, tvb
, *offset
*8+6,2, ENC_BIG_ENDIAN
);
3800 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Extension_Bit
, tvb
, *offset
*8,1, ENC_BIG_ENDIAN
);
3801 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Reserved
, tvb
, *offset
*8+1,3, ENC_BIG_ENDIAN
);
3802 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Redirection_Reason
, tvb
, *offset
*8+4,4, ENC_BIG_ENDIAN
);
3806 item2
= proto_tree_add_item(subtree1
, hf_cdma2k_Chari
, tvb
, *offset
,recLen
-1, ENC_NA
);
3807 proto_item_append_text(item2
, " - ASCII Values Of Redirecting Number : ");
3810 proto_item_append_text(item2
, "%02x ",tvb_get_bits8(tvb
,*offset
*8,8));
3819 proto_item_append_text(item1
," REDIRECTING SUBADDRESS");
3820 subtree1
= proto_item_add_subtree(item1
, ett_cdma2k_subtree1
);
3821 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Extension_Bit
, tvb
, *offset
*8,1, ENC_BIG_ENDIAN
);
3822 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Subaddress_Type
, tvb
, *offset
*8+1,3, ENC_BIG_ENDIAN
);
3823 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Odd_Even_Ind
, tvb
, *offset
*8+4,1, ENC_BIG_ENDIAN
);
3824 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Reserved
, tvb
, *offset
*8+5,3, ENC_BIG_ENDIAN
);
3827 item2
= proto_tree_add_item(subtree1
, hf_cdma2k_Chari
, tvb
, *offset
,recLen
-1, ENC_NA
);
3828 proto_item_append_text(item2
, " - ASCII Values Of Redirecting Subaddress : ");
3831 proto_item_append_text(item2
, "%02x ",tvb_get_bits8(tvb
,*offset
*8,8));
3840 proto_item_append_text(item1
," METER PULSES");
3841 subtree1
= proto_item_add_subtree(item1
, ett_cdma2k_subtree1
);
3842 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Pulse_Freq
, tvb
, *offset
*8,11, ENC_BIG_ENDIAN
);
3844 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Pulse_On_Time
, tvb
, *offset
*8+3,8, ENC_BIG_ENDIAN
);
3846 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Pulse_Off_Time
, tvb
, *offset
*8+3,8, ENC_BIG_ENDIAN
);
3848 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Pulse_Count
, tvb
, *offset
*8+3,4, ENC_BIG_ENDIAN
);
3849 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Reserved
, tvb
, *offset
*8+7,1, ENC_BIG_ENDIAN
);
3856 proto_item_append_text(item1
," PARAMETRIC ALERTING");
3857 subtree1
= proto_item_add_subtree(item1
, ett_cdma2k_subtree1
);
3858 proto_tree_add_item(subtree1
, hf_cdma2k_Cadence_Count
, tvb
, *offset
,1, ENC_BIG_ENDIAN
);
3860 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Num_Grps
, tvb
, *offset
*8,4, ENC_BIG_ENDIAN
);
3861 numGrps
= tvb_get_bits8(tvb
,*offset
*8,4);
3864 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Amplitude
, tvb
, *offset
*8+4,8, ENC_BIG_ENDIAN
);
3866 item2
= proto_tree_add_item(subtree1
, hf_cdma2k_Freq
, tvb
, *offset
,2, ENC_NA
);
3867 proto_item_append_text(item2
, " [01] : %02d", tvb_get_bits8(tvb
,*offset
*8+4,10));
3869 item2
= proto_tree_add_item(subtree1
, hf_cdma2k_Freq
, tvb
, *offset
,2, ENC_NA
);
3870 proto_item_append_text(item2
, " [02] : %02d", tvb_get_bits8(tvb
,*offset
*8+6,10));
3872 proto_tree_add_item(subtree1
, hf_cdma2k_On_Time
, tvb
, *offset
,1, ENC_BIG_ENDIAN
);
3874 proto_tree_add_item(subtree1
, hf_cdma2k_Off_Time
, tvb
, *offset
,1, ENC_BIG_ENDIAN
);
3876 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Repeat
, tvb
, *offset
*8,4, ENC_BIG_ENDIAN
);
3877 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Delay
, tvb
, *offset
*8+4,8, ENC_BIG_ENDIAN
);
3881 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Cadence_Type
, tvb
, *offset
*8+4,2, ENC_BIG_ENDIAN
);
3882 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Reserved
, tvb
, *offset
*8+6,2, ENC_BIG_ENDIAN
);
3889 proto_item_append_text(item1
," LINE CONTROL");
3890 subtree1
= proto_item_add_subtree(item1
, ett_cdma2k_subtree1
);
3891 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Polarity_Incl
, tvb
, *offset
*8,1, ENC_BIG_ENDIAN
);
3892 polIncl
= tvb_get_bits8(tvb
,*offset
*8,1);
3895 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Toggle_Mode
, tvb
, *offset
*8+1,1, ENC_BIG_ENDIAN
);
3896 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Reverse_Polarity
, tvb
, *offset
*8+2,1, ENC_BIG_ENDIAN
);
3897 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Pwr_Denial_Time
, tvb
, *offset
*8+3,8, ENC_BIG_ENDIAN
);
3899 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Reserved
, tvb
, *offset
*8+3,5, ENC_BIG_ENDIAN
);
3904 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Pwr_Denial_Time
, tvb
, *offset
*8+1,8, ENC_BIG_ENDIAN
);
3906 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Reserved
, tvb
, *offset
*8+1,7, ENC_BIG_ENDIAN
);
3914 proto_item_append_text(item1
," CALL WAITING INDICATOR");
3915 subtree1
= proto_item_add_subtree(item1
, ett_cdma2k_subtree1
);
3916 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Call_Waiting_Ind
, tvb
, *offset
*8,1, ENC_BIG_ENDIAN
);
3917 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Reserved
, tvb
, *offset
*8+1,7, ENC_BIG_ENDIAN
);
3924 proto_item_append_text(item1
," Invalid / Unsupported Record Type in Alert With Info Message");
3932 /* Helper function to decode Active Set Record Field Parameters */
3933 static void cdma2k_message_ACTIVE_SET_RECORD_FIELDS(proto_item
*item _U_
, tvbuff_t
*tvb
, proto_tree
*subtree
, uint16_t *l_offset
, uint16_t chInd
, uint16_t schIncl
)
3935 uint16_t loop
= -1, numForSch
= -1, numRevSch
= -1, pilotCnt
= -1, srchOffsetIncl
= -1;
3936 uint16_t pilotInfoIncl
= -1, recLen
= -1, schCnt
= -1, fchInfoIncl
= -1, fchLowIncl
= -1;
3937 uint16_t fchHighIncl
= -1, schInfoIncl
= -1, schLowIncl
= -1, ccshIncl
= -1, ccshEncIncl
= -1;
3938 uint16_t pilotIncl
= -1, schHighIncl
= -1, dcchInfoIncl
= -1, dcchLowIncl
= -1, dcchHighIncl
= -1;
3939 uint16_t bcmcFunIncl
= -1, addPlcmFchIncl
= -1, cpcchInfoIncl
= -1, addPlcmFchType
= -1;
3940 proto_tree
*subtree1
= NULL
, *subtree2
= NULL
;
3941 proto_item
*item1
= NULL
, *item2
= NULL
;
3945 proto_tree_add_bits_item(subtree
, hf_cdma2k_Num_For_Sch
, tvb
, *l_offset
, 5, ENC_BIG_ENDIAN
);
3946 numForSch
= tvb_get_bits8(tvb
,*l_offset
, 5);
3950 for(loop
= 1; loop
<= numForSch
; loop
++)
3952 item1
= proto_tree_add_item(subtree
, hf_cdma2k_Record_For_Sch
, tvb
, *l_offset
/8,numForSch
*2, ENC_NA
);
3953 proto_item_append_text(item1
," : [%d]", loop
);
3954 subtree1
= proto_item_add_subtree(item1
,ett_cdma2k_subtree2
);
3955 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Sch_Id
, tvb
, *l_offset
, 1, ENC_BIG_ENDIAN
);
3957 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Sccl_Index
, tvb
, *l_offset
, 4, ENC_BIG_ENDIAN
);
3959 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Sch_Num_Bits_Idx
, tvb
, *l_offset
, 4, ENC_BIG_ENDIAN
);
3963 proto_tree_add_bits_item(subtree
, hf_cdma2k_Num_Rev_Sch
, tvb
, *l_offset
, 5, ENC_BIG_ENDIAN
);
3964 numRevSch
= tvb_get_bits8(tvb
,*l_offset
, 5);
3968 for(loop
= 1; loop
<= numRevSch
; loop
++)
3970 item1
= proto_tree_add_item(subtree
, hf_cdma2k_Record_Rev_Sch
, tvb
, *l_offset
/8,numRevSch
*1, ENC_NA
);
3971 proto_item_append_text(item1
," : [%d]", loop
);
3972 subtree1
= proto_item_add_subtree(item1
,ett_cdma2k_subtree2
);
3973 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Sch_Id
, tvb
, *l_offset
, 1, ENC_BIG_ENDIAN
);
3975 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Walsh_Id
, tvb
, *l_offset
, 1, ENC_BIG_ENDIAN
);
3977 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Sch_Num_Bits_Idx
, tvb
, *l_offset
, 4, ENC_BIG_ENDIAN
);
3983 proto_tree_add_bits_item(subtree
, hf_cdma2k_Num_Pilots
, tvb
, *l_offset
, 3, ENC_BIG_ENDIAN
);
3984 pilotCnt
= tvb_get_bits8(tvb
,*l_offset
, 3);
3986 proto_tree_add_bits_item(subtree
, hf_cdma2k_Srch_Offset_Incl
, tvb
, *l_offset
, 1, ENC_BIG_ENDIAN
);
3987 srchOffsetIncl
= tvb_get_bits8(tvb
,*l_offset
, 1);
3989 for(loop
= 1; loop
<= pilotCnt
; loop
++)
3991 item1
= proto_tree_add_item(subtree
, hf_cdma2k_Record_Pilots
, tvb
, *l_offset
/8,1, ENC_NA
);
3992 proto_item_append_text(item1
," : [%d]", loop
);
3993 subtree1
= proto_item_add_subtree(item1
,ett_cdma2k_subtree2
);
3994 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Pilot_Pn
, tvb
, *l_offset
, 9, ENC_BIG_ENDIAN
);
3996 if(srchOffsetIncl
== 1)
3998 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Srch_Offset
, tvb
, *l_offset
, 3, ENC_BIG_ENDIAN
);
4001 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Add_Pilot_Rec_Incl
, tvb
, *l_offset
, 1, ENC_BIG_ENDIAN
);
4002 pilotInfoIncl
= tvb_get_bits8(tvb
,*l_offset
, 1);
4004 if(pilotInfoIncl
== 1)
4006 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Pilot_Rec_Type
, tvb
, *l_offset
, 3, ENC_BIG_ENDIAN
);
4008 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Record_Len
, tvb
, *l_offset
, 3, ENC_BIG_ENDIAN
);
4009 recLen
= tvb_get_bits8(tvb
,*l_offset
, 3);
4011 item2
= proto_tree_add_item(subtree1
, hf_cdma2k_Type_Specific_Fields
, tvb
, (*l_offset
/8),recLen
+1, ENC_NA
);
4014 proto_item_append_text(item2
," 0x%02x",tvb_get_bits8(tvb
,*l_offset
, 8));
4019 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Pwr_Comb_Ind
, tvb
, *l_offset
, 1, ENC_BIG_ENDIAN
);
4021 if(chInd
== 5 || chInd
== 7)
4023 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Code_Chan_Fch
, tvb
, *l_offset
, 11, ENC_BIG_ENDIAN
);
4025 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Qof_Mask_Id_Fch
, tvb
, *l_offset
, 2, ENC_BIG_ENDIAN
);
4028 if(chInd
== 2 || chInd
== 6 || chInd
== 7)
4030 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Code_Chan_Dcch
, tvb
, *l_offset
, 11, ENC_BIG_ENDIAN
);
4032 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Qof_Mask_Id_Dcch
, tvb
, *l_offset
, 2, ENC_BIG_ENDIAN
);
4038 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Num_Sch
, tvb
, *l_offset
, 5, ENC_BIG_ENDIAN
);
4039 schCnt
= tvb_get_bits8(tvb
,*l_offset
, 5);
4041 for(loop
= 1; loop
<= schCnt
; loop
++)
4043 item2
= proto_tree_add_item(subtree1
, hf_cdma2k_Record_Sch
, tvb
, *l_offset
/8,-1, ENC_NA
);
4044 proto_item_append_text(item2
," : [%d]", loop
);
4045 subtree2
= proto_item_add_subtree(item2
,ett_cdma2k_subtree2
);
4046 proto_tree_add_bits_item(subtree2
,hf_cdma2k_Sch_Id
, tvb
, *l_offset
, 1, ENC_BIG_ENDIAN
);
4048 proto_tree_add_bits_item(subtree2
,hf_cdma2k_Sccl_Index
, tvb
, *l_offset
, 4, ENC_BIG_ENDIAN
);
4050 proto_tree_add_bits_item(subtree2
,hf_cdma2k_Pilot_Incl
, tvb
, *l_offset
, 1, ENC_BIG_ENDIAN
);
4051 pilotIncl
= tvb_get_bits8(tvb
,*l_offset
, 1);
4055 proto_tree_add_bits_item(subtree2
,hf_cdma2k_Code_Chan_Sch
, tvb
, *l_offset
, 11, ENC_BIG_ENDIAN
);
4057 proto_tree_add_bits_item(subtree2
,hf_cdma2k_Qof_Mask_Id_Sch
, tvb
, *l_offset
, 2, ENC_BIG_ENDIAN
);
4064 if(chInd
== 5 || chInd
== 7)
4066 proto_tree_add_bits_item(subtree
, hf_cdma2k_3xFch_Info_Incl
, tvb
, *l_offset
, 1, ENC_BIG_ENDIAN
);
4067 fchInfoIncl
= tvb_get_bits8(tvb
,*l_offset
, 1);
4070 if(chInd
== 2 || chInd
== 6 || chInd
== 7)
4072 proto_tree_add_bits_item(subtree
, hf_cdma2k_3xDcch_Info_Incl
, tvb
, *l_offset
, 1, ENC_BIG_ENDIAN
);
4073 dcchInfoIncl
= tvb_get_bits8(tvb
,*l_offset
, 1);
4076 if((fchInfoIncl
== 1) || (dcchInfoIncl
== 1))
4078 for(loop
= 1; loop
<= pilotCnt
; loop
++)
4080 item1
= proto_tree_add_item(subtree
, hf_cdma2k_Record_Pilots
, tvb
, *l_offset
/8,-1, ENC_NA
);
4081 proto_item_append_text(item1
," : [%d]", loop
);
4082 subtree1
= proto_item_add_subtree(item1
,ett_cdma2k_subtree2
);
4083 if(fchInfoIncl
== 1)
4085 proto_tree_add_bits_item(subtree1
, hf_cdma2k_3xFch_Low_Incl
, tvb
, *l_offset
, 1, ENC_BIG_ENDIAN
);
4086 fchLowIncl
= tvb_get_bits8(tvb
,*l_offset
, 1);
4090 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Qof_Mask_Id_Fch_Low
, tvb
, *l_offset
, 2, ENC_BIG_ENDIAN
);
4092 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Code_Chan_Fch_Low
, tvb
, *l_offset
, 11, ENC_BIG_ENDIAN
);
4095 proto_tree_add_bits_item(subtree1
, hf_cdma2k_3xFch_High_Incl
, tvb
, *l_offset
, 1, ENC_BIG_ENDIAN
);
4096 fchHighIncl
= tvb_get_bits8(tvb
,*l_offset
, 1);
4098 if(fchHighIncl
== 1)
4100 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Qof_Mask_Id_Fch_High
, tvb
, *l_offset
, 2, ENC_BIG_ENDIAN
);
4102 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Code_Chan_Fch_High
, tvb
, *l_offset
, 11, ENC_BIG_ENDIAN
);
4106 if(dcchInfoIncl
== 1)
4108 proto_tree_add_bits_item(subtree1
, hf_cdma2k_3xDcch_Low_Incl
, tvb
, *l_offset
, 1, ENC_BIG_ENDIAN
);
4109 dcchLowIncl
= tvb_get_bits8(tvb
,*l_offset
, 1);
4111 if(dcchLowIncl
== 1)
4113 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Qof_Mask_Id_Dcch_Low
, tvb
, *l_offset
, 2, ENC_BIG_ENDIAN
);
4115 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Code_Chan_Dcch_Low
, tvb
, *l_offset
, 11, ENC_BIG_ENDIAN
);
4118 proto_tree_add_bits_item(subtree1
, hf_cdma2k_3xDcch_High_Incl
, tvb
, *l_offset
, 1, ENC_BIG_ENDIAN
);
4119 dcchHighIncl
= tvb_get_bits8(tvb
,*l_offset
, 1);
4121 if(dcchHighIncl
== 1)
4123 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Qof_Mask_Id_Dcch_High
, tvb
, *l_offset
, 2, ENC_BIG_ENDIAN
);
4125 proto_tree_add_bits_item(subtree1
, hf_cdma2k_Code_Chan_Dcch_High
, tvb
, *l_offset
, 11, ENC_BIG_ENDIAN
);
4131 proto_tree_add_bits_item(subtree1
, hf_cdma2k_3xSch_Info_Incl
, tvb
, *l_offset
, 1, ENC_BIG_ENDIAN
);
4132 schInfoIncl
= tvb_get_bits8(tvb
,*l_offset
, 1);
4134 if(schInfoIncl
== 1)
4136 for(loop
= 1; loop
<= schCnt
; loop
++)
4138 item2
= proto_tree_add_item(subtree1
, hf_cdma2k_Record_Sch
, tvb
, *l_offset
/8,-1, ENC_NA
);
4139 proto_item_append_text(item2
," : [%d]", loop
);
4140 subtree2
= proto_item_add_subtree(item2
,ett_cdma2k_subtree2
);
4141 proto_tree_add_bits_item(subtree2
,hf_cdma2k_Sch_Id
, tvb
, *l_offset
, 1, ENC_BIG_ENDIAN
);
4143 proto_tree_add_bits_item(subtree2
,hf_cdma2k_3xSch_Low_Incl
, tvb
, *l_offset
, 1, ENC_BIG_ENDIAN
);
4144 schLowIncl
= tvb_get_bits8(tvb
,*l_offset
, 1);
4148 proto_tree_add_bits_item(subtree2
,hf_cdma2k_Qof_Mask_Id_Sch_Low
, tvb
, *l_offset
, 2, ENC_BIG_ENDIAN
);
4150 proto_tree_add_bits_item(subtree2
,hf_cdma2k_Code_Chan_Sch_Low
, tvb
, *l_offset
, 11, ENC_BIG_ENDIAN
);
4153 proto_tree_add_bits_item(subtree2
,hf_cdma2k_3xSch_High_Incl
, tvb
, *l_offset
, 1, ENC_BIG_ENDIAN
);
4154 schHighIncl
= tvb_get_bits8(tvb
,*l_offset
, 1);
4156 if(schHighIncl
== 1)
4158 proto_tree_add_bits_item(subtree2
,hf_cdma2k_Qof_Mask_Id_Sch_High
, tvb
, *l_offset
, 2, ENC_BIG_ENDIAN
);
4160 proto_tree_add_bits_item(subtree2
,hf_cdma2k_Code_Chan_Sch_High
, tvb
, *l_offset
, 11, ENC_BIG_ENDIAN
);
4169 proto_tree_add_bits_item(subtree
, hf_cdma2k_Ccsh_Included
, tvb
, *l_offset
, 1, ENC_BIG_ENDIAN
);
4170 ccshIncl
= tvb_get_bits8(tvb
,*l_offset
, 1);
4174 proto_tree_add_bits_item(subtree
, hf_cdma2k_Use_Ccsh_Encoder_Time
, tvb
, *l_offset
, 1, ENC_BIG_ENDIAN
);
4175 ccshEncIncl
= tvb_get_bits8(tvb
,*l_offset
, 1);
4177 if(ccshEncIncl
== 1)
4179 proto_tree_add_bits_item(subtree
, hf_cdma2k_Ccsh_Encoder_Action_Time
, tvb
, *l_offset
, 6, ENC_BIG_ENDIAN
);
4182 for(loop
= 1; loop
<= pilotCnt
; loop
++)
4184 item1
= proto_tree_add_item(subtree
, hf_cdma2k_Record_Pilots
, tvb
, *l_offset
/8,-1, ENC_NA
);
4185 proto_item_append_text(item1
," : [%d]", loop
);
4186 subtree1
= proto_item_add_subtree(item1
,ett_cdma2k_subtree2
);
4187 for(loop
= 1; loop
<= schCnt
; loop
++)
4189 item2
= proto_tree_add_item(subtree1
, hf_cdma2k_Record_Sch
, tvb
, *l_offset
/8,-1, ENC_NA
);
4190 proto_item_append_text(item2
," : [%d]", loop
);
4191 subtree2
= proto_item_add_subtree(item2
,ett_cdma2k_subtree2
);
4192 proto_tree_add_bits_item(subtree2
,hf_cdma2k_Ccsh_Encoder_Type
, tvb
, *l_offset
, 1, ENC_BIG_ENDIAN
);
4198 if(chInd
== 2 || chInd
== 6 || chInd
== 7)
4200 proto_tree_add_bits_item(subtree
, hf_cdma2k_Fundicated_Bcmc_Ind
, tvb
, *l_offset
, 1, ENC_BIG_ENDIAN
);
4201 bcmcFunIncl
= tvb_get_bits8(tvb
,*l_offset
, 1);
4203 if(chInd
== 7 && bcmcFunIncl
== 1)
4205 proto_tree_add_bits_item(subtree
, hf_cdma2k_Rev_Fch_Assigned
, tvb
, *l_offset
, 1, ENC_BIG_ENDIAN
);
4207 proto_tree_add_bits_item(subtree
, hf_cdma2k_Add_Plcm_For_Fch_Incl
, tvb
, *l_offset
, 1, ENC_BIG_ENDIAN
);
4208 addPlcmFchIncl
= tvb_get_bits8(tvb
,*l_offset
, 1);
4210 if(addPlcmFchIncl
== 1)
4212 proto_tree_add_bits_item(subtree
, hf_cdma2k_Add_Plcm_For_Fch_Type
, tvb
, *l_offset
, 1, ENC_BIG_ENDIAN
);
4213 addPlcmFchType
= tvb_get_bits8(tvb
,*l_offset
, 1);
4215 if(addPlcmFchType
== 1)
4217 proto_tree_add_bits_item(subtree
, hf_cdma2k_Add_Plcm_For_Fch_39
, tvb
, *l_offset
, 39, ENC_BIG_ENDIAN
);
4221 proto_tree_add_bits_item(subtree
, hf_cdma2k_For_Cpcch_Info_Incl
, tvb
, *l_offset
, 1, ENC_BIG_ENDIAN
);
4222 cpcchInfoIncl
= tvb_get_bits8(tvb
,*l_offset
, 1);
4226 if(((chInd
== 2 || chInd
== 6) && (bcmcFunIncl
== 1)) || ((chInd
== 7) && (cpcchInfoIncl
== 1)))
4228 for(loop
= 1; loop
<= pilotCnt
; loop
++)
4230 item1
= proto_tree_add_item(subtree
, hf_cdma2k_Record_Pilots
, tvb
, *l_offset
/8,-1, ENC_NA
);
4231 proto_item_append_text(item1
," : [%d]", loop
);
4232 subtree1
= proto_item_add_subtree(item1
,ett_cdma2k_subtree2
);
4233 proto_tree_add_bits_item(subtree1
, hf_cdma2k_For_Cpcch_Walsh
, tvb
, *l_offset
, 7, ENC_BIG_ENDIAN
);
4235 proto_tree_add_bits_item(subtree1
, hf_cdma2k_For_Cpcsch
, tvb
, *l_offset
, 5, ENC_BIG_ENDIAN
);
4241 if(*l_offset
%8 != 0)
4243 proto_tree_add_bits_item(subtree
, hf_cdma2k_Reserved
, tvb
, *l_offset
, (8-(*l_offset
%8)), ENC_BIG_ENDIAN
);
4248 /* Helper function to decode Authentication Field Parameters */
4249 static void cdma2k_message_AUTH_FIELDS(proto_item
*item
,tvbuff_t
*tvb
,proto_tree
*subtree
,uint16_t *l_offset
, uint16_t headerRecLen
)
4251 uint16_t macIncl
= -1, authIncl
= -1, sduSseqOrSseqh
= -1, endOffset
= -1;
4252 endOffset
= *l_offset
+ (headerRecLen
*8);
4254 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Mac_Incl
, tvb
, *l_offset
, 1, ENC_BIG_ENDIAN
);
4255 macIncl
= tvb_get_bits8(tvb
,*l_offset
, 1);
4257 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Auth_Incl
, tvb
, *l_offset
, 1, ENC_BIG_ENDIAN
);
4258 authIncl
= tvb_get_bits8(tvb
,*l_offset
, 1);
4263 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Authr
, tvb
, *l_offset
, 18, ENC_BIG_ENDIAN
);
4265 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Randc
, tvb
, *l_offset
, 8, ENC_BIG_ENDIAN
);
4267 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Count
, tvb
, *l_offset
, 6, ENC_BIG_ENDIAN
);
4275 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Randc
, tvb
, *l_offset
, 8, ENC_BIG_ENDIAN
);
4279 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Sdu_KeyId
, tvb
, *l_offset
, 2, ENC_BIG_ENDIAN
);
4281 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Sdu_Algo
, tvb
, *l_offset
, 3, ENC_BIG_ENDIAN
);
4283 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Sdu_Sseq_Or_Sseqh
, tvb
, *l_offset
, 1, ENC_BIG_ENDIAN
);
4284 sduSseqOrSseqh
= tvb_get_bits8(tvb
,*l_offset
, 1);
4287 if(sduSseqOrSseqh
== 0)
4289 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Sdu_Sseq
, tvb
, *l_offset
, 8, ENC_BIG_ENDIAN
);
4294 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Sdu_Sseqh
, tvb
, *l_offset
, 24, ENC_BIG_ENDIAN
);
4299 /*Skip bits till Header Record Length*/
4300 if(*l_offset
< endOffset
)
4302 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Reserved
, tvb
, *l_offset
, (endOffset
-*l_offset
), ENC_BIG_ENDIAN
);
4303 *l_offset
+=(endOffset
-*l_offset
);
4305 else if(*l_offset
> endOffset
)
4307 proto_item_append_text(item
," : Offset corruption in Authentication Fields");
4312 /* Helper function to decode Addressing Field Parameters */
4313 static void cdma2k_message_ADDR_FIELDS(proto_item
*item
,tvbuff_t
*tvb
,proto_tree
*tree
,uint16_t *l_offset
, uint16_t headerRecLen
)
4316 proto_tree
*sub_tree
;
4317 uint16_t msIdType
= -1, extMsIdType
= -1, msIdLen
= -1, endOffset
= -1;
4319 endOffset
= *l_offset
+ (headerRecLen
*8);
4320 proto_tree_add_bits_item(tree
, hf_cdma2k_tlac_Header_Record_MsId_Type
, tvb
, *l_offset
, 3, ENC_BIG_ENDIAN
);
4321 msIdType
= tvb_get_bits8(tvb
,*l_offset
, 3);
4326 proto_tree_add_bits_item(tree
, hf_cdma2k_tlac_Header_Record_Ext_MsId_Type
, tvb
, *l_offset
, 3, ENC_BIG_ENDIAN
);
4327 extMsIdType
= tvb_get_bits8(tvb
,*l_offset
, 3);
4331 proto_tree_add_bits_item(tree
, hf_cdma2k_tlac_Header_Record_MsId_Length
, tvb
, *l_offset
, 4, ENC_BIG_ENDIAN
);
4332 msIdLen
= tvb_get_bits8(tvb
,*l_offset
, 4);
4338 ti
= proto_tree_add_bits_item(tree
, hf_cdma2k_tlac_Header_Record_Imsi_M_S1
, tvb
, *l_offset
, 24, ENC_BIG_ENDIAN
);
4339 sub_tree
= proto_item_add_subtree(ti
, ett_cdma2k_m_s1
);
4340 proto_tree_add_bits_item(sub_tree
, hf_cdma2k_tlac_Header_Record_Imsi_M_S1_sec_3_dig
, tvb
, *l_offset
, 10, ENC_BIG_ENDIAN
);
4342 proto_tree_add_bits_item(sub_tree
, hf_cdma2k_tlac_Header_Record_Imsi_M_S1_thousand_dig
, tvb
, *l_offset
, 4, ENC_BIG_ENDIAN
);
4344 proto_tree_add_bits_item(sub_tree
, hf_cdma2k_tlac_Header_Record_Imsi_M_S1_last_3_dig
, tvb
, *l_offset
, 10, ENC_BIG_ENDIAN
);
4346 proto_tree_add_bits_item(tree
, hf_cdma2k_tlac_Header_Record_Imsi_M_S2
, tvb
, *l_offset
, 10, ENC_BIG_ENDIAN
);
4348 proto_tree_add_bits_item(tree
, hf_cdma2k_tlac_Header_Record_Esn
, tvb
, *l_offset
, 32, ENC_BIG_ENDIAN
);
4350 proto_tree_add_bits_item(tree
, hf_cdma2k_tlac_Header_Record_Reserved
, tvb
, *l_offset
, 6, ENC_BIG_ENDIAN
);
4355 proto_tree_add_bits_item(tree
, hf_cdma2k_tlac_Header_Record_Esn
, tvb
, *l_offset
, 32, ENC_BIG_ENDIAN
);
4360 cdma2k_message_IMSI_CLASS_SUBFIELDS(item
, tvb
, tree
,l_offset
);
4364 proto_tree_add_bits_item(tree
, hf_cdma2k_tlac_Header_Record_Esn
, tvb
, *l_offset
, 32, ENC_BIG_ENDIAN
);
4366 cdma2k_message_IMSI_CLASS_SUBFIELDS(item
, tvb
, tree
,l_offset
);
4370 switch (extMsIdType
)
4373 proto_tree_add_bits_item(tree
, hf_cdma2k_tlac_Header_Record_Ext_MsId_MeId
, tvb
, *l_offset
, 56, ENC_BIG_ENDIAN
);
4378 proto_tree_add_bits_item(tree
, hf_cdma2k_tlac_Header_Record_Ext_MsId_MeId
, tvb
, *l_offset
, 56, ENC_BIG_ENDIAN
);
4380 cdma2k_message_IMSI_CLASS_SUBFIELDS(item
, tvb
, tree
,l_offset
);
4384 proto_tree_add_bits_item(tree
, hf_cdma2k_tlac_Header_Record_Esn
, tvb
, *l_offset
, 32, ENC_BIG_ENDIAN
);
4386 proto_tree_add_bits_item(tree
, hf_cdma2k_tlac_Header_Record_Ext_MsId_MeId
, tvb
, *l_offset
, 56, ENC_BIG_ENDIAN
);
4388 cdma2k_message_IMSI_CLASS_SUBFIELDS(item
, tvb
, tree
,l_offset
);
4392 proto_item_append_text(item
," : Invalid extMsIdType in Addressing Fields");
4400 proto_tree_add_bits_item(tree
, hf_cdma2k_tlac_Header_Record_Tmsi_Zone
, tvb
, *l_offset
, (msIdLen
-4)*8, ENC_BIG_ENDIAN
);
4401 *l_offset
+=((msIdLen
-4)*8);
4402 proto_tree_add_bits_item(tree
, hf_cdma2k_tlac_Header_Record_Tmsi_Code_Addr
, tvb
, *l_offset
, 32, ENC_BIG_ENDIAN
);
4407 proto_tree_add_bits_item(tree
, hf_cdma2k_tlac_Header_Record_Tmsi_Code_Addr
, tvb
, *l_offset
, msIdLen
*8, ENC_BIG_ENDIAN
);
4408 *l_offset
+=(msIdLen
*8);
4413 proto_item_append_text(item
," : Invalid msIdType in Addressing Fields");
4417 /*Skip bits till Header Record Length*/
4418 if(*l_offset
< endOffset
)
4420 proto_tree_add_bits_item(tree
, hf_cdma2k_tlac_Header_Record_Reserved
, tvb
, *l_offset
, (endOffset
-*l_offset
), ENC_BIG_ENDIAN
);
4421 *l_offset
+=(endOffset
-*l_offset
);
4423 else if(*l_offset
> endOffset
)
4425 proto_item_append_text(item
," : Offset corruption in Addressing Fields");
4429 /* Helper function to decode Imsi Class and SubField Parameters */
4430 static void cdma2k_message_IMSI_CLASS_SUBFIELDS(proto_item
*item
,tvbuff_t
*tvb
, proto_tree
*subtree
, uint16_t *l_offset
)
4432 uint16_t imsi_class
= -1, classType
= -1;
4434 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Imsi_Class
, tvb
, *l_offset
, 1, ENC_BIG_ENDIAN
);
4435 imsi_class
= tvb_get_bits8(tvb
,*l_offset
, 1);
4440 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Imsi_Class0_Type
, tvb
, *l_offset
, 2, ENC_BIG_ENDIAN
);
4441 classType
= tvb_get_bits8(tvb
,*l_offset
, 2);
4447 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Reserved
, tvb
, *l_offset
, 3, ENC_BIG_ENDIAN
);
4449 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Imsi_S2
, tvb
, *l_offset
, 10, ENC_BIG_ENDIAN
);
4451 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Imsi_S1
, tvb
, *l_offset
, 24, ENC_BIG_ENDIAN
);
4456 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Reserved
, tvb
, *l_offset
, 4, ENC_BIG_ENDIAN
);
4458 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Imsi_11_12
, tvb
, *l_offset
, 7, ENC_BIG_ENDIAN
);
4460 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Imsi_S2
, tvb
, *l_offset
, 10, ENC_BIG_ENDIAN
);
4462 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Imsi_S1
, tvb
, *l_offset
, 24, ENC_BIG_ENDIAN
);
4467 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Reserved
, tvb
, *l_offset
, 1, ENC_BIG_ENDIAN
);
4469 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_MCC
, tvb
, *l_offset
, 10, ENC_BIG_ENDIAN
);
4471 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Imsi_S2
, tvb
, *l_offset
, 10, ENC_BIG_ENDIAN
);
4473 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Imsi_S1
, tvb
, *l_offset
, 24, ENC_BIG_ENDIAN
);
4478 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Reserved
, tvb
, *l_offset
, 2, ENC_BIG_ENDIAN
);
4480 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_MCC
, tvb
, *l_offset
, 10, ENC_BIG_ENDIAN
);
4482 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Imsi_11_12
, tvb
, *l_offset
, 7, ENC_BIG_ENDIAN
);
4484 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Imsi_S2
, tvb
, *l_offset
, 10, ENC_BIG_ENDIAN
);
4486 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Imsi_S1
, tvb
, *l_offset
, 24, ENC_BIG_ENDIAN
);
4491 proto_item_append_text(item
," : Invalid Class0 Type in Addressing Fields");
4495 else if(imsi_class
== 1)
4497 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Imsi_Class1_Type
, tvb
, *l_offset
, 1, ENC_BIG_ENDIAN
);
4498 classType
= tvb_get_bits8(tvb
,*l_offset
, 1);
4503 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Reserved
, tvb
, *l_offset
, 2, ENC_BIG_ENDIAN
);
4505 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Imsi_Addr_Num
, tvb
, *l_offset
, 3, ENC_BIG_ENDIAN
);
4507 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Imsi_11_12
, tvb
, *l_offset
, 7, ENC_BIG_ENDIAN
);
4509 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Imsi_S2
, tvb
, *l_offset
, 10, ENC_BIG_ENDIAN
);
4511 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Imsi_S1
, tvb
, *l_offset
, 24, ENC_BIG_ENDIAN
);
4514 else if(classType
== 1)
4516 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Imsi_Addr_Num
, tvb
, *l_offset
, 3, ENC_BIG_ENDIAN
);
4518 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_MCC
, tvb
, *l_offset
, 10, ENC_BIG_ENDIAN
);
4520 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Imsi_11_12
, tvb
, *l_offset
, 7, ENC_BIG_ENDIAN
);
4522 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Imsi_S2
, tvb
, *l_offset
, 10, ENC_BIG_ENDIAN
);
4524 proto_tree_add_bits_item(subtree
, hf_cdma2k_tlac_Header_Record_Imsi_S1
, tvb
, *l_offset
, 24, ENC_BIG_ENDIAN
);
4529 proto_item_append_text(item
," : Invalid Class1 Type in Addressing Fields");
4534 proto_item_append_text(item
," : Invalid Class in Addressing Fields");
4539 /*Method called when the dissection starts.....Starting point*/
4541 dissect_cdma2k(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *data _U_
)
4545 proto_tree
*cdma2k_msghdr_tree_start
= NULL
;
4547 proto_item
*item
= NULL
;
4549 uint32_t offset
= 0;
4550 uint16_t noerror
= 1;
4552 /*Add the protocol name to display*/
4553 col_set_str(pinfo
->cinfo
, COL_PROTOCOL
, "CDMA2K");
4554 col_set_str(pinfo
->cinfo
, COL_INFO
, "[CDMA2K]");
4556 item
= proto_tree_add_item(tree
, hf_cdma2k_msghdr
, tvb
, 0, -1, ENC_NA
);
4557 cdma2k_msghdr_tree_start
= proto_item_add_subtree(item
, ett_cdma2k_msghdr
);
4559 item
= proto_tree_add_item(cdma2k_msghdr_tree_start
, hf_cdma2k_tlac_Record
, tvb
, offset
, 1, ENC_NA
);
4563 while(tvb_captured_length_remaining(tvb
, offset
) != 0 && noerror
== 1)
4564 cdma2k_message_decode(item
, tvb
, cdma2k_msghdr_tree_start
, &offset
, tree
, &noerror
, pinfo
);
4568 expert_add_info(pinfo
, item
, &ei_cdma2k_error
);
4572 return tvb_reported_length(tvb
);
4576 /*Register cdma2k */
4577 void proto_register_cdma2k(void)
4579 static hf_register_info hf
[] = {
4580 { &hf_cdma2k_tlac_Record
,
4581 { "TLAC Header Record and L3PDU", "cdma2k.tlacRecord", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4582 { &hf_cdma2k_tlac_Header
,
4583 { "TLAC Header", "cdma2k.tlacHeader", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4584 { &hf_cdma2k_tlac_Channel
,
4585 { "Channel Type", "cdma2k.tlacChannel", FT_UINT8
, BASE_HEX_DEC
, VALS(Channel_Types
), 0x0, NULL
, HFILL
} },
4586 { &hf_cdma2k_tlac_1x_Protocol_Revision
,
4587 { "1x Protocol Revision", "cdma2k.tlac1xProtocolRevision", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4588 { &hf_cdma2k_tlac_msgType
,
4589 { "CDMA2K Message Type", "cdma2k.MsgType", FT_UINT8
, BASE_HEX_DEC
, VALS(Cdma2k_Message_types
), 0x0, NULL
, HFILL
} },
4590 { &hf_cdma2k_tlac_Header_Record
,
4591 { "TLAC Header Record", "cdma2k.tlacHeaderRecord", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4592 { &hf_cdma2k_tlac_Header_Records_Count
,
4593 { "Header Record Count", "cdma2k.tlacHeaderRecordCount", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4594 { &hf_cdma2k_tlac_Header_Record_Type
,
4595 { "Header Record Type", "cdma2k.tlacHeaderRecordType", FT_UINT8
, BASE_HEX_DEC
, VALS(Header_Record_Types
), 0x0, NULL
, HFILL
} },
4596 { &hf_cdma2k_tlac_Header_Record_Length
,
4597 { "Header Record Length", "cdma2k.tlacHeaderRecordLength", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4598 { &hf_cdma2k_tlac_Header_Record_Values
,
4599 { "Header Record Data :", "cdma2k.tlacHeaderRecordData", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4600 { &hf_cdma2k_tlac_Header_Record_Reserved
,
4601 { "Reserved", "cdma2k.tlacHeaderRecordReservedData", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4602 { &hf_cdma2k_tlac_Header_Record_MsId_Type
,
4603 { "MsId Type", "cdma2k.tlacHeaderRecordMsIdType", FT_UINT8
, BASE_HEX_DEC
, VALS(MsId_Address_Types
), 0x0, NULL
, HFILL
} },
4604 { &hf_cdma2k_tlac_Header_Record_Ext_MsId_Type
,
4605 { "Ext MsId Type", "cdma2k.tlacHeaderRecordExtMsIdType", FT_UINT8
, BASE_HEX_DEC
, VALS(Ext_MsId_Address_Types
), 0x0, NULL
, HFILL
} },
4606 { &hf_cdma2k_tlac_Header_Record_MsId_Length
,
4607 { "MsId Length", "cdma2k.tlacHeaderRecordMsIdLength", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4608 { &hf_cdma2k_tlac_Header_Record_Imsi_M_S1
,
4609 { "Imsi M S1", "cdma2k.tlacHeaderRecordImsiMS1", FT_UINT24
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4610 { &hf_cdma2k_tlac_Header_Record_Imsi_M_S1_sec_3_dig
,
4611 { "Second 3 digits", "cdma2k.tlacHeaderRecordImsiMS1sec_3_dig", FT_UINT16
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4612 { &hf_cdma2k_tlac_Header_Record_Imsi_M_S1_thousand_dig
,
4613 { "Thousands Digit", "cdma2k.tlacHeaderRecordImsiMS1thousand_dig", FT_UINT8
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4614 { &hf_cdma2k_tlac_Header_Record_Imsi_M_S1_last_3_dig
,
4615 { "Last 3 digits", "cdma2k.tlacHeaderRecordImsiMS1last_3_dig", FT_UINT16
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4616 { &hf_cdma2k_tlac_Header_Record_Imsi_M_S2
,
4617 { "Imsi M S2", "cdma2k.tlacHeaderRecordImsiMS2", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4618 { &hf_cdma2k_tlac_Header_Record_Esn
,
4619 { "Esn", "cdma2k.tlacHeaderRecordEsn", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4620 { &hf_cdma2k_tlac_Header_Record_Imsi_Class
,
4621 { "Imsi Class", "cdma2k.tlacHeaderRecordImsiClass", FT_UINT8
, BASE_HEX_DEC
, VALS(Imsi_Class
), 0x0, NULL
, HFILL
} },
4622 { &hf_cdma2k_tlac_Header_Record_Imsi_Class0_Type
,
4623 { "Imsi Class Type", "cdma2k.tlacHeaderRecordImsiClass0Type", FT_UINT8
, BASE_HEX_DEC
, VALS(Imsi_Class0_Types
), 0x0, NULL
, HFILL
} },
4624 { &hf_cdma2k_tlac_Header_Record_Imsi_Class1_Type
,
4625 { "Imsi Class Type", "cdma2k.tlacHeaderRecordImsiClass1Type", FT_UINT8
, BASE_HEX_DEC
, VALS(Imsi_Class1_Types
), 0x0, NULL
, HFILL
} },
4626 { &hf_cdma2k_tlac_Header_Record_Imsi_S2
,
4627 { "Imsi S2", "cdma2k.tlacHeaderRecordImsiS2", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4628 { &hf_cdma2k_tlac_Header_Record_Imsi_S1
,
4629 { "Imsi S1", "cdma2k.tlacHeaderRecordImsiS1", FT_UINT24
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4630 { &hf_cdma2k_tlac_Header_Record_Imsi_11_12
,
4631 { "Imsi 11 12", "cdma2k.tlacHeaderRecordImsi1112", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4632 { &hf_cdma2k_tlac_Header_Record_MCC
,
4633 { "Mcc", "cdma2k.tlacHeaderRecordMcc", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4634 { &hf_cdma2k_tlac_Header_Record_Imsi_Addr_Num
,
4635 { "Imsi Addr Num", "cdma2k.tlacHeaderRecordImsiAddrNum", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4636 { &hf_cdma2k_tlac_Header_Record_Ext_MsId_MeId
,
4637 { "Ext MsId MeId", "cdma2k.tlacHeaderRecordExtMsIdMeId", FT_UINT64
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4638 { &hf_cdma2k_tlac_Header_Record_Tmsi_Code_Addr
,
4639 { "Tmsi Code Addr", "cdma2k.tlacHeaderRecordTmsiCodeAddr", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4640 { &hf_cdma2k_tlac_Header_Record_Tmsi_Zone
,
4641 { "Tmsi Zone", "cdma2k.tlacHeaderRecordTmsiZone", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4642 { &hf_cdma2k_tlac_Header_Record_Mac_Incl
,
4643 { "Maci Incl", "cdma2k.tlacHeaderRecordMacIncl", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4644 { &hf_cdma2k_tlac_Header_Record_Auth_Incl
,
4645 { "Auth Incl", "cdma2k.tlacHeaderRecordAuthIncl", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4646 { &hf_cdma2k_tlac_Header_Record_Authr
,
4647 { "Authr", "cdma2k.tlacHeaderRecordAuthr", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4648 { &hf_cdma2k_tlac_Header_Record_Randc
,
4649 { "Randc", "cdma2k.tlacHeaderRecordRandc", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4650 { &hf_cdma2k_tlac_Header_Record_Count
,
4651 { "Count", "cdma2k.tlacHeaderRecordCount", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4652 { &hf_cdma2k_tlac_Header_Record_Sdu_KeyId
,
4653 { "Sdu Key Id", "cdma2k.tlacHeaderRecordSduKeyId", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4654 { &hf_cdma2k_tlac_Header_Record_Sdu_Algo
,
4655 { "Sdu Integrity Algo", "cdma2k.tlacHeaderRecordSduAlgo", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4656 { &hf_cdma2k_tlac_Header_Record_Sdu_Sseq
,
4657 { "Sdu Sseq", "cdma2k.tlacHeaderRecordSduSseq", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4658 { &hf_cdma2k_tlac_Header_Record_Sdu_Sseqh
,
4659 { "Sdu Sseqh", "cdma2k.tlacHeaderRecordSduSseqh", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4660 { &hf_cdma2k_tlac_Header_Record_Sdu_Sseq_Or_Sseqh
,
4661 { "Sdu Sseq Or Sseqh", "cdma2k.tlacHeaderRecordSduSseqOrSseqh", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4662 { &hf_cdma2k_tlac_Pdu
,
4663 { "1x LAYER3 PDU", "cdma2k.tlacPdu", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4664 { &hf_cdma2k_tlac_Pdu_Length
,
4665 { "1x LAYER3 PDU Length", "cdma2k.tlacPduLength", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4666 { &hf_cdma2k_RegMsg
,
4667 { "Registration Message", "cdma2k.RegMsg", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4668 { &hf_cdma2k_OrderIndMsg
,
4669 { "Order Indication Message", "cdma2k.OrderIndMsg", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4670 { &hf_cdma2k_DataBurstIndMsg
,
4671 { "Data Burst Indication Message", "cdma2k.DataBurstIndMsg", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4672 { &hf_cdma2k_OrigMsg
,
4673 { "Origination Message", "cdma2k.OrigMsg", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4674 { &hf_cdma2k_PageRspMsg
,
4675 { "Page Response Message", "cdma2k.PageRspMsg", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4676 { &hf_cdma2k_AuthChallRspMsg
,
4677 { "Authentication Challenge Response Message", "cdma2k.AuthChallRspMsg", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4678 { &hf_cdma2k_DataBurstCmdMsg
,
4679 { "Data Burst Command Message", "cdma2k.DataBurstCmdMsg", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4680 { &hf_cdma2k_AuthChallReqMsg
,
4681 { "Authentication Challenge Request Message", "cdma2k.AuthChallReqMsg", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4682 { &hf_cdma2k_GenPageReqMsg
,
4683 { "Page Request Message", "cdma2k.GenPageReqMsg", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4684 { &hf_cdma2k_msghdr
,
4685 { "CDMA2000 Application Protocol", "cdma2k.msghdr", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4686 { &hf_cdma2k_Reg_Type
,
4687 { "Reg Type", "cdma2k.Reg_Type", FT_UINT8
, BASE_HEX_DEC
, VALS(Reg_Types
), 0x0, NULL
, HFILL
} },
4688 { &hf_cdma2k_Slot_Cycle_Index
,
4689 { "Slot Cycle Index", "cdma2k.Slot_Cycle_Index", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4690 { &hf_cdma2k_Mob_P_Rev
,
4691 { "MobPRev Value", "cdma2k.Mob_P_Rev", FT_UINT8
, BASE_HEX_DEC
,NULL
, 0x0, NULL
, HFILL
} },
4692 { &hf_cdma2k_Ext_Scm
,
4693 { "Ext Scm", "cdma2k.Ext_Scm", FT_UINT8
, BASE_HEX_DEC
,NULL
, 0x0, NULL
, HFILL
} },
4694 { &hf_cdma2k_Sloted_Mode
,
4695 { "Slotted Mode", "cdma2k.Slotted_Mode", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4696 { &hf_cdma2k_Mob_Term
,
4697 { "Mob Term", "cdma2k.Mob_Term", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4698 { &hf_cdma2k_Return_Cause
,
4699 { "Return Cause", "cdma2k.Return_Cause", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4700 { &hf_cdma2k_Qpch_Supported
,
4701 { "Qpch Supported", "cdma2k.pch_Supported", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4702 { &hf_cdma2k_Enhanced_Rc
,
4703 { "Enhanced Rc", "cdma2k.Enhanced_Rc", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4704 { &hf_cdma2k_Uzid_Incl
,
4705 { "Uzid Incl", "cdma2k.Uzid_Incl", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4707 { "Uzid", "cdma2k.Uzid", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4708 { &hf_cdma2k_GeoLoc_Incl
,
4709 { "GeoLoc Incl", "cdma2k.GeoLoc_Incl", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4710 { &hf_cdma2k_GeoLoc_Type
,
4711 { "GeoLoc Type", "cdma2k.GeoLoc_Type", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4712 { &hf_cdma2k_Order_Ind
,
4713 { "Order Value", "cdma2k.Order_Ind", FT_UINT8
, BASE_HEX_DEC
, VALS(Order_Ind_Cause_Types
), 0x0, NULL
, HFILL
} },
4714 { &hf_cdma2k_Order_Cmd
,
4715 { "Order Value", "cdma2k.Order_Cmd", FT_UINT8
, BASE_HEX_DEC
, VALS(Order_Cmd_Cause_Types
), 0xfc, NULL
, HFILL
} },
4716 { &hf_cdma2k_Add_Record_Len
,
4717 { "Add Record Len", "cdma2k.Add_Record_Len", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4718 { &hf_cdma2k_Order_Specific_Fields
,
4719 { "Order Specific Fields", "cdma2k.Order_Specific_Fields", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4721 { "Order Qualification", "cdma2k.Ordq", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4722 { &hf_cdma2k_Randbs
,
4723 { "Random Chall Data", "cdma2k.Randbs", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4724 { &hf_cdma2k_Rejected_Type
,
4725 { "Rejected Message Type", "cdma2k.Rejected_Type", FT_UINT8
, BASE_HEX_DEC
, VALS(Cdma2k_Message_types
), 0x0, NULL
, HFILL
} },
4726 { &hf_cdma2k_Rejected_Order
,
4727 { "Order of Rejected Message", "cdma2k.Rejected_Order", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4728 { &hf_cdma2k_Rejected_Ordq
,
4729 { "Order Qualification of Rejected Message", "cdma2k.Rejected_Ordq", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4730 { &hf_cdma2k_Rejected_Parm_Id
,
4731 { "Rejected Parameter", "cdma2k.Rejected_Parm_Id", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4732 { &hf_cdma2k_Rejected_Record
,
4733 { "Rejected Record Type", "cdma2k.Rejected_Record", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4735 { "Transaction Identifier", "cdma2k.Tag", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4736 { &hf_cdma2k_Rsc_Mode_Ind
,
4737 { "Reduced Slot Cycle Mode Indication", "cdma2k.Rsc_Mode_Ind", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4739 { "Reduced Slot Cycle Mode Index", "cdma2k.Rsci", FT_UINT8
, BASE_HEX_DEC
, VALS(RSCI_Types
), 0x0, NULL
, HFILL
} },
4740 { &hf_cdma2k_Rsc_End_Time_Unit
,
4741 { "Reduced Slot Cycle Mode End Time Unit", "cdma2k.Rsc_End_Time_Unit", FT_UINT8
, BASE_HEX_DEC
, VALS(Rsc_End_Time_Unit_Types
), 0x0, NULL
, HFILL
} },
4742 { &hf_cdma2k_Rsc_End_Time_Value
,
4743 { "Reduced Slot Cycle Mode End Time Value", "cdma2k.Rsc_End_Time_Value", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4744 { &hf_cdma2k_Con_Ref
,
4745 { "Connection Reference", "cdma2k.Con_Ref", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4746 { &hf_cdma2k_Authbs
,
4747 { "Authbs", "cdma2k.Authbs", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4748 { &hf_cdma2k_Roam_Ind
,
4749 { "Roam Indicator", "cdma2k.Roam_Ind", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4750 { &hf_cdma2k_C_Sig_Encrypt_Mode
,
4751 { "Encrypt Mode", "cdma2k.C_Sig_Encrypt_Mode", FT_UINT8
, BASE_HEX_DEC
, VALS(C_Sig_Encrypt_Mode_Types
), 0x0, NULL
, HFILL
} },
4752 { &hf_cdma2k_Enc_Key_Size
,
4753 { "Enc Key Size", "cdma2k.Enc_Key_Size", FT_UINT8
, BASE_HEX_DEC
, VALS(Enc_Key_Types
), 0x0, NULL
, HFILL
} },
4754 { &hf_cdma2k_Msg_Int_Info_Incl
,
4755 { "Msg Int Info Incl", "cdma2k.Msg_Int_Info_Incl", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4756 { &hf_cdma2k_Change_Keys
,
4757 { "Change Keys", "cdma2k.Change_Keys", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4758 { &hf_cdma2k_Use_Uak
,
4759 { "Use Uak", "cdma2k.Use_Uak", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4760 { &hf_cdma2k_Retry_Type
,
4761 { "Retry Type", "cdma2k.Retry_Type", FT_UINT8
, BASE_HEX_DEC
, VALS(Retry_Types
), 0x0, NULL
, HFILL
} },
4762 { &hf_cdma2k_Retry_Delay
,
4763 { "Retry Delay", "cdma2k.Retry_Delay", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4764 { &hf_cdma2k_Reject_Reason
,
4765 { "Reject Reason", "cdma2k.Reject_Reason", FT_UINT8
, BASE_HEX_DEC
, VALS(Reject_Reason_Types
), 0x0, NULL
, HFILL
} },
4766 { &hf_cdma2k_Rejected_Msg_Type
,
4767 { "Rejected Message Type", "cdma2k.Rejected_Msg_Type", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4768 { &hf_cdma2k_Rejected_Msg_Seq
,
4769 { "Rejected Message Sequence", "cdma2k.Rejected_Msg_Seq", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4770 { &hf_cdma2k_All_Bcmc_Flows_Ind
,
4771 { "All BCMC Flows Indication", "cdma2k.All_Bcmc_Flows_Ind", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4772 { &hf_cdma2k_Clear_All_Retry_Delay
,
4773 { "Clear All Retry Delay", "cdma2k.Clear_All_Retry_Delay", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4774 { &hf_cdma2k_All_Bcmc_Reason
,
4775 { "All BCMC Reason", "cdma2k.All_Bcmc_Reason", FT_UINT8
, BASE_HEX_DEC
, VALS(All_Bcmc_Reason_Types
), 0x0, NULL
, HFILL
} },
4776 { &hf_cdma2k_All_Bcmc_Retry_Delay
,
4777 { "All BCMC Retry Delay", "cdma2k.All_Bcmc_Retry_Delay", FT_UINT8
, BASE_HEX_DEC
, VALS(All_Bcmc_Retry_Delay_Types
), 0x0, NULL
, HFILL
} },
4778 { &hf_cdma2k_Num_Bcmc_Programs
,
4779 { "Number of BCMC Programs", "cdma2k.Num_Bcmc_Programs", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4780 { &hf_cdma2k_Bcmc_Program_Id_Len
,
4781 { "BCMC Program ID Length", "cdma2k.Bcmc_Program_Id_Len", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4782 { &hf_cdma2k_Bcmc_Program_Id
,
4783 { "BCMC Program ID", "cdma2k.Bcmc_Program_Id", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4784 { &hf_cdma2k_Bcmc_Flow_Discriminator_Len
,
4785 { "BCMC Flow Discriminator Length", "cdma2k.Bcmc_Flow_Discriminator_Len", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4786 { &hf_cdma2k_Num_Flow_Discriminator
,
4787 { "Number of Flow Discriminator", "cdma2k.Num_Flow_Discriminator", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4788 { &hf_cdma2k_Bcmc_Flow_Discriminator
,
4789 { "BCMC Flow Discriminator", "cdma2k.Bcmc_Flow_Discriminator", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4790 { &hf_cdma2k_Same_As_Previous_Bcmc_Flow
,
4791 { "Same As Previous BCMC Flow", "cdma2k.Same_As_Previous_Bcmc_Flow", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4792 { &hf_cdma2k_Bcmc_Reason
,
4793 { "BCMC Reason", "cdma2k.Bcmc_Reason", FT_UINT8
, BASE_HEX_DEC
, VALS(All_Bcmc_Reason_Types
), 0x0, NULL
, HFILL
} },
4794 { &hf_cdma2k_Bcmc_Retry_Delay
,
4795 { "BCMC Retry Delay", "cdma2k.Bcmc_Retry_Delay", FT_UINT8
, BASE_HEX_DEC
, VALS(All_Bcmc_Retry_Delay_Types
), 0x0, NULL
, HFILL
} },
4796 { &hf_cdma2k_Rsc_Mode_Supported
,
4797 { "Reduced Slot Cycle Mode Supported", "cdma2k.Rsc_Mode_Supported", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4798 { &hf_cdma2k_Max_Rsc_End_Time_Unit
,
4799 { "Maximum RSC End Time Unit", "cdma2k.Max_Rsc_End_Time_Unit", FT_UINT8
, BASE_HEX_DEC
, VALS(Max_rsc_End_Time_unit_Types
), 0x0, NULL
, HFILL
} },
4800 { &hf_cdma2k_Max_Rsc_End_Time_Value
,
4801 { "maximum RSC End Time Value", "cdma2k.Max_Rsc_End_Time_Value", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4802 { &hf_cdma2k_Req_Rsci
,
4803 { "Requested Reduced Slot Cycle index", "cdma2k.Req_Rsci", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4804 { &hf_cdma2k_Ignore_Qpch
,
4805 { "Ignore QPCH Indicators", "cdma2k.Ignore_Qpch", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4806 { &hf_cdma2k_Rer_Mode_Incl
,
4807 { "Radio Environment Reporting Mode Indicator", "cdma2k.Rer_Mode_Incl", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4808 { &hf_cdma2k_Rer_Mode_Enabled
,
4809 { "Radio Environment Reporting Mode Enabled", "cdma2k.Rer_Mode_Enabled", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4810 { &hf_cdma2k_Rer_Max_Num_Msg_Idx
,
4811 { "RER Maximum Message Index", "cdma2k.Rer_Max_Num_Msg_Idx", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4812 { &hf_cdma2k_Rer_Time
,
4813 { "Radio Environment Reporting Time", "cdma2k.Rer_Time", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4814 { &hf_cdma2k_Rer_Time_Unit
,
4815 { "Radio Environment Reporting Time Unit", "cdma2k.Rer_Time_Unit", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4816 { &hf_cdma2k_Max_Rer_Pilot_List_Size
,
4817 { "Maximum RER pilot List Size", "cdma2k.Max_Rer_Pilot_List_Size", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4818 { &hf_cdma2k_Tkz_Mode_Incl
,
4819 { "Tracking Zone Mode Indication", "cdma2k.Tkz_Mode_Incl", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4820 { &hf_cdma2k_Tkz_Mode_Enabled
,
4821 { "Tracking Zone Mode Enabled", "cdma2k.Tkz_Mode_Enabled", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4822 { &hf_cdma2k_Tkz_Max_Num_Msg_Idx
,
4823 { "Tracking Zone Maximum Message Index", "cdma2k.Tkz_Max_Num_Msg_Idx", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4824 { &hf_cdma2k_Tkz_Update_Prd
,
4825 { "Tracking Zone Update Period", "cdma2k.Tkz_Update_Prd", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4826 { &hf_cdma2k_Tkz_List_Len
,
4827 { "Tracking Zone List Length", "cdma2k.Tkz_List_Len", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4828 { &hf_cdma2k_Tkz_Timer
,
4829 { "Tracking Zone Timer", "cdma2k.Tkz_Timer", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4830 { &hf_cdma2k_Sr_Id_Bitmap
,
4831 { "Service Reference Identifier Bitmap", "cdma2k.Sr_Id_Bitmap", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4832 { &hf_cdma2k_Service_Status
,
4833 { "Service Status", "cdma2k.Service_Status", FT_UINT8
, BASE_HEX_DEC
, VALS(Service_Status_Types
), 0x0, NULL
, HFILL
} },
4834 { &hf_cdma2k_Regulatory_Ind_Incl
,
4835 { "Regulatory Indicator Included", "cdma2k.Regulatory_Ind_Incl", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4836 { &hf_cdma2k_Regulatory_Ind
,
4837 { "Regulatory Indication", "cdma2k.Regulatory_Ind", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4838 { &hf_cdma2k_Msg_Number
,
4839 { "Msg Number", "cdma2k.Msg_Number", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4840 { &hf_cdma2k_Burst_Type
,
4841 { "Burst Type", "cdma2k.Burst_Type", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4842 { &hf_cdma2k_Num_Msgs
,
4843 { "Num Msgs", "cdma2k.Num_Msgs", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4844 { &hf_cdma2k_Num_Fields
,
4845 { "Num Fields", "cdma2k.Num_Fields", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4846 { &hf_cdma2k_Chari_Data
,
4847 { "Chari Data", "cdma2k.Chari_Data", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4848 { &hf_cdma2k_Msg_Identifier
,
4849 { "Msg Identifier", "cdma2k.Msg_Identifier", FT_UINT8
, BASE_HEX_DEC
, VALS(Chari_Identifier_Types
), 0x0, NULL
, HFILL
} },
4850 { &hf_cdma2k_Parm_Id
,
4851 { "Parm Id", "cdma2k.Parm_Id", FT_UINT8
, BASE_HEX_DEC
, VALS(Chari_Parm_Types
), 0x0, NULL
, HFILL
} },
4852 { &hf_cdma2k_Parm_Length
,
4853 { "Parm Length", "cdma2k.Parm_Length", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4854 { &hf_cdma2k_Parm_Value
,
4855 { "Parm Data", "cdma2k.Parm_Value", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4857 { "Authu", "cdma2k.Authu", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4859 { "Randu", "cdma2k.Randu", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4860 { &hf_cdma2k_Gen_Cmea_Key
,
4861 { "Gen Cmea Key", "cdma2k.Gen_Cmea_Key", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4862 { &hf_cdma2k_service_option
,
4863 { "Service Option", "cdma2k.service_option", FT_UINT32
, BASE_HEX_DEC
, VALS(Page_Req_Service_Option_Types
), 0x0, NULL
, HFILL
} },
4864 { &hf_cdma2k_Use_Time
,
4865 { "Use Time", "cdma2k.Use_Time", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4866 { &hf_cdma2k_Action_Time
,
4867 { "Action Time", "cdma2k.Action_Time", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4868 { &hf_cdma2k_Hdm_Seq
,
4869 { "Sequence Number", "cdma2k.Hdm_Seq", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4870 { &hf_cdma2k_Parms_Incl
,
4871 { "Parameters Incl", "cdma2k.Parms_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4873 { "Protocol Revision", "cdma2k.P_Rev", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4874 { &hf_cdma2k_Serv_Neg_Type
,
4875 { "Service Negotiation", "cdma2k.Serv_Neg_Type", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4876 { &hf_cdma2k_Search_Incl
,
4877 { "Pilot Search Incl", "cdma2k.Search_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4878 { &hf_cdma2k_Pilot_Search
,
4879 { "Pilot Search Parameters", "cdma2k.Search", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4880 { &hf_cdma2k_Srch_Win_A
,
4881 { "Search Window size for Active Set", "cdma2k.Srch_Win_A", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4882 { &hf_cdma2k_Srch_Win_N
,
4883 { "Search Window size for Neighbour Set", "cdma2k.Srch_Win_N", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4884 { &hf_cdma2k_Srch_Win_R
,
4885 { "Search Window size for Remaining Set", "cdma2k.Srch_Win_R", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4887 { "Pilot Detection Threshold", "cdma2k.T_Add", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4888 { &hf_cdma2k_T_Drop
,
4889 { "Pilot Drop Threshold", "cdma2k.T_Drop", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4890 { &hf_cdma2k_T_Comp
,
4891 { "Active vs Candidate Set Comp Threshold", "cdma2k.T_Comp", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4892 { &hf_cdma2k_T_Tdrop
,
4893 { "Drop Timer Value", "cdma2k.T_Tdrop", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4894 { &hf_cdma2k_Soft_Slope
,
4895 { "Soft Slope", "cdma2k.Soft_Slope", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4896 { &hf_cdma2k_Add_Intercept
,
4897 { "Add Pilot Intercept", "cdma2k.Add_Intercept", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4898 { &hf_cdma2k_Drop_Intercept
,
4899 { "Drop Pilot Intercept", "cdma2k.Drop_Intercept", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4900 { &hf_cdma2k_Extra_Parms_Incl
,
4901 { "Extra Parms Incl", "cdma2k.Extra_Parms_incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4902 { &hf_cdma2k_Extra_Parms
,
4903 { "Extra Parameters", "cdma2k.Extra_Parms", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4904 { &hf_cdma2k_Packet_Zone_Id
,
4905 { "Packet Zone Identifier", "cdma2k.Packet_Zone_Id", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4906 { &hf_cdma2k_Frame_Offset
,
4907 { "Frame Offset", "cdma2k.Frame_Offset", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4908 { &hf_cdma2k_Private_Lcm
,
4909 { "Private LCM", "cdma2k.Private_Lcm", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4910 { &hf_cdma2k_Reset_L2
,
4911 { "Reset L2 Ack", "cdma2k.Reset_L2", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4912 { &hf_cdma2k_Reset_Fpc
,
4913 { "Reset Fch Power Cntrl Cntrs", "cdma2k.Reset_Fpc", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4914 { &hf_cdma2k_Encrypt_Mode
,
4915 { "Msg Encryption Mode", "cdma2k.Encrypt_Mode", FT_UINT8
, BASE_HEX_DEC
, VALS(Encrypt_Mode_Types
), 0x0, NULL
, HFILL
} },
4916 { &hf_cdma2k_Nom_Pwr_Ext
,
4917 { "Ext Nominal Transmit Power", "cdma2k.Nom_Pwr_Ext", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4918 { &hf_cdma2k_Nom_Pwr
,
4919 { "Nominal Transmit Power Offset", "cdma2k.Nom_Pwr", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4920 { &hf_cdma2k_Rlgain_Traffic_Pilot
,
4921 { "Rlgain Of Traffic Pilot", "cdma2k.Rlgain_Traffic_Pilot", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4922 { &hf_cdma2k_Default_Rlag
,
4923 { "Reverse Link Attr Gain", "cdma2k.Default_Rlag", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4924 { &hf_cdma2k_Num_Preamble
,
4925 { "Traffic Channel Preamble", "cdma2k.Num_Preamble", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4926 { &hf_cdma2k_Band_Class
,
4927 { "Band Class", "cdma2k.Band_Class", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4928 { &hf_cdma2k_Cdma_Freq
,
4929 { "Frequency Assignment", "cdma2k.Cdma_Freq", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4930 { &hf_cdma2k_Return_If_Handoff_Fail
,
4931 { "Return On Failure", "cdma2k.Return_If_Handoff_Fail", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4932 { &hf_cdma2k_Complete_Search
,
4933 { "Complete Search", "cdma2k.Complete_Search", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4934 { &hf_cdma2k_Periodic_Search
,
4935 { "Periodic Search", "cdma2k.Periodic_Search", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4936 { &hf_cdma2k_Scr_Incl
,
4937 { "Scr Incl", "cdma2k.Scr_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4939 { "Service Config Records", "cdma2k.Scr", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4940 { &hf_cdma2k_Serv_Con_Seq
,
4941 { "Service Connect Sequence Number", "cdma2k.Serv_Con_Seq", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4942 { &hf_cdma2k_Record_Type
,
4943 { "Information Record Type", "cdma2k.Record_Type", FT_UINT8
, BASE_HEX_DEC
, VALS(Info_Rec_Types
), 0x0, NULL
, HFILL
} },
4944 { &hf_cdma2k_Record_Len
,
4945 { "Information Record Length", "cdma2k.Record_Len", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4946 { &hf_cdma2k_Type_Specific_Fields
,
4947 { "Type Specific Fields :", "cdma2k.Type_Specific_Fields", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4948 { &hf_cdma2k_Nnscr_Incl
,
4949 { "Nnscr Incl", "cdma2k.Nnscr_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4951 { "Non-Negotiable Service Config Records", "cdma2k.Nnscr", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4952 { &hf_cdma2k_Use_Pwr_Cntl_Step
,
4953 { "Power Control Step Size Incl", "cdma2k.Use_Pwr_Cntl_Step", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4954 { &hf_cdma2k_Pwr_Cntl_Step
,
4955 { "Power Control Step Size", "cdma2k.Pwr_Cntl_Step", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4956 { &hf_cdma2k_Clear_Retry_Delay
,
4957 { "Clear Retry Delay Indicator", "cdma2k.Clear_Retry_Delay", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4958 { &hf_cdma2k_Sch_Incl
,
4959 { "Supplemented Channel Parms Incl", "cdma2k.Sch_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4961 { "Supplemental Channel Parameters", "cdma2k.Sch", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4962 { &hf_cdma2k_Num_For_Assign
,
4963 { "Forward Channels Assigned", "cdma2k.Num_For_Assign", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4964 { &hf_cdma2k_Record_For_Assign
,
4965 { "Forward Channel Records", "cdma2k.Record_For_Assign", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4966 { &hf_cdma2k_Sch_Id
,
4967 { "Channel Identifier", "cdma2k.Sch_Id", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4968 { &hf_cdma2k_Sch_Duration
,
4969 { "Channel Assignment Duration", "cdma2k.Sch_Duration", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4970 { &hf_cdma2k_Sch_Start_Time_Incl
,
4971 { "Start Time Incl", "cdma2k.Sch_Start_Time_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4972 { &hf_cdma2k_Sch_Start_Time
,
4973 { "Start Time", "cdma2k.Sch_Start_Time", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4974 { &hf_cdma2k_Sccl_Index
,
4975 { "Channel Code List Index", "cdma2k.Sccl_Index", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4976 { &hf_cdma2k_Num_Rev_Assign
,
4977 { "Reverse Channels Assigned", "cdma2k.Num_Rev_Assign", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4978 { &hf_cdma2k_Record_Rev_Assign
,
4979 { "Reverse Channel Records", "cdma2k.Record_Rev_Assign", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4980 { &hf_cdma2k_Sch_Num_Bits_Idx
,
4981 { "Bits Per Frame Index", "cdma2k.Sch_Num_Bits_Idx", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4982 { &hf_cdma2k_Fpc_Subchain_Gain
,
4983 { "Fwd Pwr Cntl Subchannel Rel Gain", "cdma2k.Fpc_Subchain_Gain", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4984 { &hf_cdma2k_Use_Pc_Time
,
4985 { "Pwr Cntl Action Time Incl", "cdma2k.Use_Pc_Time", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4986 { &hf_cdma2k_Pc_Action_Time
,
4987 { "Pwr Cntl Action Time", "cdma2k.Pc_Action_Time", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4988 { &hf_cdma2k_Ch_Ind
,
4989 { "Channel Indicator", "cdma2k.Ch_Ind", FT_UINT8
, BASE_HEX_DEC
, VALS(l3dpu_ORM_ch_ind_values
), 0x0, NULL
, HFILL
} },
4990 { &hf_cdma2k_Active_Set_Rec_Len
,
4991 { "Active Set Rec Length", "cdma2k.Active_Set_Rec_Len", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4992 { &hf_cdma2k_Active_Set_Rec_Fields
,
4993 { "Active Set Rec Fields", "cdma2k.Active_Set_Rec_Fields", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4994 { &hf_cdma2k_Rev_Fch_Gating_Mode
,
4995 { "Rev Gating Mode Indicator", "cdma2k.Rev_Fch_Gating_Mode", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
4996 { &hf_cdma2k_Rev_Pwr_Cntl_Delay_Incl
,
4997 { "Rev Pwr Cntl Delay Incl", "cdma2k.Rev_Pwr_Cntl_Delay_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
4998 { &hf_cdma2k_Rev_Pwr_Cntl_Delay
,
4999 { "Rev Pwr Cntl Delay", "cdma2k.Rev_Pwr_Cntl_Delay", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5000 { &hf_cdma2k_D_Sig_Encrypt_Mode
,
5001 { "Dedicated Chan Encryption Mode Ind", "cdma2k.D_Sig_Encrypt_Mode", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5002 { &hf_cdma2k_3xfl_1xrl_Incl
,
5003 { "3x Fwd & 1x Rev Link Incl", "cdma2k.3xfl_1xrl_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5004 { &hf_cdma2k_1xrl_Freq_Offset
,
5005 { "1x Rev Link Freq Offset", "cdma2k.1xrl_Freq_Offset", FT_UINT8
, BASE_HEX_DEC
, VALS(rl_Freq_Offset_Types
), 0x0, NULL
, HFILL
} },
5006 { &hf_cdma2k_Sync_Id_Incl
,
5007 { "Sync Identifier Incl", "cdma2k.Sync_Id_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5008 { &hf_cdma2k_Sync_Id_Len
,
5009 { "Sync Identifier Len", "cdma2k.Sync_Id_Len", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5010 { &hf_cdma2k_Sync_Id
,
5011 { "Sync Identifier :", "cdma2k.Sync_Id", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5012 { &hf_cdma2k_Cc_Info_Incl
,
5013 { "Call Cntl Info Incl", "cdma2k.Cc_Info_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5014 { &hf_cdma2k_Num_Calls_Assign
,
5015 { "Number Of Call Assignments", "cdma2k.Num_Calls_Assign", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5016 { &hf_cdma2k_Record_Calls_Assign
,
5017 { "Call Assignment Records", "cdma2k.Record_Calls_Assign", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5018 { &hf_cdma2k_Response_Ind
,
5019 { "Response Indicator", "cdma2k.Response_Ind", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5020 { &hf_cdma2k_Bypass_Alert_Answer
,
5021 { "Bypass Alert Answer", "cdma2k.Bypass_Alert_Answer", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5022 { &hf_cdma2k_Cs_Supported
,
5023 { "Concurrent Services Supported", "cdma2k.Cs_Supported", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5024 { &hf_cdma2k_Chm_Supported
,
5025 { "Control Hold Mode Supported", "cdma2k.Chm_Supported", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5026 { &hf_cdma2k_Cdma_Off_Time_Rep_Sup_Ind
,
5027 { "CDMA Off Time Report Supported", "cdma2k.Cdma_Off_Time_Rep_Sup_Ind", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5028 { &hf_cdma2k_Cdma_Off_Time_Rep_Threshold_Unit
,
5029 { "Threshold Unit", "cdma2k.Cdma_Off_Time_Rep_Threshold_Unit", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5030 { &hf_cdma2k_Cdma_Off_Time_Rep_Threshold
,
5031 { "Threshold", "cdma2k.Cdma_Off_Time_Rep_Threshold", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5032 { &hf_cdma2k_Release_To_Idle_Ind
,
5033 { "Release To Idle Allowed", "cdma2k.Release_To_Idle_Ind", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5034 { &hf_cdma2k_Msg_Integrity_Sup
,
5035 { "Msg Integrity Supported", "cdma2k.Msg_Integrity_Sup", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5036 { &hf_cdma2k_Gen_2g_Key
,
5037 { "Generate 2G Encryption Key", "cdma2k.Gen_2g_Key", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5038 { &hf_cdma2k_Register_In_Idle
,
5039 { "Register In Idle State", "cdma2k.Register_In_Idle", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5040 { &hf_cdma2k_Plcm_Type_Incl
,
5041 { "PLCM Type Incl", "cdma2k.Plcm_Type_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5042 { &hf_cdma2k_Plcm_Type
,
5043 { "PLCM Type", "cdma2k.Plcm_Type", FT_UINT8
, BASE_HEX_DEC
, VALS(Plcm_Types
), 0x0, NULL
, HFILL
} },
5044 { &hf_cdma2k_Plcm_39
,
5045 { "PLCM 39", "cdma2k.Plcm_39", FT_UINT64
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5046 { &hf_cdma2k_T_Tdrop_Range_Incl
,
5047 { "Drop Timer Range Incl", "cdma2k.T_Tdrop_Range_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5048 { &hf_cdma2k_T_Tdrop_Range
,
5049 { "Drop Timer Range", "cdma2k.T_Tdrop_Range", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5050 { &hf_cdma2k_For_Pdch_Supported
,
5051 { "For Packet Data Channel Supported", "cdma2k.For_Pdch_Supported", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5052 { &hf_cdma2k_Pdch_Chm_Supported
,
5053 { "PDCh Cntl Mode Supported", "cdma2k.Pdch_Chm_Supported", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5054 { &hf_cdma2k_Pilot_Info_Req_Supported
,
5055 { "Pilot Info Req Supported", "cdma2k.Pilot_Info_Req_Supported", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5056 { &hf_cdma2k_Enc_Supported
,
5057 { "Encryption Fields Incl", "cdma2k.Enc_Supported", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5058 { &hf_cdma2k_Sig_Encrypt_Sup
,
5059 { "Signalling Encryption Supported", "cdma2k.Sig_Encrypt_Sup", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5060 { &hf_cdma2k_Ui_Encrypt_Sup
,
5061 { "User Info Encryption Supported", "cdma2k.Ui_Encrypt_Sup", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5062 { &hf_cdma2k_Use_Sync_Id
,
5063 { "Sync Id Supported", "cdma2k.Use_Sync_Id", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5064 { &hf_cdma2k_Sid_Incl
,
5065 { "System Identification Incl", "cdma2k.Sid_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5067 { "System Identification", "cdma2k.Sid", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5068 { &hf_cdma2k_Nid_Incl
,
5069 { "Network Identification Incl", "cdma2k.Nid_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5071 { "Network Identification", "cdma2k.Nid", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5072 { &hf_cdma2k_Sdb_Supported
,
5073 { "Short Data Burst Indicator", "cdma2k.Sdb_Supported", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5074 { &hf_cdma2k_Mob_Qos
,
5075 { "MS QoS Parm Req", "cdma2k.Mob_Qos", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5076 { &hf_cdma2k_Ms_Init_Pos_Loc_Sup_Ind
,
5077 { "MS Pos Loc Supported", "cdma2k.Ms_Init_Pos_Loc_Sup_Ind", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5078 { &hf_cdma2k_Rev_Pdch_Supported
,
5079 { "Rev Packet Data Channel Supported", "cdma2k.Rev_Pdch_Supported", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5080 { &hf_cdma2k_Pz_Hyst_Enabled
,
5081 { "Packet Zone Hysteresis Enabled", "cdma2k.Pz_Hyst_Enabled", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5082 { &hf_cdma2k_Pz_Hyst_Info_Incl
,
5083 { "Packet Zone Hysteresis Info Incl", "cdma2k.Pz_Hyst_Info_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5084 { &hf_cdma2k_Pz_Hyst_List_Len
,
5085 { "Packet Zone Hysteresis List Length", "cdma2k.Pz_Hyst_List_Len", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5086 { &hf_cdma2k_Pz_Hyst_Act_Timer
,
5087 { "Packet Zone Hysteresis Act Timer", "cdma2k.Pz_Hyst_Act_Timer", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5088 { &hf_cdma2k_Pz_Hyst_Timer_Mul
,
5089 { "Packet Zone Hysteresis Timer Multiplier", "cdma2k.Pz_Hyst_Timer_Mul", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5090 { &hf_cdma2k_Pz_Hyst_Timer_Exp
,
5091 { "Packet Zone Hysteresis Timer Exponent", "cdma2k.Pz_Hyst_Timer_Exp", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5092 { &hf_cdma2k_Bcmc_On_Traffic_Sup
,
5093 { "BCMC On Tch Supported", "cdma2k.Bcmc_On_Traffic_Sup", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5094 { &hf_cdma2k_Auto_Re_Traffic_Allowed_Ind
,
5095 { "BCMC Req On Tch Allowed", "cdma2k.Auto_Re_Traffic_Allowed_Ind", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5096 { &hf_cdma2k_Sch_Bcmc_Ind
,
5097 { "BCMC On Sch Indicator", "cdma2k.Sch_Bcmc_Ind", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5098 { &hf_cdma2k_Add_Plcm_For_Sch_Incl
,
5099 { "For Sch Additional PLCM Incl", "cdma2k.Add_Plcm_For_Sch_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5100 { &hf_cdma2k_Add_Plcm_For_Sch_Type
,
5101 { "For Sch Additional PLCM Type", "cdma2k.Add_Plcm_For_Sch_Type", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5102 { &hf_cdma2k_Add_Plcm_For_Sch_35
,
5103 { "For Sch Additional PLCM", "cdma2k.Add_Plcm_For_Sch_35", FT_UINT64
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5104 { &hf_cdma2k_Record_Sch_Bcmc
,
5105 { "Sch BCMC Records", "cdma2k.Record_Sch_Bcmc", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5106 { &hf_cdma2k_Use_Add_Plcm_For_Sch
,
5107 { "Use For Sch Additional PLCM", "cdma2k.Use_Add_Plcm_For_Sch", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5108 { &hf_cdma2k_Fsch_Outercode_Incl
,
5109 { "For Sch Outer Code Incl", "cdma2k.Fsch_Outercode_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5110 { &hf_cdma2k_Fsch_Outercode_Rate
,
5111 { "For Sch Outer Code Rate", "cdma2k.Fsch_Outercode_Rate", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5112 { &hf_cdma2k_Fsch_Outercode_Offset
,
5113 { "For Sch Outer Code Offset", "cdma2k.Fsch_Outercode_Offset", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5114 { &hf_cdma2k_Max_Add_Serv_Instance
,
5115 { "Max Additional Service Identifiers", "cdma2k.Max_Add_Serv_Instance", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5116 { &hf_cdma2k_Use_Ch_Cfg_Rrm
,
5117 { "Channel Config Req Allowed", "cdma2k.Use_Ch_Cfg_Rrm", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5118 { &hf_cdma2k_Tx_Pwr_Limit_Incl
,
5119 { "Tx Pwr Limit Incl", "cdma2k.Tx_Pwr_Limit_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5120 { &hf_cdma2k_Tx_Pwr_Limit_Default
,
5121 { "Tx Pwr Limit Default", "cdma2k.Tx_Pwr_Limit_Default", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5122 { &hf_cdma2k_Tx_Pwr_Limit
,
5123 { "Tx Pwr Limit", "cdma2k.Tx_Pwr_Limit", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5124 { &hf_cdma2k_Num_For_Sch
,
5125 { "Forward Sch Record Count", "cdma2k.Num_For_Sch", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5126 { &hf_cdma2k_Record_For_Sch
,
5127 { "Forward Supplemental Channel Record", "cdma2k.Record_For_Sch", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5128 { &hf_cdma2k_Num_Rev_Sch
,
5129 { "Reverse Sch Record Count", "cdma2k.Num_Rev_Sch", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5130 { &hf_cdma2k_Record_Rev_Sch
,
5131 { "Reverse Supplemental Channel Record", "cdma2k.Record_Rev_Sch", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5132 { &hf_cdma2k_Walsh_Id
,
5133 { "Walsh Cover Identifier", "cdma2k.Walsh_Id", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5134 { &hf_cdma2k_Num_Pilots
,
5135 { "Pilot Count", "cdma2k.Num_Pilots", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5136 { &hf_cdma2k_Srch_Offset_Incl
,
5137 { "Search Window Offset Incl", "cdma2k.Srch_Offset_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5138 { &hf_cdma2k_Record_Pilots
,
5139 { "Pilot Record", "cdma2k.Record_Pilots", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5140 { &hf_cdma2k_Pilot_Pn
,
5141 { "PN Sequence Offset Idx", "cdma2k.Pilot_Pn", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5142 { &hf_cdma2k_Srch_Offset
,
5143 { "Search Window Offset", "cdma2k.Srch_Offset", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5144 { &hf_cdma2k_Add_Pilot_Rec_Incl
,
5145 { "Add Pilot Info Incl", "cdma2k.Add_Pilot_Rec_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5146 { &hf_cdma2k_Pilot_Rec_Type
,
5147 { "Pilot Rec Type", "cdma2k.Pilot_Rec_Type", FT_UINT8
, BASE_HEX_DEC
, VALS(Pilot_Rec_Types
), 0x0, NULL
, HFILL
} },
5148 { &hf_cdma2k_Pwr_Comb_Ind
,
5149 { "Power Cntl Indicator", "cdma2k.Pwr_Comb_Ind", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5150 { &hf_cdma2k_Code_Chan_Fch
,
5151 { "CodeCh On Fundamental Channel", "cdma2k.Code_Chan_Fch", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5152 { &hf_cdma2k_Qof_Mask_Id_Fch
,
5153 { "Qof Idx On Fundamental Channel", "cdma2k.Qof_Mask_Id_Fch", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5154 { &hf_cdma2k_Num_Sch
,
5155 { "Supplemental Channel Record Cnt", "cdma2k.Num_Sch", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5156 { &hf_cdma2k_Record_Sch
,
5157 { "Supplemental Channel Records", "cdma2k.Record_Sch", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5158 { &hf_cdma2k_Pilot_Incl
,
5159 { "Pilot Incl", "cdma2k.Pilot_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5160 { &hf_cdma2k_Code_Chan_Sch
,
5161 { "Code Channel", "cdma2k.Code_Chan_Sch", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5162 { &hf_cdma2k_Qof_Mask_Id_Sch
,
5163 { "Qof Index", "cdma2k.Qof_Mask_Id_Sch", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5164 { &hf_cdma2k_3xFch_Info_Incl
,
5165 { "3xFundamentalCh Info Incl", "cdma2k.3xFch_Info_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5166 { &hf_cdma2k_3xFch_Low_Incl
,
5167 { "Fundamental CodeCh On Low Freq Incl", "cdma2k.3xFch_Low_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5168 { &hf_cdma2k_Qof_Mask_Id_Fch_Low
,
5169 { "Qof Idx", "cdma2k.Qof_Mask_Id_Fch_Low", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5170 { &hf_cdma2k_Code_Chan_Fch_Low
,
5171 { "Code Channel", "cdma2k.Code_Chan_Fch_Low", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5172 { &hf_cdma2k_3xFch_High_Incl
,
5173 { "Fundamental CodeCh On High Freq Incl", "cdma2k.3xFch_High_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5174 { &hf_cdma2k_Qof_Mask_Id_Fch_High
,
5175 { "Qof Idx", "cdma2k.Qof_Mask_Id_Fch_High", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5176 { &hf_cdma2k_Code_Chan_Fch_High
,
5177 { "Code Channel", "cdma2k.Code_Chan_Fch_High", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5178 { &hf_cdma2k_3xSch_Info_Incl
,
5179 { "3x SCh Info Incl", "cdma2k.3xSch_Info_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5180 { &hf_cdma2k_3xSch_Low_Incl
,
5181 { "Sch On Low Freq Incl", "cdma2k.3xSch_Low_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5182 { &hf_cdma2k_Qof_Mask_Id_Sch_Low
,
5183 { "Qof Index", "cdma2k.Qof_Mask_Id_Sch_Low", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5184 { &hf_cdma2k_Code_Chan_Sch_Low
,
5185 { "Code Channel", "cdma2k.Code_Chan_Sch_Low", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5186 { &hf_cdma2k_3xSch_High_Incl
,
5187 { "Sch On High Freq Incl", "cdma2k.3xSch_High_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5188 { &hf_cdma2k_Qof_Mask_Id_Sch_High
,
5189 { "Qof Index", "cdma2k.Qof_Mask_Id_Sch_High", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5190 { &hf_cdma2k_Code_Chan_Sch_High
,
5191 { "Code Channel", "cdma2k.Code_Chan_Sch_High", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5192 { &hf_cdma2k_Ccsh_Included
,
5193 { "Ccsh Incl", "cdma2k.Ccsh_Included", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5194 { &hf_cdma2k_Use_Ccsh_Encoder_Time
,
5195 { "Ccsh Encoder Indicator", "cdma2k.Use_Ccsh_Encoder_Time", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5196 { &hf_cdma2k_Ccsh_Encoder_Action_Time
,
5197 { "Ccsh Encoder Action Time", "cdma2k.Ccsh_Encoder_Action_Time", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5198 { &hf_cdma2k_Ccsh_Encoder_Type
,
5199 { "Ccsh Encoder Type", "cdma2k.Ccsh_Encoder_Type", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5200 { &hf_cdma2k_Code_Chan_Dcch
,
5201 { "CodeCh On Dedicated Channel", "cdma2k.Code_Chan_Dcch", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5202 { &hf_cdma2k_Qof_Mask_Id_Dcch
,
5203 { "Qof Idx On Dedicated Channel", "cdma2k.Qof_Mask_Id_Dcch", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5204 { &hf_cdma2k_3xDcch_Info_Incl
,
5205 { "3xDedicatedCh Info Incl", "cdma2k.3xDcch_Info_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5206 { &hf_cdma2k_3xDcch_Low_Incl
,
5207 { "Dedicated CodeCh On Low Freq Incl", "cdma2k.3xDcch_Low_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5208 { &hf_cdma2k_Qof_Mask_Id_Dcch_Low
,
5209 { "Qof Idx", "cdma2k.Qof_Mask_Id_Dcch_Low", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5210 { &hf_cdma2k_Code_Chan_Dcch_Low
,
5211 { "Code Channel", "cdma2k.Code_Chan_Dcch_Low", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5212 { &hf_cdma2k_3xDcch_High_Incl
,
5213 { "Dedicated CodeCh On High Freq Incl", "cdma2k.3xDcch_High_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5214 { &hf_cdma2k_Qof_Mask_Id_Dcch_High
,
5215 { "Qof Idx", "cdma2k.Qof_Mask_Id_Dcch_High", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5216 { &hf_cdma2k_Code_Chan_Dcch_High
,
5217 { "Code Channel", "cdma2k.Code_Chan_Dcch_High", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5218 { &hf_cdma2k_Fundicated_Bcmc_Ind
,
5219 { "BCMC On FundicatedCh Indicator", "cdma2k.Fundicated_Bcmc_Ind", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5220 { &hf_cdma2k_For_Cpcch_Walsh
,
5221 { "Forward Cpcch Walsh Code", "cdma2k.For_Cpcch_Walsh", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5222 { &hf_cdma2k_For_Cpcsch
,
5223 { "Forward Cpcsch", "cdma2k.For_Cpcsch", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5224 { &hf_cdma2k_Rev_Fch_Assigned
,
5225 { "Rev FCh Channel Assigned", "cdma2k.Rev_Fch_Assigned", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5226 { &hf_cdma2k_Add_Plcm_For_Fch_Incl
,
5227 { "Add PLCM For Forward Fch Incl", "cdma2k.Add_Plcm_For_Fch_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5228 { &hf_cdma2k_Add_Plcm_For_Fch_Type
,
5229 { "Add PLCM For Forward Fch Type", "cdma2k.Add_Plcm_For_Fch_Type", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5230 { &hf_cdma2k_Add_Plcm_For_Fch_39
,
5231 { "Add PLCM For Forward Fch", "cdma2k.Add_Plcm_For_Fch_39", FT_UINT64
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5232 { &hf_cdma2k_For_Cpcch_Info_Incl
,
5233 { "Cpcch Info Incl", "cdma2k.For_Cpcch_Info_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5234 { &hf_cdma2k_Info_Rec
,
5235 { "Information Records", "cdma2k.Info_Rec", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5237 { "Chari", "cdma2k.Chari", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5238 { &hf_cdma2k_Number_Type
,
5239 { "Number Type", "cdma2k.Number_Type", FT_UINT8
, BASE_HEX_DEC
, VALS(Number_Types
), 0x0, NULL
, HFILL
} },
5240 { &hf_cdma2k_Number_Plan
,
5241 { "Number Plan", "cdma2k.Number_Plan", FT_UINT8
, BASE_HEX_DEC
, VALS(Number_Plan_Types
), 0x0, NULL
, HFILL
} },
5242 { &hf_cdma2k_Pres_Indicator
,
5243 { "Presentation Indicator", "cdma2k.Pres_Indicator", FT_UINT8
, BASE_HEX_DEC
, VALS(Pres_Ind_Types
), 0x0, NULL
, HFILL
} },
5244 { &hf_cdma2k_Scr_Indicator
,
5245 { "Screening Indicator", "cdma2k.Scr_Indicator", FT_UINT8
, BASE_HEX_DEC
, VALS(Scr_Ind_Types
), 0x0, NULL
, HFILL
} },
5246 { &hf_cdma2k_Signal_Type
,
5247 { "Signal Type", "cdma2k.Signal_Type", FT_UINT8
, BASE_HEX_DEC
, VALS(Signal_Types
), 0x0, NULL
, HFILL
} },
5248 { &hf_cdma2k_Alert_Pitch
,
5249 { "Alert Pitch", "cdma2k.Alert_Pitch", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5250 { &hf_cdma2k_Signal
,
5251 { "Signal", "cdma2k.Signal", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5252 { &hf_cdma2k_Msg_Count
,
5253 { "Msg Count", "cdma2k.Msg_Count", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5254 { &hf_cdma2k_Extension_Bit
,
5255 { "Extension Bit", "cdma2k.Extension_Bit", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5256 { &hf_cdma2k_Subaddress_Type
,
5257 { "Subaddress Type", "cdma2k.Subaddress_Type", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5258 { &hf_cdma2k_Odd_Even_Ind
,
5259 { "Odd/Even Indicator", "cdma2k.Odd_Even_Ind", FT_UINT8
, BASE_HEX_DEC
, VALS(Odd_Even_Ind_Types
), 0x0, NULL
, HFILL
} },
5260 { &hf_cdma2k_Redirection_Reason
,
5261 { "Redirection Reason", "cdma2k.Redirection_Reason", FT_UINT8
, BASE_HEX_DEC
, VALS(Redir_Reason_Types
), 0x0, NULL
, HFILL
} },
5262 { &hf_cdma2k_Pulse_Freq
,
5263 { "Pulse Frequency", "cdma2k.Pulse_Freq", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5264 { &hf_cdma2k_Pulse_On_Time
,
5265 { "Pulse On Time", "cdma2k.Pulse_On_Time", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5266 { &hf_cdma2k_Pulse_Off_Time
,
5267 { "Pulse Off Time", "cdma2k.Pulse_Off_Time", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5268 { &hf_cdma2k_Pulse_Count
,
5269 { "Pulse Count", "cdma2k.Pulse_Count", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5270 { &hf_cdma2k_Cadence_Count
,
5271 { "Cadence Count", "cdma2k.Cadence_Count", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5272 { &hf_cdma2k_Num_Grps
,
5273 { "Num Of Groups", "cdma2k.Num_Grps", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5274 { &hf_cdma2k_Amplitude
,
5275 { "Amplitude", "cdma2k.Amplitude", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5277 { "Tone Frequency", "cdma2k.Freq", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5278 { &hf_cdma2k_On_Time
,
5279 { "On Time", "cdma2k.On_Time", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5280 { &hf_cdma2k_Off_Time
,
5281 { "Off Time", "cdma2k.Off_Time", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5282 { &hf_cdma2k_Repeat
,
5283 { "Repeat", "cdma2k.Repeat", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5285 { "Delay", "cdma2k.Delay", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5286 { &hf_cdma2k_Cadence_Type
,
5287 { "Cadence Type", "cdma2k.Cadence_Type", FT_UINT8
, BASE_HEX_DEC
, VALS(Cadence_Types
), 0x0, NULL
, HFILL
} },
5288 { &hf_cdma2k_Polarity_Incl
,
5289 { "Polarity Incl", "cdma2k.Polarity_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5290 { &hf_cdma2k_Toggle_Mode
,
5291 { "Toggle Mode", "cdma2k.Toggle_Mode", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5292 { &hf_cdma2k_Reverse_Polarity
,
5293 { "Reverse Polarity", "cdma2k.Reverse_Polarity", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5294 { &hf_cdma2k_Pwr_Denial_Time
,
5295 { "Power Denial Time", "cdma2k.Pwr_Denial_Time", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5296 { &hf_cdma2k_Call_Waiting_Ind
,
5297 { "Call Waiting Ind", "cdma2k.Call_Waiting_Ind", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5298 { &hf_cdma2k_Request_Mode
,
5299 { "Request Mode", "cdma2k.Request_Mode", FT_UINT8
, BASE_DEC
, VALS(l3dpu_ORM_PRM_req_mode_values
), 0x0, NULL
, HFILL
} },
5300 { &hf_cdma2k_Special_Service
,
5301 { "Special Service", "cdma2k.Special_Service", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5303 { "Privacy Mode", "cdma2k.PM", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5304 { &hf_cdma2k_digit_mode
,
5305 { "Digit Mode", "cdma2k.Digit_Mode", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5306 { &hf_cdma2k_More_Fields
,
5307 { "More Fields", "cdma2k.More_Fields", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5308 { &hf_cdma2k_Nar_An_Cap
,
5309 { "NAR AN CAP", "cdma2k.Nar_An_Cap", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5310 { &hf_cdma2k_Paca_Reorig
,
5311 { "PACA REORIG", "cdma2k.Paca_Reorig", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5312 { &hf_cdma2k_More_Records
,
5313 { "More Records", "cdma2k.More_Records", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5314 { &hf_cdma2k_encryption_supported
,
5315 { "Encryption Supported", "cdma2k.Encryption_Supported", FT_UINT8
, BASE_DEC
, VALS(l3dpu_ORM_encryption_algo_values
), 0x0, NULL
, HFILL
} },
5316 { &hf_cdma2k_Paca_Supported
,
5317 { "Paca Supported", "cdma2k.Paca_Supported", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5318 { &hf_cdma2k_num_alt_so
,
5319 { "NUM ALT SO", "cdma2k.NUM_ALT_SO", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5320 { &hf_cdma2k_Alt_So
,
5321 { "Alt So", "cdma2k.Alt_So", FT_UINT16
, BASE_HEX_DEC
, VALS(Page_Req_Service_Option_Types
), 0x0, NULL
, HFILL
} },
5323 { "Data ready to send", "cdma2k.DRS", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5325 { "SR ID", "cdma2k.SR_ID", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5326 { &hf_cdma2k_Otd_Supported
,
5327 { "OTD Supported", "cdma2k.OTD_Supported", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5328 { &hf_cdma2k_For_Rc_Pref
,
5329 { "Forward Rc Pref", "cdma2k.For_Rc_Pref", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5330 { &hf_cdma2k_Rev_Rc_Pref
,
5331 { "Reverse Rc Pref", "cdma2k.Rev_Rc_Pref", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5332 { &hf_cdma2k_Fch_Supported
,
5333 { "Fch Supported","cdma2k.Fch_Supported", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5334 { &hf_cdma2k_Fch_capability_type_specific_Fields
,
5335 { "Fch capability type specific Fields","cdma2k.Fch_cap_type_specific_Fields", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5336 { &hf_cdma2k_Fch_Frame_Size
,
5337 { "Frame Size", "cdma2k.Fch_Frame_Size", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5338 { &hf_cdma2k_For_Fch_Len
,
5339 { "Forward Fch Len", "cdma2k.For_Fch_Len", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5340 { &hf_cdma2k_For_Fch_Rc_Map
,
5341 { "Forward Fch Rc Map", "cdma2k.For_Fch_Rc_Map", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5342 { &hf_cdma2k_Rev_Fch_Len
,
5343 { "Reverse Fch Len", "cdma2k.Rev_Fch_Len", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5344 { &hf_cdma2k_Rev_Fch_Rc_Map
,
5345 { "Reverse Fch Rc Map", "cdma2k.Rev_Fch_Rc_Map", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5346 { &hf_cdma2k_Dcch_capability_type_specific_Fields
,
5347 { "Dcch cap type specific Fields","cdma2k.Dcch_cap_type_specific_Fields", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5348 { &hf_cdma2k_Dcch_Supported
,
5349 { "Dcch Supported","cdma2k.Dcch_Supported", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5350 { &hf_cdma2k_Dcch_Frame_Size
,
5351 { "Frame Size", "cdma2k.Dcch_Frame_Size", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5352 { &hf_cdma2k_For_Dcch_Len
,
5353 { "Forward Dcch Len", "cdma2k.For_Dcch_Len", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5354 { &hf_cdma2k_For_Dcch_Rc_Map
,
5355 { "Forward Dcch Rc Map", "cdma2k.For_Dcch_Rc_Map", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5356 { &hf_cdma2k_Rev_Dcch_Len
,
5357 { "Reverse Dcch Len", "cdma2k.Rev_Dcch_Len", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5358 { &hf_cdma2k_Rev_Dcch_Rc_Map
,
5359 { "Reverse Dcch Rc Map", "cdma2k.Rev_Dcch_Rc_Map", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5360 { &hf_cdma2k_Rev_Fch_Gating_Req
,
5361 { "RevFch GatingReq","cdma2k.Rev_Fch_GatingReq", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5362 { &hf_cdma2k_Orig_Reason
,
5363 { "Orig Reason","cdma2k.Orig_Reason", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5364 { &hf_cdma2k_Orig_Count
,
5365 { "Orig Count", "cdma2k.Orig_Count", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5366 { &hf_cdma2k_Sts_Supported
,
5367 { "Sts Supported","cdma2k.Sts_Supported", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5368 { &hf_cdma2k_ThreeXCchSupported
,
5369 { "ThreeXCch Supported","cdma2k.ThreeXCch_Supported", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5370 { &hf_cdma2k_Wll_Incl
,
5371 { "Wll Incl","cdma2k.Wll_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5372 { &hf_cdma2k_Wll_Device_Type
,
5373 { "Wll Device Type", "cdma2k.Wll_Device_Type", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5374 { &hf_cdma2k_Global_Emergency_Call
,
5375 { "Global Emergency Call","cdma2k.Global_Emergency_Call", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5376 { &hf_cdma2k_Ms_Init_Pos_Loc_Ind
,
5377 { "Ms Init Pos Loc Ind","cdma2k.Ms_Init_Pos_Loc_Ind", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5378 { &hf_cdma2k_Qos_Parms_Incl
,
5379 { "Qos Parms Incl","cdma2k.Qos_Parms_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5380 { &hf_cdma2k_Qos_Parms_Length
,
5381 { "Qos Parms Length", "cdma2k.Qos_Parms_Length", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5382 { &hf_cdma2k_Qos_Parms
,
5383 { "Qos Parms", "cdma2k.Qos_Parms", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5384 { &hf_cdma2k_Enc_Info_Incl
,
5385 { "Enc Info Incl","cdma2k.EncInfo_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5386 { &hf_cdma2k_Sig_Encrypt_Supp
,
5387 { "Sig Encrypt Supported", "cdma2k.Sig_Encrypt_Supp", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5388 { &hf_cdma2k_DSig_Encrypt_Req
,
5389 { "DSig Encrypt Req","cdma2k.DSig_Encrypt_Req", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5390 { &hf_cdma2k_CSig_Encrypt_Req
,
5391 { "CSig Encrypt Req","cdma2k.CSig_Encrypt_Req", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5392 { &hf_cdma2k_New_Sseq_H
,
5393 { "New SseqH", "cdma2k.New_Sseq_H", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5394 { &hf_cdma2k_New_Sseq_H_Sig
,
5395 { "New SseqH Sig", "cdma2k.New_Sseq_H_Sig", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5396 { &hf_cdma2k_Ui_Encrypt_Req
,
5397 { "Ui Encrypt Req","cdma2k.Ui_Encrypt_Req", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5398 { &hf_cdma2k_Prev_Sid_Incl
,
5399 { "Prev Sid Incl","cdma2k.Prev_Sid_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5400 { &hf_cdma2k_Prev_Sid
,
5401 { "Prev Sid", "cdma2k.Prev_Sid", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5402 { &hf_cdma2k_Prev_Nid_Incl
,
5403 { "Prev Nid_Incl","cdma2k.Prev_Nid_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5404 { &hf_cdma2k_Prev_Nid
,
5405 { "Prev Nid", "cdma2k.Prev_Nid", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5406 { &hf_cdma2k_Prev_Pzid_Incl
,
5407 { "Prev Pzid Incl","cdma2k.Prev_Pzid_Incl", FT_BOOLEAN
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5408 { &hf_cdma2k_Prev_Pzid
,
5409 { "Prev Pzid", "cdma2k.Prev_Pzid", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5410 { &hf_cdma2k_So_Bitmap_Ind
,
5411 { "So Bitmap Ind", "cdma2k.So_Bitmap_Ind", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5412 { &hf_cdma2k_So_Group_Num
,
5413 { "So Group Num", "cdma2k.So_Group_Num", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5414 { &hf_cdma2k_So_Bitmap
,
5415 { "So Bitmap", "cdma2k.So_Bitmap", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5417 { "Cell Msg Encry Alg", "cdma2k.Cmea", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5419 { "Enhanced Cell Msg Encry Alg", "cdma2k.Ecmea", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5421 { "Rijndael Encry Alg", "cdma2k.Rea", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5423 { &hf_cdma2k_Reserved
,
5424 { "Reserved", "cdma2k.Reserved", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5426 { &hf_cdma2k_AlertWithInfoMsg
,
5427 { "Alert With Info Msg", "cdma2k.AlertWithInfoMsg", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5428 { &hf_cdma2k_Hook_Status
,
5429 { "Hook_Status", "cdma2k.Hook_Status", FT_UINT16
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5430 { &hf_cdma2k_MeIdUhdmMsg
,
5431 { "MeIdUhdmMsg", "cdma2k.MeIdUhdmMsg", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5432 { &hf_cdma2k_UhdmMsg
,
5433 { "UhdmMsg", "cdma2k.UhdmMsg", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
5434 { &hf_cdma2k_ext_scm_ind
,
5435 { "Extended SCM Indicator", "cdma2k.ext_scm_ind", FT_UINT8
, BASE_DEC
, VALS(l3dpu_SCM_field_values7
), 0x0, NULL
, HFILL
} },
5436 { &hf_cdma2k_scm_dual_mode
,
5437 { "Dual Mode", "cdma2k.scm.dual_mode", FT_UINT8
, BASE_DEC
, VALS(l3dpu_SCM_field_values6
), 0x0, NULL
, HFILL
} },
5438 { &hf_cdma2k_scm_slotted_class
,
5439 { "Slotted Class", "cdma2k.scm.slotted_class", FT_UINT8
, BASE_DEC
, VALS(l3dpu_SCM_field_values5
), 0x0, NULL
, HFILL
} },
5440 { &hf_cdma2k_scm_meid_sup
,
5441 { "MEID support indicator", "cdma2k.scm.meid_sup", FT_UINT8
, BASE_DEC
, VALS(l3dpu_SCM_field_values4
), 0x0, NULL
, HFILL
} },
5442 { &hf_cdma2k_scm_25mhz_bw
,
5443 { "25 MHz Bandwidth", "cdma2k.scm.25mhz_bw", FT_UINT8
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5444 { &hf_cdma2k_scm_trans
,
5445 { "Transmission", "cdma2k.scm.trans", FT_UINT8
, BASE_DEC
, VALS(l3dpu_SCM_field_values2
), 0x0, NULL
, HFILL
} },
5446 { &hf_cdma2k_scm_pow_class
,
5447 { "Power Class for Band Class 0 Analog Operation", "cdma2k.scm.pow_class", FT_UINT8
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
5450 static int *ett
[] = {
5452 &ett_cdma2k_subtree
,
5453 &ett_cdma2k_subtree1
,
5454 &ett_cdma2k_subtree2
,
5459 static ei_register_info ei
[] = {
5460 { &ei_cdma2k_error
, { "cdma2k.error", PI_PROTOCOL
, PI_ERROR
, "Violation of protocol specs (e.g. invalid information element)", EXPFILL
}},
5463 expert_module_t
* expert_cdma2k
;
5465 proto_cdma2k
= proto_register_protocol (
5466 "CDMA2K", /* name */
5467 "CDMA2K", /* short name */
5468 "cdma2k" /* abbrev */
5471 cdma2k_handle
= register_dissector("cdma2k", dissect_cdma2k
, proto_cdma2k
);
5473 proto_register_field_array(proto_cdma2k
, hf
, array_length(hf
));
5474 proto_register_subtree_array(ett
, array_length(ett
));
5476 expert_cdma2k
= expert_register_protocol(proto_cdma2k
);
5477 expert_register_field_array(expert_cdma2k
, ei
, array_length(ei
));
5481 void proto_reg_handoff_cdma2k(void)
5490 * indent-tabs-mode: nil
5493 * ex: set shiftwidth=4 tabstop=8 expandtab:
5494 * :indentSize=4:tabSize=8:noTabs=true: