1 /* Do not modify this file. */
2 /* It is created automatically by the ASN.1 to Wireshark dissector compiler */
4 /* ../../tools/asn2wrs.py -p t124 -c ./t124.cnf -s ./packet-t124-template -D . -O ../../epan/dissectors GCC-PROTOCOL.asn MCS-PROTOCOL.asn */
6 /* Input file: packet-t124-template.c */
8 #line 1 "../../asn1/t124/packet-t124-template.c"
10 * Routines for t124 packet dissection
11 * Copyright 2010, Graeme Lunt
15 * Wireshark - Network traffic analyzer
16 * By Gerald Combs <gerald@wireshark.org>
17 * Copyright 1998 Gerald Combs
19 * This program is free software; you can redistribute it and/or
20 * modify it under the terms of the GNU General Public License
21 * as published by the Free Software Foundation; either version 2
22 * of the License, or (at your option) any later version.
24 * This program is distributed in the hope that it will be useful,
25 * but WITHOUT ANY WARRANTY; without even the implied warranty of
26 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27 * GNU General Public License for more details.
29 * You should have received a copy of the GNU General Public License
30 * along with this program; if not, write to the Free Software
31 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
40 #include <epan/packet.h>
41 #include <epan/conversation.h>
43 #include <epan/asn1.h>
44 #include "packet-per.h"
45 #include "packet-ber.h"
46 #include "packet-t124.h"
49 /* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */
50 #pragma warning(disable:4146)
53 #define PNAME "GENERIC-CONFERENCE-CONTROL T.124"
54 #define PSNAME "T.124"
57 /* Initialize the protocol and registered fields */
58 static int proto_t124 = -1;
59 static proto_tree *top_tree = NULL;
62 /*--- Included file: packet-t124-hf.c ---*/
63 #line 1 "../../asn1/t124/packet-t124-hf.c"
64 static int hf_t124_object = -1; /* T_object */
65 static int hf_t124_h221NonStandard = -1; /* H221NonStandardIdentifier */
66 static int hf_t124_key = -1; /* Key */
67 static int hf_t124_data = -1; /* OCTET_STRING */
68 static int hf_t124_UserData_item = -1; /* UserData_item */
69 static int hf_t124_value = -1; /* T_value */
70 static int hf_t124_numeric = -1; /* SimpleNumericString */
71 static int hf_t124_text = -1; /* SimpleTextString */
72 static int hf_t124_unicodeText = -1; /* TextString */
73 static int hf_t124_passwordString = -1; /* PasswordSelector */
74 static int hf_t124_responseData = -1; /* UserData */
75 static int hf_t124_passwordInTheClear = -1; /* NULL */
76 static int hf_t124_nonStandardAlgorithm = -1; /* NonStandardParameter */
77 static int hf_t124_responseAlgorithm = -1; /* ChallengeResponseAlgorithm */
78 static int hf_t124_challengeData = -1; /* UserData */
79 static int hf_t124_challengeTag = -1; /* INTEGER */
80 static int hf_t124_challengeSet = -1; /* SET_OF_ChallengeItem */
81 static int hf_t124_challengeSet_item = -1; /* ChallengeItem */
82 static int hf_t124_responseItem = -1; /* ChallengeResponseItem */
83 static int hf_t124_passwordInTheClear_01 = -1; /* PasswordSelector */
84 static int hf_t124_challengeRequestResponse = -1; /* T_challengeRequestResponse */
85 static int hf_t124_challengeRequest = -1; /* ChallengeRequest */
86 static int hf_t124_challengeResponse = -1; /* ChallengeResponse */
87 static int hf_t124_nonStandardScheme = -1; /* NonStandardParameter */
88 static int hf_t124_priority = -1; /* INTEGER_0_65535 */
89 static int hf_t124_scheme = -1; /* ConferencePriorityScheme */
90 static int hf_t124_conventional = -1; /* NULL */
91 static int hf_t124_counted = -1; /* NULL */
92 static int hf_t124_anonymous = -1; /* NULL */
93 static int hf_t124_nonStandardCategory = -1; /* NonStandardParameter */
94 static int hf_t124_conventional_only = -1; /* NULL */
95 static int hf_t124_counted_only = -1; /* NULL */
96 static int hf_t124_anonymous_only = -1; /* NULL */
97 static int hf_t124_conventional_control = -1; /* NULL */
98 static int hf_t124_unrestricted_mode = -1; /* NULL */
99 static int hf_t124_non_standard_mode = -1; /* NonStandardParameter */
100 static int hf_t124_NetworkAddress_item = -1; /* NetworkAddress_item */
101 static int hf_t124_aggregatedChannel = -1; /* T_aggregatedChannel */
102 static int hf_t124_transferModes = -1; /* T_transferModes */
103 static int hf_t124_speech = -1; /* BOOLEAN */
104 static int hf_t124_voice_band = -1; /* BOOLEAN */
105 static int hf_t124_digital_56k = -1; /* BOOLEAN */
106 static int hf_t124_digital_64k = -1; /* BOOLEAN */
107 static int hf_t124_digital_128k = -1; /* BOOLEAN */
108 static int hf_t124_digital_192k = -1; /* BOOLEAN */
109 static int hf_t124_digital_256k = -1; /* BOOLEAN */
110 static int hf_t124_digital_320k = -1; /* BOOLEAN */
111 static int hf_t124_digital_384k = -1; /* BOOLEAN */
112 static int hf_t124_digital_512k = -1; /* BOOLEAN */
113 static int hf_t124_digital_768k = -1; /* BOOLEAN */
114 static int hf_t124_digital_1152k = -1; /* BOOLEAN */
115 static int hf_t124_digital_1472k = -1; /* BOOLEAN */
116 static int hf_t124_digital_1536k = -1; /* BOOLEAN */
117 static int hf_t124_digital_1920k = -1; /* BOOLEAN */
118 static int hf_t124_packet_mode = -1; /* BOOLEAN */
119 static int hf_t124_frame_mode = -1; /* BOOLEAN */
120 static int hf_t124_atm = -1; /* BOOLEAN */
121 static int hf_t124_internationalNumber = -1; /* DiallingString */
122 static int hf_t124_subAddress = -1; /* SubAddressString */
123 static int hf_t124_extraDialling = -1; /* ExtraDiallingString */
124 static int hf_t124_highLayerCompatibility = -1; /* T_highLayerCompatibility */
125 static int hf_t124_telephony3kHz = -1; /* BOOLEAN */
126 static int hf_t124_telephony7kHz = -1; /* BOOLEAN */
127 static int hf_t124_videotelephony = -1; /* BOOLEAN */
128 static int hf_t124_videoconference = -1; /* BOOLEAN */
129 static int hf_t124_audiographic = -1; /* BOOLEAN */
130 static int hf_t124_audiovisual = -1; /* BOOLEAN */
131 static int hf_t124_multimedia = -1; /* BOOLEAN */
132 static int hf_t124_transportConnection = -1; /* T_transportConnection */
133 static int hf_t124_nsapAddress = -1; /* OCTET_STRING_SIZE_1_20 */
134 static int hf_t124_transportSelector = -1; /* OCTET_STRING */
135 static int hf_t124_nonStandard = -1; /* NonStandardParameter */
136 static int hf_t124_callingNode = -1; /* NULL */
137 static int hf_t124_calledNode = -1; /* NULL */
138 static int hf_t124_unknown = -1; /* INTEGER_0_4294967295 */
139 static int hf_t124_conferenceName = -1; /* ConferenceName */
140 static int hf_t124_conferenceNameModifier = -1; /* ConferenceNameModifier */
141 static int hf_t124_conferenceDescription = -1; /* TextString */
142 static int hf_t124_lockedConference = -1; /* BOOLEAN */
143 static int hf_t124_passwordInTheClearRequired = -1; /* BOOLEAN */
144 static int hf_t124_networkAddress = -1; /* NetworkAddress */
145 static int hf_t124_defaultConferenceFlag = -1; /* BOOLEAN */
146 static int hf_t124_conferenceMode = -1; /* ConferenceMode */
147 static int hf_t124_convenerPassword = -1; /* Password */
148 static int hf_t124_password = -1; /* Password */
149 static int hf_t124_listedConference = -1; /* BOOLEAN */
150 static int hf_t124_conductibleConference = -1; /* BOOLEAN */
151 static int hf_t124_terminationMethod = -1; /* TerminationMethod */
152 static int hf_t124_conductorPrivileges = -1; /* SET_OF_Privilege */
153 static int hf_t124_conductorPrivileges_item = -1; /* Privilege */
154 static int hf_t124_conductedPrivileges = -1; /* SET_OF_Privilege */
155 static int hf_t124_conductedPrivileges_item = -1; /* Privilege */
156 static int hf_t124_nonConductedPrivileges = -1; /* SET_OF_Privilege */
157 static int hf_t124_nonConductedPrivileges_item = -1; /* Privilege */
158 static int hf_t124_callerIdentifier = -1; /* TextString */
159 static int hf_t124_userData = -1; /* UserData */
160 static int hf_t124_conferencePriority = -1; /* ConferencePriority */
161 static int hf_t124_nodeID = -1; /* UserID */
162 static int hf_t124_tag = -1; /* INTEGER */
163 static int hf_t124_result = -1; /* T_result */
164 static int hf_t124_nodeType = -1; /* NodeType */
165 static int hf_t124_asymmetryIndicator = -1; /* AsymmetryIndicator */
166 static int hf_t124_conferenceList = -1; /* SET_OF_ConferenceDescriptor */
167 static int hf_t124_conferenceList_item = -1; /* ConferenceDescriptor */
168 static int hf_t124_queryResponseResult = -1; /* QueryResponseResult */
169 static int hf_t124_waitForInvitationFlag = -1; /* BOOLEAN */
170 static int hf_t124_noUnlistedConferenceFlag = -1; /* BOOLEAN */
171 static int hf_t124_conferenceName_01 = -1; /* ConferenceNameSelector */
172 static int hf_t124_password_01 = -1; /* PasswordChallengeRequestResponse */
173 static int hf_t124_convenerPassword_01 = -1; /* PasswordSelector */
174 static int hf_t124_nodeCategory = -1; /* NodeCategory */
175 static int hf_t124_topNodeID = -1; /* UserID */
176 static int hf_t124_conferenceNameAlias = -1; /* ConferenceNameSelector */
177 static int hf_t124_joinResponseResult = -1; /* JoinResponseResult */
178 static int hf_t124_inviteResponseResult = -1; /* InviteResponseResult */
179 static int hf_t124_t124Identifier = -1; /* Key */
180 static int hf_t124_connectPDU = -1; /* T_connectPDU */
181 static int hf_t124_conferenceCreateRequest = -1; /* ConferenceCreateRequest */
182 static int hf_t124_conferenceCreateResponse = -1; /* ConferenceCreateResponse */
183 static int hf_t124_conferenceQueryRequest = -1; /* ConferenceQueryRequest */
184 static int hf_t124_conferenceQueryResponse = -1; /* ConferenceQueryResponse */
185 static int hf_t124_conferenceJoinRequest = -1; /* ConferenceJoinRequest */
186 static int hf_t124_conferenceJoinResponse = -1; /* ConferenceJoinResponse */
187 static int hf_t124_conferenceInviteRequest = -1; /* ConferenceInviteRequest */
188 static int hf_t124_conferenceInviteResponse = -1; /* ConferenceInviteResponse */
189 static int hf_t124_heightLimit = -1; /* INTEGER_0_MAX */
190 static int hf_t124_subHeight = -1; /* INTEGER_0_MAX */
191 static int hf_t124_subInterval = -1; /* INTEGER_0_MAX */
192 static int hf_t124_static = -1; /* T_static */
193 static int hf_t124_channelId = -1; /* StaticChannelId */
194 static int hf_t124_userId = -1; /* T_userId */
195 static int hf_t124_joined = -1; /* BOOLEAN */
196 static int hf_t124_userId_01 = -1; /* UserId */
197 static int hf_t124_private = -1; /* T_private */
198 static int hf_t124_channelId_01 = -1; /* PrivateChannelId */
199 static int hf_t124_manager = -1; /* UserId */
200 static int hf_t124_admitted = -1; /* SET_OF_UserId */
201 static int hf_t124_admitted_item = -1; /* UserId */
202 static int hf_t124_assigned = -1; /* T_assigned */
203 static int hf_t124_channelId_02 = -1; /* AssignedChannelId */
204 static int hf_t124_mergeChannels = -1; /* SET_OF_ChannelAttributes */
205 static int hf_t124_mergeChannels_item = -1; /* ChannelAttributes */
206 static int hf_t124_purgeChannelIds = -1; /* SET_OF_ChannelId */
207 static int hf_t124_purgeChannelIds_item = -1; /* ChannelId */
208 static int hf_t124_detachUserIds = -1; /* SET_OF_UserId */
209 static int hf_t124_detachUserIds_item = -1; /* UserId */
210 static int hf_t124_grabbed = -1; /* T_grabbed */
211 static int hf_t124_tokenId = -1; /* TokenId */
212 static int hf_t124_grabber = -1; /* UserId */
213 static int hf_t124_inhibited = -1; /* T_inhibited */
214 static int hf_t124_inhibitors = -1; /* SET_OF_UserId */
215 static int hf_t124_inhibitors_item = -1; /* UserId */
216 static int hf_t124_giving = -1; /* T_giving */
217 static int hf_t124_recipient = -1; /* UserId */
218 static int hf_t124_ungivable = -1; /* T_ungivable */
219 static int hf_t124_given = -1; /* T_given */
220 static int hf_t124_mergeTokens = -1; /* SET_OF_TokenAttributes */
221 static int hf_t124_mergeTokens_item = -1; /* TokenAttributes */
222 static int hf_t124_purgeTokenIds = -1; /* SET_OF_TokenId */
223 static int hf_t124_purgeTokenIds_item = -1; /* TokenId */
224 static int hf_t124_reason = -1; /* Reason */
225 static int hf_t124_diagnostic = -1; /* Diagnostic */
226 static int hf_t124_initialOctets = -1; /* OCTET_STRING */
227 static int hf_t124_result_01 = -1; /* Result */
228 static int hf_t124_initiator = -1; /* UserId */
229 static int hf_t124_userIds = -1; /* SET_OF_UserId */
230 static int hf_t124_userIds_item = -1; /* UserId */
231 static int hf_t124_channelId_03 = -1; /* ChannelId */
232 static int hf_t124_requested = -1; /* ChannelId */
233 static int hf_t124_channelIds = -1; /* SET_OF_ChannelId */
234 static int hf_t124_channelIds_item = -1; /* ChannelId */
235 static int hf_t124_dataPriority = -1; /* DataPriority */
236 static int hf_t124_segmentation = -1; /* Segmentation */
237 static int hf_t124_userData_01 = -1; /* T_userData */
238 static int hf_t124_userData_02 = -1; /* T_userData_01 */
239 static int hf_t124_userData_03 = -1; /* OCTET_STRING */
240 static int hf_t124_tokenStatus = -1; /* TokenStatus */
241 static int hf_t124_plumbDomainIndication = -1; /* PlumbDomainIndication */
242 static int hf_t124_erectDomainRequest = -1; /* ErectDomainRequest */
243 static int hf_t124_mergeChannelsRequest = -1; /* MergeChannelsRequest */
244 static int hf_t124_mergeChannelsConfirm = -1; /* MergeChannelsConfirm */
245 static int hf_t124_purgeChannelsIndication = -1; /* PurgeChannelsIndication */
246 static int hf_t124_mergeTokensRequest = -1; /* MergeTokensRequest */
247 static int hf_t124_mergeTokensConfirm = -1; /* MergeTokensConfirm */
248 static int hf_t124_purgeTokensIndication = -1; /* PurgeTokensIndication */
249 static int hf_t124_disconnectProviderUltimatum = -1; /* DisconnectProviderUltimatum */
250 static int hf_t124_rejectMCSPDUUltimatum = -1; /* RejectMCSPDUUltimatum */
251 static int hf_t124_attachUserRequest = -1; /* AttachUserRequest */
252 static int hf_t124_attachUserConfirm = -1; /* AttachUserConfirm */
253 static int hf_t124_detachUserRequest = -1; /* DetachUserRequest */
254 static int hf_t124_detachUserIndication = -1; /* DetachUserIndication */
255 static int hf_t124_channelJoinRequest = -1; /* ChannelJoinRequest */
256 static int hf_t124_channelJoinConfirm = -1; /* ChannelJoinConfirm */
257 static int hf_t124_channelLeaveRequest = -1; /* ChannelLeaveRequest */
258 static int hf_t124_channelConveneRequest = -1; /* ChannelConveneRequest */
259 static int hf_t124_channelConveneConfirm = -1; /* ChannelConveneConfirm */
260 static int hf_t124_channelDisbandRequest = -1; /* ChannelDisbandRequest */
261 static int hf_t124_channelDisbandIndication = -1; /* ChannelDisbandIndication */
262 static int hf_t124_channelAdmitRequest = -1; /* ChannelAdmitRequest */
263 static int hf_t124_channelAdmitIndication = -1; /* ChannelAdmitIndication */
264 static int hf_t124_channelExpelRequest = -1; /* ChannelExpelRequest */
265 static int hf_t124_channelExpelIndication = -1; /* ChannelExpelIndication */
266 static int hf_t124_sendDataRequest = -1; /* SendDataRequest */
267 static int hf_t124_sendDataIndication = -1; /* SendDataIndication */
268 static int hf_t124_uniformSendDataRequest = -1; /* UniformSendDataRequest */
269 static int hf_t124_uniformSendDataIndication = -1; /* UniformSendDataIndication */
270 static int hf_t124_tokenGrabRequest = -1; /* TokenGrabRequest */
271 static int hf_t124_tokenGrabConfirm = -1; /* TokenGrabConfirm */
272 static int hf_t124_tokenInhibitRequest = -1; /* TokenInhibitRequest */
273 static int hf_t124_tokenInhibitConfirm = -1; /* TokenInhibitConfirm */
274 static int hf_t124_tokenGiveRequest = -1; /* TokenGiveRequest */
275 static int hf_t124_tokenGiveIndication = -1; /* TokenGiveIndication */
276 static int hf_t124_tokenGiveResponse = -1; /* TokenGiveResponse */
277 static int hf_t124_tokenGiveConfirm = -1; /* TokenGiveConfirm */
278 static int hf_t124_tokenPleaseRequest = -1; /* TokenPleaseRequest */
279 static int hf_t124_tokenPleaseIndication = -1; /* TokenPleaseIndication */
280 static int hf_t124_tokenReleaseRequest = -1; /* TokenReleaseRequest */
281 static int hf_t124_tokenReleaseConfirm = -1; /* TokenReleaseConfirm */
282 static int hf_t124_tokenTestRequest = -1; /* TokenTestRequest */
283 static int hf_t124_tokenTestConfirm = -1; /* TokenTestConfirm */
285 static int hf_t124_Segmentation_begin = -1;
286 static int hf_t124_Segmentation_end = -1;
288 /*--- End of included file: packet-t124-hf.c ---*/
289 #line 54 "../../asn1/t124/packet-t124-template.c"
291 /* Initialize the subtree pointers */
292 static int ett_t124 = -1;
293 static int ett_t124_connectGCCPDU = -1;
295 static int hf_t124_ConnectData = -1;
296 static int hf_t124_connectGCCPDU = -1;
297 static int hf_t124_DomainMCSPDU_PDU = -1;
299 static guint32 channelId = -1;
301 static const char *t124Identifier = NULL; /* extensions identifier */
302 static tvbuff_t *t124NSIdentifier = NULL; /* extensions non-standard identifier */
303 static dissector_table_t t124_ns_dissector_table=NULL;
304 static dissector_table_t t124_sd_dissector_table=NULL;
307 /*--- Included file: packet-t124-ett.c ---*/
308 #line 1 "../../asn1/t124/packet-t124-ett.c"
309 static gint ett_t124_Key = -1;
310 static gint ett_t124_NonStandardParameter = -1;
311 static gint ett_t124_UserData = -1;
312 static gint ett_t124_UserData_item = -1;
313 static gint ett_t124_Password = -1;
314 static gint ett_t124_PasswordSelector = -1;
315 static gint ett_t124_ChallengeResponseItem = -1;
316 static gint ett_t124_ChallengeResponseAlgorithm = -1;
317 static gint ett_t124_ChallengeItem = -1;
318 static gint ett_t124_ChallengeRequest = -1;
319 static gint ett_t124_SET_OF_ChallengeItem = -1;
320 static gint ett_t124_ChallengeResponse = -1;
321 static gint ett_t124_PasswordChallengeRequestResponse = -1;
322 static gint ett_t124_T_challengeRequestResponse = -1;
323 static gint ett_t124_ConferenceName = -1;
324 static gint ett_t124_ConferenceNameSelector = -1;
325 static gint ett_t124_ConferencePriorityScheme = -1;
326 static gint ett_t124_ConferencePriority = -1;
327 static gint ett_t124_NodeCategory = -1;
328 static gint ett_t124_ConferenceMode = -1;
329 static gint ett_t124_NetworkAddress = -1;
330 static gint ett_t124_NetworkAddress_item = -1;
331 static gint ett_t124_T_aggregatedChannel = -1;
332 static gint ett_t124_T_transferModes = -1;
333 static gint ett_t124_T_highLayerCompatibility = -1;
334 static gint ett_t124_T_transportConnection = -1;
335 static gint ett_t124_AsymmetryIndicator = -1;
336 static gint ett_t124_ConferenceDescriptor = -1;
337 static gint ett_t124_ConferenceCreateRequest = -1;
338 static gint ett_t124_SET_OF_Privilege = -1;
339 static gint ett_t124_ConferenceCreateResponse = -1;
340 static gint ett_t124_ConferenceQueryRequest = -1;
341 static gint ett_t124_ConferenceQueryResponse = -1;
342 static gint ett_t124_SET_OF_ConferenceDescriptor = -1;
343 static gint ett_t124_ConferenceJoinRequest = -1;
344 static gint ett_t124_ConferenceJoinResponse = -1;
345 static gint ett_t124_ConferenceInviteRequest = -1;
346 static gint ett_t124_ConferenceInviteResponse = -1;
347 static gint ett_t124_ConnectData = -1;
348 static gint ett_t124_ConnectGCCPDU = -1;
349 static gint ett_t124_Segmentation = -1;
350 static gint ett_t124_PlumbDomainIndication = -1;
351 static gint ett_t124_ErectDomainRequest = -1;
352 static gint ett_t124_ChannelAttributes = -1;
353 static gint ett_t124_T_static = -1;
354 static gint ett_t124_T_userId = -1;
355 static gint ett_t124_T_private = -1;
356 static gint ett_t124_SET_OF_UserId = -1;
357 static gint ett_t124_T_assigned = -1;
358 static gint ett_t124_MergeChannelsRequest = -1;
359 static gint ett_t124_SET_OF_ChannelAttributes = -1;
360 static gint ett_t124_SET_OF_ChannelId = -1;
361 static gint ett_t124_MergeChannelsConfirm = -1;
362 static gint ett_t124_PurgeChannelsIndication = -1;
363 static gint ett_t124_TokenAttributes = -1;
364 static gint ett_t124_T_grabbed = -1;
365 static gint ett_t124_T_inhibited = -1;
366 static gint ett_t124_T_giving = -1;
367 static gint ett_t124_T_ungivable = -1;
368 static gint ett_t124_T_given = -1;
369 static gint ett_t124_MergeTokensRequest = -1;
370 static gint ett_t124_SET_OF_TokenAttributes = -1;
371 static gint ett_t124_SET_OF_TokenId = -1;
372 static gint ett_t124_MergeTokensConfirm = -1;
373 static gint ett_t124_PurgeTokensIndication = -1;
374 static gint ett_t124_DisconnectProviderUltimatum = -1;
375 static gint ett_t124_RejectMCSPDUUltimatum = -1;
376 static gint ett_t124_AttachUserRequest = -1;
377 static gint ett_t124_AttachUserConfirm = -1;
378 static gint ett_t124_DetachUserRequest = -1;
379 static gint ett_t124_DetachUserIndication = -1;
380 static gint ett_t124_ChannelJoinRequest = -1;
381 static gint ett_t124_ChannelJoinConfirm = -1;
382 static gint ett_t124_ChannelLeaveRequest = -1;
383 static gint ett_t124_ChannelConveneRequest = -1;
384 static gint ett_t124_ChannelConveneConfirm = -1;
385 static gint ett_t124_ChannelDisbandRequest = -1;
386 static gint ett_t124_ChannelDisbandIndication = -1;
387 static gint ett_t124_ChannelAdmitRequest = -1;
388 static gint ett_t124_ChannelAdmitIndication = -1;
389 static gint ett_t124_ChannelExpelRequest = -1;
390 static gint ett_t124_ChannelExpelIndication = -1;
391 static gint ett_t124_SendDataRequest = -1;
392 static gint ett_t124_SendDataIndication = -1;
393 static gint ett_t124_UniformSendDataRequest = -1;
394 static gint ett_t124_UniformSendDataIndication = -1;
395 static gint ett_t124_TokenGrabRequest = -1;
396 static gint ett_t124_TokenGrabConfirm = -1;
397 static gint ett_t124_TokenInhibitRequest = -1;
398 static gint ett_t124_TokenInhibitConfirm = -1;
399 static gint ett_t124_TokenGiveRequest = -1;
400 static gint ett_t124_TokenGiveIndication = -1;
401 static gint ett_t124_TokenGiveResponse = -1;
402 static gint ett_t124_TokenGiveConfirm = -1;
403 static gint ett_t124_TokenPleaseRequest = -1;
404 static gint ett_t124_TokenPleaseIndication = -1;
405 static gint ett_t124_TokenReleaseRequest = -1;
406 static gint ett_t124_TokenReleaseConfirm = -1;
407 static gint ett_t124_TokenTestRequest = -1;
408 static gint ett_t124_TokenTestConfirm = -1;
409 static gint ett_t124_DomainMCSPDU = -1;
411 /*--- End of included file: packet-t124-ett.c ---*/
412 #line 71 "../../asn1/t124/packet-t124-template.c"
415 /*--- Included file: packet-t124-fn.c ---*/
416 #line 1 "../../asn1/t124/packet-t124-fn.c"
420 dissect_t124_DynamicChannelID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
421 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
422 1001U, 65535U, NULL, FALSE);
430 dissect_t124_UserID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
431 offset = dissect_t124_DynamicChannelID(tvb, offset, actx, tree, hf_index);
439 dissect_t124_H221NonStandardIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
440 #line 218 "../../asn1/t124/t124.cnf"
442 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
443 4, 255, FALSE, &t124NSIdentifier);
455 dissect_t124_T_object(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
456 offset = dissect_per_object_identifier_str(tvb, offset, actx, tree, hf_index, &t124Identifier);
462 static const value_string t124_Key_vals[] = {
464 { 1, "h221NonStandard" },
468 static const per_choice_t Key_choice[] = {
469 { 0, &hf_t124_object , ASN1_NO_EXTENSIONS , dissect_t124_T_object },
470 { 1, &hf_t124_h221NonStandard, ASN1_NO_EXTENSIONS , dissect_t124_H221NonStandardIdentifier },
475 dissect_t124_Key(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
476 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
477 ett_t124_Key, Key_choice,
486 dissect_t124_OCTET_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
487 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
488 NO_BOUND, NO_BOUND, FALSE, NULL);
494 static const per_sequence_t NonStandardParameter_sequence[] = {
495 { &hf_t124_key , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Key },
496 { &hf_t124_data , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_OCTET_STRING },
501 dissect_t124_NonStandardParameter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
502 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
503 ett_t124_NonStandardParameter, NonStandardParameter_sequence);
511 dissect_t124_TextString(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
512 offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
521 dissect_t124_SimpleTextString(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
522 offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
531 dissect_t124_SimpleNumericString(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
532 offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
533 1, 255, FALSE, "0123456789", 10,
542 dissect_t124_DiallingString(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
543 offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
544 1, 16, FALSE, "0123456789", 10,
553 dissect_t124_SubAddressString(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
554 offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
555 1, 40, FALSE, "0123456789", 10,
564 dissect_t124_ExtraDiallingString(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
565 offset = dissect_per_size_constrained_type(tvb, offset, actx, tree, hf_index, dissect_t124_TextString,
566 "TextString", 1, 255, FALSE);
574 dissect_t124_T_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
575 #line 150 "../../asn1/t124/t124.cnf"
576 tvbuff_t *next_tvb = NULL;
579 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
580 NO_BOUND, NO_BOUND, FALSE, &next_tvb);
585 ns = tvb_get_string(t124NSIdentifier, 0, tvb_length(t124NSIdentifier));
587 dissector_try_string(t124_ns_dissector_table, ns, next_tvb, actx->pinfo, top_tree);
598 static const per_sequence_t UserData_item_sequence[] = {
599 { &hf_t124_key , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Key },
600 { &hf_t124_value , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_t124_T_value },
605 dissect_t124_UserData_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
606 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
607 ett_t124_UserData_item, UserData_item_sequence);
613 static const per_sequence_t UserData_set_of[1] = {
614 { &hf_t124_UserData_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserData_item },
618 dissect_t124_UserData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
619 offset = dissect_per_set_of(tvb, offset, actx, tree, hf_index,
620 ett_t124_UserData, UserData_set_of);
626 static const per_sequence_t Password_sequence[] = {
627 { &hf_t124_numeric , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_SimpleNumericString },
628 { &hf_t124_text , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_SimpleTextString },
629 { &hf_t124_unicodeText , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_t124_TextString },
634 dissect_t124_Password(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
635 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
636 ett_t124_Password, Password_sequence);
642 static const value_string t124_PasswordSelector_vals[] = {
645 { 2, "unicodeText" },
649 static const per_choice_t PasswordSelector_choice[] = {
650 { 0, &hf_t124_numeric , ASN1_EXTENSION_ROOT , dissect_t124_SimpleNumericString },
651 { 1, &hf_t124_text , ASN1_EXTENSION_ROOT , dissect_t124_SimpleTextString },
652 { 2, &hf_t124_unicodeText , ASN1_NOT_EXTENSION_ROOT, dissect_t124_TextString },
657 dissect_t124_PasswordSelector(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
658 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
659 ett_t124_PasswordSelector, PasswordSelector_choice,
666 static const value_string t124_ChallengeResponseItem_vals[] = {
667 { 0, "passwordString" },
668 { 1, "responseData" },
672 static const per_choice_t ChallengeResponseItem_choice[] = {
673 { 0, &hf_t124_passwordString , ASN1_EXTENSION_ROOT , dissect_t124_PasswordSelector },
674 { 1, &hf_t124_responseData , ASN1_EXTENSION_ROOT , dissect_t124_UserData },
679 dissect_t124_ChallengeResponseItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
680 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
681 ett_t124_ChallengeResponseItem, ChallengeResponseItem_choice,
690 dissect_t124_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
691 offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
697 static const value_string t124_ChallengeResponseAlgorithm_vals[] = {
698 { 0, "passwordInTheClear" },
699 { 1, "nonStandardAlgorithm" },
703 static const per_choice_t ChallengeResponseAlgorithm_choice[] = {
704 { 0, &hf_t124_passwordInTheClear, ASN1_EXTENSION_ROOT , dissect_t124_NULL },
705 { 1, &hf_t124_nonStandardAlgorithm, ASN1_EXTENSION_ROOT , dissect_t124_NonStandardParameter },
710 dissect_t124_ChallengeResponseAlgorithm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
711 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
712 ett_t124_ChallengeResponseAlgorithm, ChallengeResponseAlgorithm_choice,
719 static const per_sequence_t ChallengeItem_sequence[] = {
720 { &hf_t124_responseAlgorithm, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_ChallengeResponseAlgorithm },
721 { &hf_t124_challengeData , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_UserData },
726 dissect_t124_ChallengeItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
727 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
728 ett_t124_ChallengeItem, ChallengeItem_sequence);
736 dissect_t124_INTEGER(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
737 offset = dissect_per_integer(tvb, offset, actx, tree, hf_index, NULL);
743 static const per_sequence_t SET_OF_ChallengeItem_set_of[1] = {
744 { &hf_t124_challengeSet_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_ChallengeItem },
748 dissect_t124_SET_OF_ChallengeItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
749 offset = dissect_per_set_of(tvb, offset, actx, tree, hf_index,
750 ett_t124_SET_OF_ChallengeItem, SET_OF_ChallengeItem_set_of);
756 static const per_sequence_t ChallengeRequest_sequence[] = {
757 { &hf_t124_challengeTag , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_INTEGER },
758 { &hf_t124_challengeSet , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_ChallengeItem },
763 dissect_t124_ChallengeRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
764 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
765 ett_t124_ChallengeRequest, ChallengeRequest_sequence);
771 static const per_sequence_t ChallengeResponse_sequence[] = {
772 { &hf_t124_challengeTag , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_INTEGER },
773 { &hf_t124_responseAlgorithm, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_ChallengeResponseAlgorithm },
774 { &hf_t124_responseItem , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_ChallengeResponseItem },
779 dissect_t124_ChallengeResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
780 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
781 ett_t124_ChallengeResponse, ChallengeResponse_sequence);
787 static const per_sequence_t T_challengeRequestResponse_sequence[] = {
788 { &hf_t124_challengeRequest, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_ChallengeRequest },
789 { &hf_t124_challengeResponse, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_ChallengeResponse },
794 dissect_t124_T_challengeRequestResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
795 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
796 ett_t124_T_challengeRequestResponse, T_challengeRequestResponse_sequence);
802 static const value_string t124_PasswordChallengeRequestResponse_vals[] = {
803 { 0, "passwordInTheClear" },
804 { 1, "challengeRequestResponse" },
808 static const per_choice_t PasswordChallengeRequestResponse_choice[] = {
809 { 0, &hf_t124_passwordInTheClear_01, ASN1_EXTENSION_ROOT , dissect_t124_PasswordSelector },
810 { 1, &hf_t124_challengeRequestResponse, ASN1_EXTENSION_ROOT , dissect_t124_T_challengeRequestResponse },
815 dissect_t124_PasswordChallengeRequestResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
816 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
817 ett_t124_PasswordChallengeRequestResponse, PasswordChallengeRequestResponse_choice,
824 static const per_sequence_t ConferenceName_sequence[] = {
825 { &hf_t124_numeric , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_SimpleNumericString },
826 { &hf_t124_text , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_SimpleTextString },
827 { &hf_t124_unicodeText , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_t124_TextString },
832 dissect_t124_ConferenceName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
833 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
834 ett_t124_ConferenceName, ConferenceName_sequence);
840 static const value_string t124_ConferenceNameSelector_vals[] = {
843 { 2, "unicodeText" },
847 static const per_choice_t ConferenceNameSelector_choice[] = {
848 { 0, &hf_t124_numeric , ASN1_EXTENSION_ROOT , dissect_t124_SimpleNumericString },
849 { 1, &hf_t124_text , ASN1_EXTENSION_ROOT , dissect_t124_SimpleTextString },
850 { 2, &hf_t124_unicodeText , ASN1_NOT_EXTENSION_ROOT, dissect_t124_TextString },
855 dissect_t124_ConferenceNameSelector(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
856 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
857 ett_t124_ConferenceNameSelector, ConferenceNameSelector_choice,
866 dissect_t124_ConferenceNameModifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
867 offset = dissect_t124_SimpleNumericString(tvb, offset, actx, tree, hf_index);
873 static const value_string t124_Privilege_vals[] = {
884 dissect_t124_Privilege(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
885 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
886 5, NULL, TRUE, 0, NULL);
892 static const value_string t124_TerminationMethod_vals[] = {
900 dissect_t124_TerminationMethod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
901 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
902 2, NULL, TRUE, 0, NULL);
908 static const value_string t124_ConferencePriorityScheme_vals[] = {
909 { 0, "nonStandardScheme" },
913 static const per_choice_t ConferencePriorityScheme_choice[] = {
914 { 0, &hf_t124_nonStandardScheme, ASN1_EXTENSION_ROOT , dissect_t124_NonStandardParameter },
919 dissect_t124_ConferencePriorityScheme(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
920 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
921 ett_t124_ConferencePriorityScheme, ConferencePriorityScheme_choice,
930 dissect_t124_INTEGER_0_65535(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
931 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
932 0U, 65535U, NULL, FALSE);
938 static const per_sequence_t ConferencePriority_sequence[] = {
939 { &hf_t124_priority , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_INTEGER_0_65535 },
940 { &hf_t124_scheme , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_ConferencePriorityScheme },
945 dissect_t124_ConferencePriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
946 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
947 ett_t124_ConferencePriority, ConferencePriority_sequence);
953 static const value_string t124_NodeCategory_vals[] = {
954 { 0, "conventional" },
957 { 3, "nonStandardCategory" },
961 static const per_choice_t NodeCategory_choice[] = {
962 { 0, &hf_t124_conventional , ASN1_EXTENSION_ROOT , dissect_t124_NULL },
963 { 1, &hf_t124_counted , ASN1_EXTENSION_ROOT , dissect_t124_NULL },
964 { 2, &hf_t124_anonymous , ASN1_EXTENSION_ROOT , dissect_t124_NULL },
965 { 3, &hf_t124_nonStandardCategory, ASN1_EXTENSION_ROOT , dissect_t124_NonStandardParameter },
970 dissect_t124_NodeCategory(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
971 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
972 ett_t124_NodeCategory, NodeCategory_choice,
979 static const value_string t124_ConferenceMode_vals[] = {
980 { 0, "conventional-only" },
981 { 1, "counted-only" },
982 { 2, "anonymous-only" },
983 { 3, "conventional-control" },
984 { 4, "unrestricted-mode" },
985 { 5, "non-standard-mode" },
989 static const per_choice_t ConferenceMode_choice[] = {
990 { 0, &hf_t124_conventional_only, ASN1_EXTENSION_ROOT , dissect_t124_NULL },
991 { 1, &hf_t124_counted_only , ASN1_EXTENSION_ROOT , dissect_t124_NULL },
992 { 2, &hf_t124_anonymous_only , ASN1_EXTENSION_ROOT , dissect_t124_NULL },
993 { 3, &hf_t124_conventional_control, ASN1_EXTENSION_ROOT , dissect_t124_NULL },
994 { 4, &hf_t124_unrestricted_mode, ASN1_EXTENSION_ROOT , dissect_t124_NULL },
995 { 5, &hf_t124_non_standard_mode, ASN1_EXTENSION_ROOT , dissect_t124_NonStandardParameter },
1000 dissect_t124_ConferenceMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1001 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1002 ett_t124_ConferenceMode, ConferenceMode_choice,
1011 dissect_t124_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1012 offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);
1018 static const per_sequence_t T_transferModes_sequence[] = {
1019 { &hf_t124_speech , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1020 { &hf_t124_voice_band , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1021 { &hf_t124_digital_56k , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1022 { &hf_t124_digital_64k , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1023 { &hf_t124_digital_128k , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1024 { &hf_t124_digital_192k , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1025 { &hf_t124_digital_256k , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1026 { &hf_t124_digital_320k , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1027 { &hf_t124_digital_384k , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1028 { &hf_t124_digital_512k , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1029 { &hf_t124_digital_768k , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1030 { &hf_t124_digital_1152k , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1031 { &hf_t124_digital_1472k , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1032 { &hf_t124_digital_1536k , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1033 { &hf_t124_digital_1920k , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1034 { &hf_t124_packet_mode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1035 { &hf_t124_frame_mode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1036 { &hf_t124_atm , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1037 { NULL, 0, 0, NULL }
1041 dissect_t124_T_transferModes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1042 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1043 ett_t124_T_transferModes, T_transferModes_sequence);
1049 static const per_sequence_t T_highLayerCompatibility_sequence[] = {
1050 { &hf_t124_telephony3kHz , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1051 { &hf_t124_telephony7kHz , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1052 { &hf_t124_videotelephony , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1053 { &hf_t124_videoconference, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1054 { &hf_t124_audiographic , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1055 { &hf_t124_audiovisual , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1056 { &hf_t124_multimedia , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1057 { NULL, 0, 0, NULL }
1061 dissect_t124_T_highLayerCompatibility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1062 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1063 ett_t124_T_highLayerCompatibility, T_highLayerCompatibility_sequence);
1069 static const per_sequence_t T_aggregatedChannel_sequence[] = {
1070 { &hf_t124_transferModes , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_T_transferModes },
1071 { &hf_t124_internationalNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_DiallingString },
1072 { &hf_t124_subAddress , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_SubAddressString },
1073 { &hf_t124_extraDialling , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_ExtraDiallingString },
1074 { &hf_t124_highLayerCompatibility, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_T_highLayerCompatibility },
1075 { NULL, 0, 0, NULL }
1079 dissect_t124_T_aggregatedChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1080 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1081 ett_t124_T_aggregatedChannel, T_aggregatedChannel_sequence);
1089 dissect_t124_OCTET_STRING_SIZE_1_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1090 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1091 1, 20, FALSE, NULL);
1097 static const per_sequence_t T_transportConnection_sequence[] = {
1098 { &hf_t124_nsapAddress , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_OCTET_STRING_SIZE_1_20 },
1099 { &hf_t124_transportSelector, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_t124_OCTET_STRING },
1100 { NULL, 0, 0, NULL }
1104 dissect_t124_T_transportConnection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1105 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1106 ett_t124_T_transportConnection, T_transportConnection_sequence);
1112 static const value_string t124_NetworkAddress_item_vals[] = {
1113 { 0, "aggregatedChannel" },
1114 { 1, "transportConnection" },
1115 { 2, "nonStandard" },
1119 static const per_choice_t NetworkAddress_item_choice[] = {
1120 { 0, &hf_t124_aggregatedChannel, ASN1_EXTENSION_ROOT , dissect_t124_T_aggregatedChannel },
1121 { 1, &hf_t124_transportConnection, ASN1_EXTENSION_ROOT , dissect_t124_T_transportConnection },
1122 { 2, &hf_t124_nonStandard , ASN1_EXTENSION_ROOT , dissect_t124_NonStandardParameter },
1123 { 0, NULL, 0, NULL }
1127 dissect_t124_NetworkAddress_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1128 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1129 ett_t124_NetworkAddress_item, NetworkAddress_item_choice,
1136 static const per_sequence_t NetworkAddress_sequence_of[1] = {
1137 { &hf_t124_NetworkAddress_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_NetworkAddress_item },
1141 dissect_t124_NetworkAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1142 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1143 ett_t124_NetworkAddress, NetworkAddress_sequence_of,
1150 static const value_string t124_NodeType_vals[] = {
1152 { 1, "multiportTerminal" },
1159 dissect_t124_NodeType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1160 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1161 3, NULL, TRUE, 0, NULL);
1169 dissect_t124_INTEGER_0_4294967295(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1170 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1171 0U, 4294967295U, NULL, FALSE);
1177 static const value_string t124_AsymmetryIndicator_vals[] = {
1178 { 0, "callingNode" },
1179 { 1, "calledNode" },
1184 static const per_choice_t AsymmetryIndicator_choice[] = {
1185 { 0, &hf_t124_callingNode , ASN1_NO_EXTENSIONS , dissect_t124_NULL },
1186 { 1, &hf_t124_calledNode , ASN1_NO_EXTENSIONS , dissect_t124_NULL },
1187 { 2, &hf_t124_unknown , ASN1_NO_EXTENSIONS , dissect_t124_INTEGER_0_4294967295 },
1188 { 0, NULL, 0, NULL }
1192 dissect_t124_AsymmetryIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1193 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1194 ett_t124_AsymmetryIndicator, AsymmetryIndicator_choice,
1201 static const per_sequence_t ConferenceDescriptor_sequence[] = {
1202 { &hf_t124_conferenceName , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_ConferenceName },
1203 { &hf_t124_conferenceNameModifier, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_ConferenceNameModifier },
1204 { &hf_t124_conferenceDescription, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_TextString },
1205 { &hf_t124_lockedConference, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1206 { &hf_t124_passwordInTheClearRequired, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1207 { &hf_t124_networkAddress , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_NetworkAddress },
1208 { &hf_t124_defaultConferenceFlag, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1209 { &hf_t124_conferenceMode , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_t124_ConferenceMode },
1210 { NULL, 0, 0, NULL }
1214 dissect_t124_ConferenceDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1215 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1216 ett_t124_ConferenceDescriptor, ConferenceDescriptor_sequence);
1222 static const per_sequence_t SET_OF_Privilege_set_of[1] = {
1223 { &hf_t124_conductorPrivileges_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Privilege },
1227 dissect_t124_SET_OF_Privilege(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1228 offset = dissect_per_set_of(tvb, offset, actx, tree, hf_index,
1229 ett_t124_SET_OF_Privilege, SET_OF_Privilege_set_of);
1235 static const per_sequence_t ConferenceCreateRequest_sequence[] = {
1236 { &hf_t124_conferenceName , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_ConferenceName },
1237 { &hf_t124_convenerPassword, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_Password },
1238 { &hf_t124_password , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_Password },
1239 { &hf_t124_lockedConference, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1240 { &hf_t124_listedConference, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1241 { &hf_t124_conductibleConference, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1242 { &hf_t124_terminationMethod, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_TerminationMethod },
1243 { &hf_t124_conductorPrivileges, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_SET_OF_Privilege },
1244 { &hf_t124_conductedPrivileges, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_SET_OF_Privilege },
1245 { &hf_t124_nonConductedPrivileges, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_SET_OF_Privilege },
1246 { &hf_t124_conferenceDescription, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_TextString },
1247 { &hf_t124_callerIdentifier, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_TextString },
1248 { &hf_t124_userData , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_UserData },
1249 { &hf_t124_conferencePriority, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_t124_ConferencePriority },
1250 { &hf_t124_conferenceMode , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_t124_ConferenceMode },
1251 { NULL, 0, 0, NULL }
1255 dissect_t124_ConferenceCreateRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1256 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1257 ett_t124_ConferenceCreateRequest, ConferenceCreateRequest_sequence);
1263 static const value_string t124_T_result_vals[] = {
1265 { 1, "userRejected" },
1266 { 2, "resourcesNotAvailable" },
1267 { 3, "rejectedForSymmetryBreaking" },
1268 { 4, "lockedConferenceNotSupported" },
1274 dissect_t124_T_result(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1275 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1276 5, NULL, TRUE, 0, NULL);
1282 static const per_sequence_t ConferenceCreateResponse_sequence[] = {
1283 { &hf_t124_nodeID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_UserID },
1284 { &hf_t124_tag , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_INTEGER },
1285 { &hf_t124_result , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_T_result },
1286 { &hf_t124_userData , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_UserData },
1287 { NULL, 0, 0, NULL }
1291 dissect_t124_ConferenceCreateResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1292 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1293 ett_t124_ConferenceCreateResponse, ConferenceCreateResponse_sequence);
1299 static const per_sequence_t ConferenceQueryRequest_sequence[] = {
1300 { &hf_t124_nodeType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_NodeType },
1301 { &hf_t124_asymmetryIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_AsymmetryIndicator },
1302 { &hf_t124_userData , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_UserData },
1303 { NULL, 0, 0, NULL }
1307 dissect_t124_ConferenceQueryRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1308 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1309 ett_t124_ConferenceQueryRequest, ConferenceQueryRequest_sequence);
1315 static const per_sequence_t SET_OF_ConferenceDescriptor_set_of[1] = {
1316 { &hf_t124_conferenceList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_ConferenceDescriptor },
1320 dissect_t124_SET_OF_ConferenceDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1321 offset = dissect_per_set_of(tvb, offset, actx, tree, hf_index,
1322 ett_t124_SET_OF_ConferenceDescriptor, SET_OF_ConferenceDescriptor_set_of);
1328 static const value_string t124_QueryResponseResult_vals[] = {
1330 { 1, "userRejected" },
1336 dissect_t124_QueryResponseResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1337 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1338 2, NULL, TRUE, 0, NULL);
1344 static const per_sequence_t ConferenceQueryResponse_sequence[] = {
1345 { &hf_t124_nodeType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_NodeType },
1346 { &hf_t124_asymmetryIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_AsymmetryIndicator },
1347 { &hf_t124_conferenceList , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_ConferenceDescriptor },
1348 { &hf_t124_queryResponseResult, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_QueryResponseResult },
1349 { &hf_t124_userData , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_UserData },
1350 { &hf_t124_waitForInvitationFlag, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_t124_BOOLEAN },
1351 { &hf_t124_noUnlistedConferenceFlag, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_t124_BOOLEAN },
1352 { NULL, 0, 0, NULL }
1356 dissect_t124_ConferenceQueryResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1357 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1358 ett_t124_ConferenceQueryResponse, ConferenceQueryResponse_sequence);
1364 static const per_sequence_t ConferenceJoinRequest_sequence[] = {
1365 { &hf_t124_conferenceName_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_ConferenceNameSelector },
1366 { &hf_t124_conferenceNameModifier, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_ConferenceNameModifier },
1367 { &hf_t124_tag , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_INTEGER },
1368 { &hf_t124_password_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_PasswordChallengeRequestResponse },
1369 { &hf_t124_convenerPassword_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_PasswordSelector },
1370 { &hf_t124_callerIdentifier, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_TextString },
1371 { &hf_t124_userData , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_UserData },
1372 { &hf_t124_nodeCategory , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_t124_NodeCategory },
1373 { NULL, 0, 0, NULL }
1377 dissect_t124_ConferenceJoinRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1378 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1379 ett_t124_ConferenceJoinRequest, ConferenceJoinRequest_sequence);
1385 static const value_string t124_JoinResponseResult_vals[] = {
1387 { 1, "userRejected" },
1388 { 2, "invalidConference" },
1389 { 3, "invalidPassword" },
1390 { 4, "invalidConvenerPassword" },
1391 { 5, "challengeResponseRequired" },
1392 { 6, "invalidChallengeResponse" },
1398 dissect_t124_JoinResponseResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1399 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1400 7, NULL, TRUE, 0, NULL);
1406 static const per_sequence_t ConferenceJoinResponse_sequence[] = {
1407 { &hf_t124_nodeID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_UserID },
1408 { &hf_t124_topNodeID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_UserID },
1409 { &hf_t124_tag , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_INTEGER },
1410 { &hf_t124_conferenceNameAlias, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_ConferenceNameSelector },
1411 { &hf_t124_passwordInTheClearRequired, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1412 { &hf_t124_lockedConference, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1413 { &hf_t124_listedConference, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1414 { &hf_t124_conductibleConference, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1415 { &hf_t124_terminationMethod, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_TerminationMethod },
1416 { &hf_t124_conductorPrivileges, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_SET_OF_Privilege },
1417 { &hf_t124_conductedPrivileges, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_SET_OF_Privilege },
1418 { &hf_t124_nonConductedPrivileges, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_SET_OF_Privilege },
1419 { &hf_t124_conferenceDescription, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_TextString },
1420 { &hf_t124_password_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_PasswordChallengeRequestResponse },
1421 { &hf_t124_joinResponseResult, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_JoinResponseResult },
1422 { &hf_t124_userData , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_UserData },
1423 { &hf_t124_nodeCategory , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_t124_NodeCategory },
1424 { &hf_t124_conferenceMode , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_t124_ConferenceMode },
1425 { NULL, 0, 0, NULL }
1429 dissect_t124_ConferenceJoinResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1430 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1431 ett_t124_ConferenceJoinResponse, ConferenceJoinResponse_sequence);
1437 static const per_sequence_t ConferenceInviteRequest_sequence[] = {
1438 { &hf_t124_conferenceName , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_ConferenceName },
1439 { &hf_t124_nodeID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_UserID },
1440 { &hf_t124_topNodeID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_UserID },
1441 { &hf_t124_tag , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_INTEGER },
1442 { &hf_t124_passwordInTheClearRequired, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1443 { &hf_t124_lockedConference, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1444 { &hf_t124_listedConference, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1445 { &hf_t124_conductibleConference, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1446 { &hf_t124_terminationMethod, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_TerminationMethod },
1447 { &hf_t124_conductorPrivileges, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_SET_OF_Privilege },
1448 { &hf_t124_conductedPrivileges, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_SET_OF_Privilege },
1449 { &hf_t124_nonConductedPrivileges, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_SET_OF_Privilege },
1450 { &hf_t124_conferenceDescription, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_TextString },
1451 { &hf_t124_callerIdentifier, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_TextString },
1452 { &hf_t124_userData , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_UserData },
1453 { &hf_t124_conferencePriority, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_t124_ConferencePriority },
1454 { &hf_t124_nodeCategory , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_t124_NodeCategory },
1455 { &hf_t124_conferenceMode , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_t124_ConferenceMode },
1456 { NULL, 0, 0, NULL }
1460 dissect_t124_ConferenceInviteRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1461 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1462 ett_t124_ConferenceInviteRequest, ConferenceInviteRequest_sequence);
1468 static const value_string t124_InviteResponseResult_vals[] = {
1470 { 1, "userRejected" },
1476 dissect_t124_InviteResponseResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1477 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1478 2, NULL, TRUE, 0, NULL);
1484 static const per_sequence_t ConferenceInviteResponse_sequence[] = {
1485 { &hf_t124_inviteResponseResult, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_InviteResponseResult },
1486 { &hf_t124_userData , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_UserData },
1487 { NULL, 0, 0, NULL }
1491 dissect_t124_ConferenceInviteResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1492 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1493 ett_t124_ConferenceInviteResponse, ConferenceInviteResponse_sequence);
1501 dissect_t124_T_connectPDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1502 #line 124 "../../asn1/t124/t124.cnf"
1503 tvbuff_t *next_tvb = NULL;
1504 proto_tree *next_tree = NULL;
1507 old_offset = offset;
1508 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1509 NO_BOUND, NO_BOUND, FALSE, &next_tvb);
1512 /* "2a -> ConnectData::connectPDU length = 42 bytes */
1513 /* This length MUST be ignored by the client." */
1515 /* Not sure why - but lets ignore the length. */
1516 /* We assume the OCTET STRING is all of the remaining bytes */
1518 if(tvb_length(next_tvb) == 42) {
1519 /* this is perhaps a naive ... */
1520 next_tvb = tvb_new_subset_remaining(tvb, (old_offset>>3)+1);
1523 next_tree = proto_item_add_subtree(actx->created_item, ett_t124_connectGCCPDU);
1525 dissect_t124_ConnectGCCPDU(next_tvb, 0, actx, next_tree, hf_t124_connectGCCPDU);
1534 static const per_sequence_t ConnectData_sequence[] = {
1535 { &hf_t124_t124Identifier , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Key },
1536 { &hf_t124_connectPDU , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_T_connectPDU },
1537 { NULL, 0, 0, NULL }
1541 dissect_t124_ConnectData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1542 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1543 ett_t124_ConnectData, ConnectData_sequence);
1549 const value_string t124_ConnectGCCPDU_vals[] = {
1550 { 0, "conferenceCreateRequest" },
1551 { 1, "conferenceCreateResponse" },
1552 { 2, "conferenceQueryRequest" },
1553 { 3, "conferenceQueryResponse" },
1554 { 4, "conferenceJoinRequest" },
1555 { 5, "conferenceJoinResponse" },
1556 { 6, "conferenceInviteRequest" },
1557 { 7, "conferenceInviteResponse" },
1561 static const per_choice_t ConnectGCCPDU_choice[] = {
1562 { 0, &hf_t124_conferenceCreateRequest, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceCreateRequest },
1563 { 1, &hf_t124_conferenceCreateResponse, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceCreateResponse },
1564 { 2, &hf_t124_conferenceQueryRequest, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceQueryRequest },
1565 { 3, &hf_t124_conferenceQueryResponse, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceQueryResponse },
1566 { 4, &hf_t124_conferenceJoinRequest, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceJoinRequest },
1567 { 5, &hf_t124_conferenceJoinResponse, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceJoinResponse },
1568 { 6, &hf_t124_conferenceInviteRequest, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceInviteRequest },
1569 { 7, &hf_t124_conferenceInviteResponse, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceInviteResponse },
1570 { 0, NULL, 0, NULL }
1574 dissect_t124_ConnectGCCPDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1575 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1576 ett_t124_ConnectGCCPDU, ConnectGCCPDU_choice,
1585 dissect_t124_ChannelId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1586 #line 223 "../../asn1/t124/t124.cnf"
1588 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1589 0U, 65535U, &channelId, FALSE);
1592 if(hf_index == hf_t124_channelId_03)
1593 col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%d", channelId);
1604 dissect_t124_StaticChannelId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1605 offset = dissect_t124_ChannelId(tvb, offset, actx, tree, hf_index);
1613 dissect_t124_DynamicChannelId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1614 offset = dissect_t124_ChannelId(tvb, offset, actx, tree, hf_index);
1622 dissect_t124_UserId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1623 offset = dissect_t124_DynamicChannelId(tvb, offset, actx, tree, hf_index);
1631 dissect_t124_PrivateChannelId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1632 offset = dissect_t124_DynamicChannelId(tvb, offset, actx, tree, hf_index);
1640 dissect_t124_AssignedChannelId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1641 offset = dissect_t124_DynamicChannelId(tvb, offset, actx, tree, hf_index);
1649 dissect_t124_TokenId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1650 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1651 1U, 65535U, NULL, FALSE);
1657 static const value_string t124_TokenStatus_vals[] = {
1659 { 1, "selfGrabbed" },
1660 { 2, "otherGrabbed" },
1661 { 3, "selfInhibited" },
1662 { 4, "otherInhibited" },
1663 { 5, "selfRecipient" },
1664 { 6, "selfGiving" },
1665 { 7, "otherGiving" },
1671 dissect_t124_TokenStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1672 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1673 8, NULL, FALSE, 0, NULL);
1679 static const value_string t124_DataPriority_vals[] = {
1689 dissect_t124_DataPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1690 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1691 4, NULL, FALSE, 0, NULL);
1699 dissect_t124_Segmentation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1700 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1709 dissect_t124_INTEGER_0_MAX(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1710 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1711 0U, NO_BOUND, NULL, FALSE);
1717 static const per_sequence_t PlumbDomainIndication_sequence[] = {
1718 { &hf_t124_heightLimit , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_INTEGER_0_MAX },
1719 { NULL, 0, 0, NULL }
1723 dissect_t124_PlumbDomainIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1724 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1725 ett_t124_PlumbDomainIndication, PlumbDomainIndication_sequence);
1731 static const per_sequence_t ErectDomainRequest_sequence[] = {
1732 { &hf_t124_subHeight , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_INTEGER_0_MAX },
1733 { &hf_t124_subInterval , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_INTEGER_0_MAX },
1734 { NULL, 0, 0, NULL }
1738 dissect_t124_ErectDomainRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1739 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1740 ett_t124_ErectDomainRequest, ErectDomainRequest_sequence);
1746 static const per_sequence_t T_static_sequence[] = {
1747 { &hf_t124_channelId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_StaticChannelId },
1748 { NULL, 0, 0, NULL }
1752 dissect_t124_T_static(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1753 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1754 ett_t124_T_static, T_static_sequence);
1760 static const per_sequence_t T_userId_sequence[] = {
1761 { &hf_t124_joined , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1762 { &hf_t124_userId_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId },
1763 { NULL, 0, 0, NULL }
1767 dissect_t124_T_userId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1768 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1769 ett_t124_T_userId, T_userId_sequence);
1775 static const per_sequence_t SET_OF_UserId_set_of[1] = {
1776 { &hf_t124_admitted_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId },
1780 dissect_t124_SET_OF_UserId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1781 offset = dissect_per_set_of(tvb, offset, actx, tree, hf_index,
1782 ett_t124_SET_OF_UserId, SET_OF_UserId_set_of);
1788 static const per_sequence_t T_private_sequence[] = {
1789 { &hf_t124_joined , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN },
1790 { &hf_t124_channelId_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_PrivateChannelId },
1791 { &hf_t124_manager , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId },
1792 { &hf_t124_admitted , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_UserId },
1793 { NULL, 0, 0, NULL }
1797 dissect_t124_T_private(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1798 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1799 ett_t124_T_private, T_private_sequence);
1805 static const per_sequence_t T_assigned_sequence[] = {
1806 { &hf_t124_channelId_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_AssignedChannelId },
1807 { NULL, 0, 0, NULL }
1811 dissect_t124_T_assigned(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1812 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1813 ett_t124_T_assigned, T_assigned_sequence);
1819 static const value_string t124_ChannelAttributes_vals[] = {
1827 static const per_choice_t ChannelAttributes_choice[] = {
1828 { 0, &hf_t124_static , ASN1_NO_EXTENSIONS , dissect_t124_T_static },
1829 { 1, &hf_t124_userId , ASN1_NO_EXTENSIONS , dissect_t124_T_userId },
1830 { 2, &hf_t124_private , ASN1_NO_EXTENSIONS , dissect_t124_T_private },
1831 { 3, &hf_t124_assigned , ASN1_NO_EXTENSIONS , dissect_t124_T_assigned },
1832 { 0, NULL, 0, NULL }
1836 dissect_t124_ChannelAttributes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1837 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1838 ett_t124_ChannelAttributes, ChannelAttributes_choice,
1845 static const per_sequence_t SET_OF_ChannelAttributes_set_of[1] = {
1846 { &hf_t124_mergeChannels_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_ChannelAttributes },
1850 dissect_t124_SET_OF_ChannelAttributes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1851 offset = dissect_per_set_of(tvb, offset, actx, tree, hf_index,
1852 ett_t124_SET_OF_ChannelAttributes, SET_OF_ChannelAttributes_set_of);
1858 static const per_sequence_t SET_OF_ChannelId_set_of[1] = {
1859 { &hf_t124_purgeChannelIds_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_ChannelId },
1863 dissect_t124_SET_OF_ChannelId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1864 offset = dissect_per_set_of(tvb, offset, actx, tree, hf_index,
1865 ett_t124_SET_OF_ChannelId, SET_OF_ChannelId_set_of);
1871 static const per_sequence_t MergeChannelsRequest_sequence[] = {
1872 { &hf_t124_mergeChannels , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_ChannelAttributes },
1873 { &hf_t124_purgeChannelIds, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_ChannelId },
1874 { NULL, 0, 0, NULL }
1878 dissect_t124_MergeChannelsRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1879 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1880 ett_t124_MergeChannelsRequest, MergeChannelsRequest_sequence);
1886 static const per_sequence_t MergeChannelsConfirm_sequence[] = {
1887 { &hf_t124_mergeChannels , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_ChannelAttributes },
1888 { &hf_t124_purgeChannelIds, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_ChannelId },
1889 { NULL, 0, 0, NULL }
1893 dissect_t124_MergeChannelsConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1894 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1895 ett_t124_MergeChannelsConfirm, MergeChannelsConfirm_sequence);
1901 static const per_sequence_t PurgeChannelsIndication_sequence[] = {
1902 { &hf_t124_detachUserIds , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_UserId },
1903 { &hf_t124_purgeChannelIds, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_ChannelId },
1904 { NULL, 0, 0, NULL }
1908 dissect_t124_PurgeChannelsIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1909 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1910 ett_t124_PurgeChannelsIndication, PurgeChannelsIndication_sequence);
1916 static const per_sequence_t T_grabbed_sequence[] = {
1917 { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId },
1918 { &hf_t124_grabber , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId },
1919 { NULL, 0, 0, NULL }
1923 dissect_t124_T_grabbed(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1924 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1925 ett_t124_T_grabbed, T_grabbed_sequence);
1931 static const per_sequence_t T_inhibited_sequence[] = {
1932 { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId },
1933 { &hf_t124_inhibitors , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_UserId },
1934 { NULL, 0, 0, NULL }
1938 dissect_t124_T_inhibited(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1939 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1940 ett_t124_T_inhibited, T_inhibited_sequence);
1946 static const per_sequence_t T_giving_sequence[] = {
1947 { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId },
1948 { &hf_t124_grabber , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId },
1949 { &hf_t124_recipient , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId },
1950 { NULL, 0, 0, NULL }
1954 dissect_t124_T_giving(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1955 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1956 ett_t124_T_giving, T_giving_sequence);
1962 static const per_sequence_t T_ungivable_sequence[] = {
1963 { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId },
1964 { &hf_t124_grabber , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId },
1965 { NULL, 0, 0, NULL }
1969 dissect_t124_T_ungivable(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1970 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1971 ett_t124_T_ungivable, T_ungivable_sequence);
1977 static const per_sequence_t T_given_sequence[] = {
1978 { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId },
1979 { &hf_t124_recipient , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId },
1980 { NULL, 0, 0, NULL }
1984 dissect_t124_T_given(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1985 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1986 ett_t124_T_given, T_given_sequence);
1992 static const value_string t124_TokenAttributes_vals[] = {
2001 static const per_choice_t TokenAttributes_choice[] = {
2002 { 0, &hf_t124_grabbed , ASN1_NO_EXTENSIONS , dissect_t124_T_grabbed },
2003 { 1, &hf_t124_inhibited , ASN1_NO_EXTENSIONS , dissect_t124_T_inhibited },
2004 { 2, &hf_t124_giving , ASN1_NO_EXTENSIONS , dissect_t124_T_giving },
2005 { 3, &hf_t124_ungivable , ASN1_NO_EXTENSIONS , dissect_t124_T_ungivable },
2006 { 4, &hf_t124_given , ASN1_NO_EXTENSIONS , dissect_t124_T_given },
2007 { 0, NULL, 0, NULL }
2011 dissect_t124_TokenAttributes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2012 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2013 ett_t124_TokenAttributes, TokenAttributes_choice,
2020 static const per_sequence_t SET_OF_TokenAttributes_set_of[1] = {
2021 { &hf_t124_mergeTokens_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenAttributes },
2025 dissect_t124_SET_OF_TokenAttributes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2026 offset = dissect_per_set_of(tvb, offset, actx, tree, hf_index,
2027 ett_t124_SET_OF_TokenAttributes, SET_OF_TokenAttributes_set_of);
2033 static const per_sequence_t SET_OF_TokenId_set_of[1] = {
2034 { &hf_t124_purgeTokenIds_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId },
2038 dissect_t124_SET_OF_TokenId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2039 offset = dissect_per_set_of(tvb, offset, actx, tree, hf_index,
2040 ett_t124_SET_OF_TokenId, SET_OF_TokenId_set_of);
2046 static const per_sequence_t MergeTokensRequest_sequence[] = {
2047 { &hf_t124_mergeTokens , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_TokenAttributes },
2048 { &hf_t124_purgeTokenIds , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_TokenId },
2049 { NULL, 0, 0, NULL }
2053 dissect_t124_MergeTokensRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2054 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2055 ett_t124_MergeTokensRequest, MergeTokensRequest_sequence);
2061 static const per_sequence_t MergeTokensConfirm_sequence[] = {
2062 { &hf_t124_mergeTokens , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_TokenAttributes },
2063 { &hf_t124_purgeTokenIds , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_TokenId },
2064 { NULL, 0, 0, NULL }
2068 dissect_t124_MergeTokensConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2069 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2070 ett_t124_MergeTokensConfirm, MergeTokensConfirm_sequence);
2076 static const per_sequence_t PurgeTokensIndication_sequence[] = {
2077 { &hf_t124_purgeTokenIds , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_TokenId },
2078 { NULL, 0, 0, NULL }
2082 dissect_t124_PurgeTokensIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2083 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2084 ett_t124_PurgeTokensIndication, PurgeTokensIndication_sequence);
2090 static const value_string t124_Reason_vals[] = {
2091 { 0, "rn-domain-disconnected" },
2092 { 1, "rn-provider-initiated" },
2093 { 2, "rn-token-purged" },
2094 { 3, "rn-user-requested" },
2095 { 4, "rn-channel-purged" },
2101 dissect_t124_Reason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2102 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2103 5, NULL, FALSE, 0, NULL);
2109 static const per_sequence_t DisconnectProviderUltimatum_sequence[] = {
2110 { &hf_t124_reason , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Reason },
2111 { NULL, 0, 0, NULL }
2115 dissect_t124_DisconnectProviderUltimatum(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2116 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2117 ett_t124_DisconnectProviderUltimatum, DisconnectProviderUltimatum_sequence);
2123 static const value_string t124_Diagnostic_vals[] = {
2124 { 0, "dc-inconsistent-merge" },
2125 { 1, "dc-forbidden-PDU-downward" },
2126 { 2, "dc-forbidden-PDU-upward" },
2127 { 3, "dc-invalid-BER-encoding" },
2128 { 4, "dc-invalid-PER-encoding" },
2129 { 5, "dc-misrouted-user" },
2130 { 6, "dc-unrequested-confirm" },
2131 { 7, "dc-wrong-transport-priority" },
2132 { 8, "dc-channel-id-conflict" },
2133 { 9, "dc-token-id-conflict" },
2134 { 10, "dc-not-user-id-channel" },
2135 { 11, "dc-too-many-channels" },
2136 { 12, "dc-too-many-tokens" },
2137 { 13, "dc-too-many-users" },
2143 dissect_t124_Diagnostic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2144 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2145 14, NULL, FALSE, 0, NULL);
2151 static const per_sequence_t RejectMCSPDUUltimatum_sequence[] = {
2152 { &hf_t124_diagnostic , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Diagnostic },
2153 { &hf_t124_initialOctets , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_OCTET_STRING },
2154 { NULL, 0, 0, NULL }
2158 dissect_t124_RejectMCSPDUUltimatum(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2159 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2160 ett_t124_RejectMCSPDUUltimatum, RejectMCSPDUUltimatum_sequence);
2166 static const per_sequence_t AttachUserRequest_sequence[] = {
2167 { NULL, 0, 0, NULL }
2171 dissect_t124_AttachUserRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2172 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2173 ett_t124_AttachUserRequest, AttachUserRequest_sequence);
2179 static const value_string t124_Result_vals[] = {
2180 { 0, "rt-successful" },
2181 { 1, "rt-domain-merging" },
2182 { 2, "rt-domain-not-hierarchical" },
2183 { 3, "rt-no-such-channel" },
2184 { 4, "rt-no-such-domain" },
2185 { 5, "rt-no-such-user" },
2186 { 6, "rt-not-admitted" },
2187 { 7, "rt-other-user-id" },
2188 { 8, "rt-parameters-unacceptable" },
2189 { 9, "rt-token-not-available" },
2190 { 10, "rt-token-not-possessed" },
2191 { 11, "rt-too-many-channels" },
2192 { 12, "rt-too-many-tokens" },
2193 { 13, "rt-too-many-users" },
2194 { 14, "rt-unspecified-failure" },
2195 { 15, "rt-user-rejected" },
2201 dissect_t124_Result(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2202 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2203 16, NULL, FALSE, 0, NULL);
2209 static const per_sequence_t AttachUserConfirm_sequence[] = {
2210 { &hf_t124_result_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Result },
2211 { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_t124_UserId },
2212 { NULL, 0, 0, NULL }
2216 dissect_t124_AttachUserConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2217 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2218 ett_t124_AttachUserConfirm, AttachUserConfirm_sequence);
2224 static const per_sequence_t DetachUserRequest_sequence[] = {
2225 { &hf_t124_reason , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Reason },
2226 { &hf_t124_userIds , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_UserId },
2227 { NULL, 0, 0, NULL }
2231 dissect_t124_DetachUserRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2232 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2233 ett_t124_DetachUserRequest, DetachUserRequest_sequence);
2239 static const per_sequence_t DetachUserIndication_sequence[] = {
2240 { &hf_t124_reason , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Reason },
2241 { &hf_t124_userIds , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_UserId },
2242 { NULL, 0, 0, NULL }
2246 dissect_t124_DetachUserIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2247 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2248 ett_t124_DetachUserIndication, DetachUserIndication_sequence);
2254 static const per_sequence_t ChannelJoinRequest_sequence[] = {
2255 { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId },
2256 { &hf_t124_channelId_03 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_ChannelId },
2257 { NULL, 0, 0, NULL }
2261 dissect_t124_ChannelJoinRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2262 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2263 ett_t124_ChannelJoinRequest, ChannelJoinRequest_sequence);
2269 static const per_sequence_t ChannelJoinConfirm_sequence[] = {
2270 { &hf_t124_result_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Result },
2271 { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId },
2272 { &hf_t124_requested , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_ChannelId },
2273 { &hf_t124_channelId_03 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_t124_ChannelId },
2274 { NULL, 0, 0, NULL }
2278 dissect_t124_ChannelJoinConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2279 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2280 ett_t124_ChannelJoinConfirm, ChannelJoinConfirm_sequence);
2286 static const per_sequence_t ChannelLeaveRequest_sequence[] = {
2287 { &hf_t124_channelIds , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_ChannelId },
2288 { NULL, 0, 0, NULL }
2292 dissect_t124_ChannelLeaveRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2293 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2294 ett_t124_ChannelLeaveRequest, ChannelLeaveRequest_sequence);
2300 static const per_sequence_t ChannelConveneRequest_sequence[] = {
2301 { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId },
2302 { NULL, 0, 0, NULL }
2306 dissect_t124_ChannelConveneRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2307 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2308 ett_t124_ChannelConveneRequest, ChannelConveneRequest_sequence);
2314 static const per_sequence_t ChannelConveneConfirm_sequence[] = {
2315 { &hf_t124_result_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Result },
2316 { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId },
2317 { &hf_t124_channelId_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_t124_PrivateChannelId },
2318 { NULL, 0, 0, NULL }
2322 dissect_t124_ChannelConveneConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2323 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2324 ett_t124_ChannelConveneConfirm, ChannelConveneConfirm_sequence);
2330 static const per_sequence_t ChannelDisbandRequest_sequence[] = {
2331 { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId },
2332 { &hf_t124_channelId_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_PrivateChannelId },
2333 { NULL, 0, 0, NULL }
2337 dissect_t124_ChannelDisbandRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2338 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2339 ett_t124_ChannelDisbandRequest, ChannelDisbandRequest_sequence);
2345 static const per_sequence_t ChannelDisbandIndication_sequence[] = {
2346 { &hf_t124_channelId_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_PrivateChannelId },
2347 { NULL, 0, 0, NULL }
2351 dissect_t124_ChannelDisbandIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2352 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2353 ett_t124_ChannelDisbandIndication, ChannelDisbandIndication_sequence);
2359 static const per_sequence_t ChannelAdmitRequest_sequence[] = {
2360 { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId },
2361 { &hf_t124_channelId_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_PrivateChannelId },
2362 { &hf_t124_userIds , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_UserId },
2363 { NULL, 0, 0, NULL }
2367 dissect_t124_ChannelAdmitRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2368 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2369 ett_t124_ChannelAdmitRequest, ChannelAdmitRequest_sequence);
2375 static const per_sequence_t ChannelAdmitIndication_sequence[] = {
2376 { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId },
2377 { &hf_t124_channelId_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_PrivateChannelId },
2378 { &hf_t124_userIds , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_UserId },
2379 { NULL, 0, 0, NULL }
2383 dissect_t124_ChannelAdmitIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2384 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2385 ett_t124_ChannelAdmitIndication, ChannelAdmitIndication_sequence);
2391 static const per_sequence_t ChannelExpelRequest_sequence[] = {
2392 { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId },
2393 { &hf_t124_channelId_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_PrivateChannelId },
2394 { &hf_t124_userIds , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_UserId },
2395 { NULL, 0, 0, NULL }
2399 dissect_t124_ChannelExpelRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2400 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2401 ett_t124_ChannelExpelRequest, ChannelExpelRequest_sequence);
2407 static const per_sequence_t ChannelExpelIndication_sequence[] = {
2408 { &hf_t124_channelId_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_PrivateChannelId },
2409 { &hf_t124_userIds , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_UserId },
2410 { NULL, 0, 0, NULL }
2414 dissect_t124_ChannelExpelIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2415 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2416 ett_t124_ChannelExpelIndication, ChannelExpelIndication_sequence);
2424 dissect_t124_T_userData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2425 #line 167 "../../asn1/t124/t124.cnf"
2426 tvbuff_t *next_tvb = NULL;
2428 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2429 NO_BOUND, NO_BOUND, FALSE, &next_tvb);
2434 dissector_try_uint(t124_sd_dissector_table, channelId, next_tvb, actx->pinfo, top_tree);
2444 static const per_sequence_t SendDataRequest_sequence[] = {
2445 { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId },
2446 { &hf_t124_channelId_03 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_ChannelId },
2447 { &hf_t124_dataPriority , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_DataPriority },
2448 { &hf_t124_segmentation , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Segmentation },
2449 { &hf_t124_userData_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_T_userData },
2450 { NULL, 0, 0, NULL }
2454 dissect_t124_SendDataRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2455 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2456 ett_t124_SendDataRequest, SendDataRequest_sequence);
2464 dissect_t124_T_userData_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2465 #line 180 "../../asn1/t124/t124.cnf"
2466 tvbuff_t *next_tvb = NULL;
2468 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2469 NO_BOUND, NO_BOUND, FALSE, &next_tvb);
2474 dissector_try_uint(t124_sd_dissector_table, channelId, next_tvb, actx->pinfo, top_tree);
2484 static const per_sequence_t SendDataIndication_sequence[] = {
2485 { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId },
2486 { &hf_t124_channelId_03 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_ChannelId },
2487 { &hf_t124_dataPriority , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_DataPriority },
2488 { &hf_t124_segmentation , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Segmentation },
2489 { &hf_t124_userData_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_T_userData_01 },
2490 { NULL, 0, 0, NULL }
2494 dissect_t124_SendDataIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2495 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2496 ett_t124_SendDataIndication, SendDataIndication_sequence);
2502 static const per_sequence_t UniformSendDataRequest_sequence[] = {
2503 { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId },
2504 { &hf_t124_channelId_03 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_ChannelId },
2505 { &hf_t124_dataPriority , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_DataPriority },
2506 { &hf_t124_segmentation , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Segmentation },
2507 { &hf_t124_userData_03 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_OCTET_STRING },
2508 { NULL, 0, 0, NULL }
2512 dissect_t124_UniformSendDataRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2513 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2514 ett_t124_UniformSendDataRequest, UniformSendDataRequest_sequence);
2520 static const per_sequence_t UniformSendDataIndication_sequence[] = {
2521 { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId },
2522 { &hf_t124_channelId_03 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_ChannelId },
2523 { &hf_t124_dataPriority , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_DataPriority },
2524 { &hf_t124_segmentation , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Segmentation },
2525 { &hf_t124_userData_03 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_OCTET_STRING },
2526 { NULL, 0, 0, NULL }
2530 dissect_t124_UniformSendDataIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2531 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2532 ett_t124_UniformSendDataIndication, UniformSendDataIndication_sequence);
2538 static const per_sequence_t TokenGrabRequest_sequence[] = {
2539 { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId },
2540 { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId },
2541 { NULL, 0, 0, NULL }
2545 dissect_t124_TokenGrabRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2546 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2547 ett_t124_TokenGrabRequest, TokenGrabRequest_sequence);
2553 static const per_sequence_t TokenGrabConfirm_sequence[] = {
2554 { &hf_t124_result_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Result },
2555 { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId },
2556 { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId },
2557 { &hf_t124_tokenStatus , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenStatus },
2558 { NULL, 0, 0, NULL }
2562 dissect_t124_TokenGrabConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2563 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2564 ett_t124_TokenGrabConfirm, TokenGrabConfirm_sequence);
2570 static const per_sequence_t TokenInhibitRequest_sequence[] = {
2571 { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId },
2572 { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId },
2573 { NULL, 0, 0, NULL }
2577 dissect_t124_TokenInhibitRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2578 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2579 ett_t124_TokenInhibitRequest, TokenInhibitRequest_sequence);
2585 static const per_sequence_t TokenInhibitConfirm_sequence[] = {
2586 { &hf_t124_result_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Result },
2587 { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId },
2588 { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId },
2589 { &hf_t124_tokenStatus , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenStatus },
2590 { NULL, 0, 0, NULL }
2594 dissect_t124_TokenInhibitConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2595 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2596 ett_t124_TokenInhibitConfirm, TokenInhibitConfirm_sequence);
2602 static const per_sequence_t TokenGiveRequest_sequence[] = {
2603 { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId },
2604 { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId },
2605 { &hf_t124_recipient , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId },
2606 { NULL, 0, 0, NULL }
2610 dissect_t124_TokenGiveRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2611 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2612 ett_t124_TokenGiveRequest, TokenGiveRequest_sequence);
2618 static const per_sequence_t TokenGiveIndication_sequence[] = {
2619 { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId },
2620 { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId },
2621 { &hf_t124_recipient , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId },
2622 { NULL, 0, 0, NULL }
2626 dissect_t124_TokenGiveIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2627 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2628 ett_t124_TokenGiveIndication, TokenGiveIndication_sequence);
2634 static const per_sequence_t TokenGiveResponse_sequence[] = {
2635 { &hf_t124_result_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Result },
2636 { &hf_t124_recipient , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId },
2637 { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId },
2638 { NULL, 0, 0, NULL }
2642 dissect_t124_TokenGiveResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2643 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2644 ett_t124_TokenGiveResponse, TokenGiveResponse_sequence);
2650 static const per_sequence_t TokenGiveConfirm_sequence[] = {
2651 { &hf_t124_result_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Result },
2652 { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId },
2653 { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId },
2654 { &hf_t124_tokenStatus , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenStatus },
2655 { NULL, 0, 0, NULL }
2659 dissect_t124_TokenGiveConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2660 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2661 ett_t124_TokenGiveConfirm, TokenGiveConfirm_sequence);
2667 static const per_sequence_t TokenPleaseRequest_sequence[] = {
2668 { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId },
2669 { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId },
2670 { NULL, 0, 0, NULL }
2674 dissect_t124_TokenPleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2675 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2676 ett_t124_TokenPleaseRequest, TokenPleaseRequest_sequence);
2682 static const per_sequence_t TokenPleaseIndication_sequence[] = {
2683 { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId },
2684 { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId },
2685 { NULL, 0, 0, NULL }
2689 dissect_t124_TokenPleaseIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2690 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2691 ett_t124_TokenPleaseIndication, TokenPleaseIndication_sequence);
2697 static const per_sequence_t TokenReleaseRequest_sequence[] = {
2698 { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId },
2699 { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId },
2700 { NULL, 0, 0, NULL }
2704 dissect_t124_TokenReleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2705 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2706 ett_t124_TokenReleaseRequest, TokenReleaseRequest_sequence);
2712 static const per_sequence_t TokenReleaseConfirm_sequence[] = {
2713 { &hf_t124_result_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Result },
2714 { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId },
2715 { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId },
2716 { &hf_t124_tokenStatus , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenStatus },
2717 { NULL, 0, 0, NULL }
2721 dissect_t124_TokenReleaseConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2722 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2723 ett_t124_TokenReleaseConfirm, TokenReleaseConfirm_sequence);
2729 static const per_sequence_t TokenTestRequest_sequence[] = {
2730 { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId },
2731 { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId },
2732 { NULL, 0, 0, NULL }
2736 dissect_t124_TokenTestRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2737 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2738 ett_t124_TokenTestRequest, TokenTestRequest_sequence);
2744 static const per_sequence_t TokenTestConfirm_sequence[] = {
2745 { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId },
2746 { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId },
2747 { &hf_t124_tokenStatus , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenStatus },
2748 { NULL, 0, 0, NULL }
2752 dissect_t124_TokenTestConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2753 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2754 ett_t124_TokenTestConfirm, TokenTestConfirm_sequence);
2760 static const value_string t124_DomainMCSPDU_vals[] = {
2761 { 0, "plumbDomainIndication" },
2762 { 1, "erectDomainRequest" },
2763 { 2, "mergeChannelsRequest" },
2764 { 3, "mergeChannelsConfirm" },
2765 { 4, "purgeChannelsIndication" },
2766 { 5, "mergeTokensRequest" },
2767 { 6, "mergeTokensConfirm" },
2768 { 7, "purgeTokensIndication" },
2769 { 8, "disconnectProviderUltimatum" },
2770 { 9, "rejectMCSPDUUltimatum" },
2771 { 10, "attachUserRequest" },
2772 { 11, "attachUserConfirm" },
2773 { 12, "detachUserRequest" },
2774 { 13, "detachUserIndication" },
2775 { 14, "channelJoinRequest" },
2776 { 15, "channelJoinConfirm" },
2777 { 16, "channelLeaveRequest" },
2778 { 17, "channelConveneRequest" },
2779 { 18, "channelConveneConfirm" },
2780 { 19, "channelDisbandRequest" },
2781 { 20, "channelDisbandIndication" },
2782 { 21, "channelAdmitRequest" },
2783 { 22, "channelAdmitIndication" },
2784 { 23, "channelExpelRequest" },
2785 { 24, "channelExpelIndication" },
2786 { 25, "sendDataRequest" },
2787 { 26, "sendDataIndication" },
2788 { 27, "uniformSendDataRequest" },
2789 { 28, "uniformSendDataIndication" },
2790 { 29, "tokenGrabRequest" },
2791 { 30, "tokenGrabConfirm" },
2792 { 31, "tokenInhibitRequest" },
2793 { 32, "tokenInhibitConfirm" },
2794 { 33, "tokenGiveRequest" },
2795 { 34, "tokenGiveIndication" },
2796 { 35, "tokenGiveResponse" },
2797 { 36, "tokenGiveConfirm" },
2798 { 37, "tokenPleaseRequest" },
2799 { 38, "tokenPleaseIndication" },
2800 { 39, "tokenReleaseRequest" },
2801 { 40, "tokenReleaseConfirm" },
2802 { 41, "tokenTestRequest" },
2803 { 42, "tokenTestConfirm" },
2807 static const per_choice_t DomainMCSPDU_choice[] = {
2808 { 0, &hf_t124_plumbDomainIndication, ASN1_NO_EXTENSIONS , dissect_t124_PlumbDomainIndication },
2809 { 1, &hf_t124_erectDomainRequest, ASN1_NO_EXTENSIONS , dissect_t124_ErectDomainRequest },
2810 { 2, &hf_t124_mergeChannelsRequest, ASN1_NO_EXTENSIONS , dissect_t124_MergeChannelsRequest },
2811 { 3, &hf_t124_mergeChannelsConfirm, ASN1_NO_EXTENSIONS , dissect_t124_MergeChannelsConfirm },
2812 { 4, &hf_t124_purgeChannelsIndication, ASN1_NO_EXTENSIONS , dissect_t124_PurgeChannelsIndication },
2813 { 5, &hf_t124_mergeTokensRequest, ASN1_NO_EXTENSIONS , dissect_t124_MergeTokensRequest },
2814 { 6, &hf_t124_mergeTokensConfirm, ASN1_NO_EXTENSIONS , dissect_t124_MergeTokensConfirm },
2815 { 7, &hf_t124_purgeTokensIndication, ASN1_NO_EXTENSIONS , dissect_t124_PurgeTokensIndication },
2816 { 8, &hf_t124_disconnectProviderUltimatum, ASN1_NO_EXTENSIONS , dissect_t124_DisconnectProviderUltimatum },
2817 { 9, &hf_t124_rejectMCSPDUUltimatum, ASN1_NO_EXTENSIONS , dissect_t124_RejectMCSPDUUltimatum },
2818 { 10, &hf_t124_attachUserRequest, ASN1_NO_EXTENSIONS , dissect_t124_AttachUserRequest },
2819 { 11, &hf_t124_attachUserConfirm, ASN1_NO_EXTENSIONS , dissect_t124_AttachUserConfirm },
2820 { 12, &hf_t124_detachUserRequest, ASN1_NO_EXTENSIONS , dissect_t124_DetachUserRequest },
2821 { 13, &hf_t124_detachUserIndication, ASN1_NO_EXTENSIONS , dissect_t124_DetachUserIndication },
2822 { 14, &hf_t124_channelJoinRequest, ASN1_NO_EXTENSIONS , dissect_t124_ChannelJoinRequest },
2823 { 15, &hf_t124_channelJoinConfirm, ASN1_NO_EXTENSIONS , dissect_t124_ChannelJoinConfirm },
2824 { 16, &hf_t124_channelLeaveRequest, ASN1_NO_EXTENSIONS , dissect_t124_ChannelLeaveRequest },
2825 { 17, &hf_t124_channelConveneRequest, ASN1_NO_EXTENSIONS , dissect_t124_ChannelConveneRequest },
2826 { 18, &hf_t124_channelConveneConfirm, ASN1_NO_EXTENSIONS , dissect_t124_ChannelConveneConfirm },
2827 { 19, &hf_t124_channelDisbandRequest, ASN1_NO_EXTENSIONS , dissect_t124_ChannelDisbandRequest },
2828 { 20, &hf_t124_channelDisbandIndication, ASN1_NO_EXTENSIONS , dissect_t124_ChannelDisbandIndication },
2829 { 21, &hf_t124_channelAdmitRequest, ASN1_NO_EXTENSIONS , dissect_t124_ChannelAdmitRequest },
2830 { 22, &hf_t124_channelAdmitIndication, ASN1_NO_EXTENSIONS , dissect_t124_ChannelAdmitIndication },
2831 { 23, &hf_t124_channelExpelRequest, ASN1_NO_EXTENSIONS , dissect_t124_ChannelExpelRequest },
2832 { 24, &hf_t124_channelExpelIndication, ASN1_NO_EXTENSIONS , dissect_t124_ChannelExpelIndication },
2833 { 25, &hf_t124_sendDataRequest, ASN1_NO_EXTENSIONS , dissect_t124_SendDataRequest },
2834 { 26, &hf_t124_sendDataIndication, ASN1_NO_EXTENSIONS , dissect_t124_SendDataIndication },
2835 { 27, &hf_t124_uniformSendDataRequest, ASN1_NO_EXTENSIONS , dissect_t124_UniformSendDataRequest },
2836 { 28, &hf_t124_uniformSendDataIndication, ASN1_NO_EXTENSIONS , dissect_t124_UniformSendDataIndication },
2837 { 29, &hf_t124_tokenGrabRequest, ASN1_NO_EXTENSIONS , dissect_t124_TokenGrabRequest },
2838 { 30, &hf_t124_tokenGrabConfirm, ASN1_NO_EXTENSIONS , dissect_t124_TokenGrabConfirm },
2839 { 31, &hf_t124_tokenInhibitRequest, ASN1_NO_EXTENSIONS , dissect_t124_TokenInhibitRequest },
2840 { 32, &hf_t124_tokenInhibitConfirm, ASN1_NO_EXTENSIONS , dissect_t124_TokenInhibitConfirm },
2841 { 33, &hf_t124_tokenGiveRequest, ASN1_NO_EXTENSIONS , dissect_t124_TokenGiveRequest },
2842 { 34, &hf_t124_tokenGiveIndication, ASN1_NO_EXTENSIONS , dissect_t124_TokenGiveIndication },
2843 { 35, &hf_t124_tokenGiveResponse, ASN1_NO_EXTENSIONS , dissect_t124_TokenGiveResponse },
2844 { 36, &hf_t124_tokenGiveConfirm, ASN1_NO_EXTENSIONS , dissect_t124_TokenGiveConfirm },
2845 { 37, &hf_t124_tokenPleaseRequest, ASN1_NO_EXTENSIONS , dissect_t124_TokenPleaseRequest },
2846 { 38, &hf_t124_tokenPleaseIndication, ASN1_NO_EXTENSIONS , dissect_t124_TokenPleaseIndication },
2847 { 39, &hf_t124_tokenReleaseRequest, ASN1_NO_EXTENSIONS , dissect_t124_TokenReleaseRequest },
2848 { 40, &hf_t124_tokenReleaseConfirm, ASN1_NO_EXTENSIONS , dissect_t124_TokenReleaseConfirm },
2849 { 41, &hf_t124_tokenTestRequest, ASN1_NO_EXTENSIONS , dissect_t124_TokenTestRequest },
2850 { 42, &hf_t124_tokenTestConfirm, ASN1_NO_EXTENSIONS , dissect_t124_TokenTestConfirm },
2851 { 0, NULL, 0, NULL }
2855 dissect_t124_DomainMCSPDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2856 #line 194 "../../asn1/t124/t124.cnf"
2857 gint domainmcs_value;
2859 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2860 ett_t124_DomainMCSPDU, DomainMCSPDU_choice,
2863 switch(domainmcs_value) {
2864 case 25: /* sendDataRequest */
2865 case 26: /* sendDataIndication */
2866 case 27: /* uniformSendDataRequest */
2867 case 28: /* uniformSendDataIndication */
2871 col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "%s ", val_to_str(domainmcs_value, t124_DomainMCSPDU_vals, "Unknown"));
2881 /*--- End of included file: packet-t124-fn.c ---*/
2882 #line 73 "../../asn1/t124/packet-t124-template.c"
2884 static const per_sequence_t t124Heur_sequence[] = {
2885 { &hf_t124_t124Identifier , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Key },
2886 { NULL, 0, 0, NULL }
2890 register_t124_ns_dissector(const char *nsKey, dissector_t dissector, int proto)
2892 dissector_handle_t dissector_handle;
2894 dissector_handle=create_dissector_handle(dissector, proto);
2895 dissector_add_string("t124.ns", nsKey, dissector_handle);
2898 void register_t124_sd_dissector(packet_info *pinfo _U_, guint32 channelId, dissector_t dissector, int proto)
2900 /* XXX: we should keep the sub-dissectors list per conversation
2901 as the same channels may be used.
2902 While we are just using RDP over T.124, then we can get away with it.
2905 dissector_handle_t dissector_handle;
2907 dissector_handle=create_dissector_handle(dissector, proto);
2908 dissector_add_uint("t124.sd", channelId, dissector_handle);
2912 guint32 t124_get_last_channelId(void)
2917 void t124_set_top_tree(proto_tree *tree)
2922 int dissect_DomainMCSPDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
2924 asn1_ctx_t asn1_ctx;
2925 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2927 offset = dissect_t124_DomainMCSPDU(tvb, offset, &asn1_ctx, tree, hf_t124_DomainMCSPDU_PDU);
2928 offset += 7; offset >>= 3;
2933 dissect_t124_new(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *parent_tree)
2935 proto_item *item = NULL;
2936 proto_tree *tree = NULL;
2937 asn1_ctx_t asn1_ctx;
2939 top_tree = parent_tree;
2941 col_set_str(pinfo->cinfo, COL_PROTOCOL, "T.125");
2942 col_clear(pinfo->cinfo, COL_INFO);
2944 item = proto_tree_add_item(parent_tree, proto_t124, tvb, 0, tvb_length(tvb), ENC_NA);
2945 tree = proto_item_add_subtree(item, ett_t124);
2947 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2948 dissect_t124_ConnectData(tvb, 0, &asn1_ctx, tree, hf_t124_ConnectData);
2950 return tvb_length(tvb);
2954 dissect_t124(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *parent_tree)
2956 dissect_t124_new(tvb, pinfo, parent_tree);
2960 dissect_t124_heur(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *parent_tree)
2962 asn1_ctx_t asn1_ctx;
2964 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
2966 t124Identifier = NULL;
2968 (void) dissect_per_sequence(tvb, 0, &asn1_ctx, NULL, -1, -1, t124Heur_sequence);
2970 if((t124Identifier != NULL) &&
2971 (strcmp(t124Identifier, "0.0.20.124.0.1") == 0)) {
2973 dissect_t124(tvb, pinfo, parent_tree);
2980 /*--- proto_register_t124 -------------------------------------------*/
2981 void proto_register_t124(void) {
2983 /* List of fields */
2984 static hf_register_info hf[] = {
2985 { &hf_t124_ConnectData,
2986 { "ConnectData", "t124.ConnectData",
2987 FT_NONE, BASE_NONE, NULL, 0,
2989 { &hf_t124_connectGCCPDU,
2990 { "connectGCCPDU", "t124.connectGCCPDU",
2991 FT_UINT32, BASE_DEC, VALS(t124_ConnectGCCPDU_vals), 0,
2993 { &hf_t124_DomainMCSPDU_PDU,
2994 { "DomainMCSPDU", "t124.DomainMCSPDU",
2995 FT_UINT32, BASE_DEC, VALS(t124_DomainMCSPDU_vals), 0,
2998 /*--- Included file: packet-t124-hfarr.c ---*/
2999 #line 1 "../../asn1/t124/packet-t124-hfarr.c"
3001 { "object", "t124.object",
3002 FT_OID, BASE_NONE, NULL, 0,
3004 { &hf_t124_h221NonStandard,
3005 { "h221NonStandard", "t124.h221NonStandard",
3006 FT_BYTES, BASE_NONE, NULL, 0,
3007 "H221NonStandardIdentifier", HFILL }},
3009 { "key", "t124.key",
3010 FT_UINT32, BASE_DEC, VALS(t124_Key_vals), 0,
3013 { "data", "t124.data",
3014 FT_BYTES, BASE_NONE, NULL, 0,
3015 "OCTET_STRING", HFILL }},
3016 { &hf_t124_UserData_item,
3017 { "UserData item", "t124.UserData_item",
3018 FT_NONE, BASE_NONE, NULL, 0,
3021 { "value", "t124.value",
3022 FT_BYTES, BASE_NONE, NULL, 0,
3025 { "numeric", "t124.numeric",
3026 FT_STRING, BASE_NONE, NULL, 0,
3027 "SimpleNumericString", HFILL }},
3029 { "text", "t124.text",
3030 FT_STRING, BASE_NONE, NULL, 0,
3031 "SimpleTextString", HFILL }},
3032 { &hf_t124_unicodeText,
3033 { "unicodeText", "t124.unicodeText",
3034 FT_STRING, BASE_NONE, NULL, 0,
3035 "TextString", HFILL }},
3036 { &hf_t124_passwordString,
3037 { "passwordString", "t124.passwordString",
3038 FT_UINT32, BASE_DEC, VALS(t124_PasswordSelector_vals), 0,
3039 "PasswordSelector", HFILL }},
3040 { &hf_t124_responseData,
3041 { "responseData", "t124.responseData",
3042 FT_UINT32, BASE_DEC, NULL, 0,
3043 "UserData", HFILL }},
3044 { &hf_t124_passwordInTheClear,
3045 { "passwordInTheClear", "t124.passwordInTheClear",
3046 FT_NONE, BASE_NONE, NULL, 0,
3048 { &hf_t124_nonStandardAlgorithm,
3049 { "nonStandardAlgorithm", "t124.nonStandardAlgorithm",
3050 FT_NONE, BASE_NONE, NULL, 0,
3051 "NonStandardParameter", HFILL }},
3052 { &hf_t124_responseAlgorithm,
3053 { "responseAlgorithm", "t124.responseAlgorithm",
3054 FT_UINT32, BASE_DEC, VALS(t124_ChallengeResponseAlgorithm_vals), 0,
3055 "ChallengeResponseAlgorithm", HFILL }},
3056 { &hf_t124_challengeData,
3057 { "challengeData", "t124.challengeData",
3058 FT_UINT32, BASE_DEC, NULL, 0,
3059 "UserData", HFILL }},
3060 { &hf_t124_challengeTag,
3061 { "challengeTag", "t124.challengeTag",
3062 FT_INT32, BASE_DEC, NULL, 0,
3063 "INTEGER", HFILL }},
3064 { &hf_t124_challengeSet,
3065 { "challengeSet", "t124.challengeSet",
3066 FT_UINT32, BASE_DEC, NULL, 0,
3067 "SET_OF_ChallengeItem", HFILL }},
3068 { &hf_t124_challengeSet_item,
3069 { "ChallengeItem", "t124.ChallengeItem",
3070 FT_NONE, BASE_NONE, NULL, 0,
3072 { &hf_t124_responseItem,
3073 { "responseItem", "t124.responseItem",
3074 FT_UINT32, BASE_DEC, VALS(t124_ChallengeResponseItem_vals), 0,
3075 "ChallengeResponseItem", HFILL }},
3076 { &hf_t124_passwordInTheClear_01,
3077 { "passwordInTheClear", "t124.passwordInTheClear",
3078 FT_UINT32, BASE_DEC, VALS(t124_PasswordSelector_vals), 0,
3079 "PasswordSelector", HFILL }},
3080 { &hf_t124_challengeRequestResponse,
3081 { "challengeRequestResponse", "t124.challengeRequestResponse",
3082 FT_NONE, BASE_NONE, NULL, 0,
3084 { &hf_t124_challengeRequest,
3085 { "challengeRequest", "t124.challengeRequest",
3086 FT_NONE, BASE_NONE, NULL, 0,
3088 { &hf_t124_challengeResponse,
3089 { "challengeResponse", "t124.challengeResponse",
3090 FT_NONE, BASE_NONE, NULL, 0,
3092 { &hf_t124_nonStandardScheme,
3093 { "nonStandardScheme", "t124.nonStandardScheme",
3094 FT_NONE, BASE_NONE, NULL, 0,
3095 "NonStandardParameter", HFILL }},
3096 { &hf_t124_priority,
3097 { "priority", "t124.priority",
3098 FT_UINT32, BASE_DEC, NULL, 0,
3099 "INTEGER_0_65535", HFILL }},
3101 { "scheme", "t124.scheme",
3102 FT_UINT32, BASE_DEC, VALS(t124_ConferencePriorityScheme_vals), 0,
3103 "ConferencePriorityScheme", HFILL }},
3104 { &hf_t124_conventional,
3105 { "conventional", "t124.conventional",
3106 FT_NONE, BASE_NONE, NULL, 0,
3109 { "counted", "t124.counted",
3110 FT_NONE, BASE_NONE, NULL, 0,
3112 { &hf_t124_anonymous,
3113 { "anonymous", "t124.anonymous",
3114 FT_NONE, BASE_NONE, NULL, 0,
3116 { &hf_t124_nonStandardCategory,
3117 { "nonStandardCategory", "t124.nonStandardCategory",
3118 FT_NONE, BASE_NONE, NULL, 0,
3119 "NonStandardParameter", HFILL }},
3120 { &hf_t124_conventional_only,
3121 { "conventional-only", "t124.conventional_only",
3122 FT_NONE, BASE_NONE, NULL, 0,
3124 { &hf_t124_counted_only,
3125 { "counted-only", "t124.counted_only",
3126 FT_NONE, BASE_NONE, NULL, 0,
3128 { &hf_t124_anonymous_only,
3129 { "anonymous-only", "t124.anonymous_only",
3130 FT_NONE, BASE_NONE, NULL, 0,
3132 { &hf_t124_conventional_control,
3133 { "conventional-control", "t124.conventional_control",
3134 FT_NONE, BASE_NONE, NULL, 0,
3136 { &hf_t124_unrestricted_mode,
3137 { "unrestricted-mode", "t124.unrestricted_mode",
3138 FT_NONE, BASE_NONE, NULL, 0,
3140 { &hf_t124_non_standard_mode,
3141 { "non-standard-mode", "t124.non_standard_mode",
3142 FT_NONE, BASE_NONE, NULL, 0,
3143 "NonStandardParameter", HFILL }},
3144 { &hf_t124_NetworkAddress_item,
3145 { "NetworkAddress item", "t124.NetworkAddress_item",
3146 FT_UINT32, BASE_DEC, VALS(t124_NetworkAddress_item_vals), 0,
3148 { &hf_t124_aggregatedChannel,
3149 { "aggregatedChannel", "t124.aggregatedChannel",
3150 FT_NONE, BASE_NONE, NULL, 0,
3152 { &hf_t124_transferModes,
3153 { "transferModes", "t124.transferModes",
3154 FT_NONE, BASE_NONE, NULL, 0,
3157 { "speech", "t124.speech",
3158 FT_BOOLEAN, BASE_NONE, NULL, 0,
3159 "BOOLEAN", HFILL }},
3160 { &hf_t124_voice_band,
3161 { "voice-band", "t124.voice_band",
3162 FT_BOOLEAN, BASE_NONE, NULL, 0,
3163 "BOOLEAN", HFILL }},
3164 { &hf_t124_digital_56k,
3165 { "digital-56k", "t124.digital_56k",
3166 FT_BOOLEAN, BASE_NONE, NULL, 0,
3167 "BOOLEAN", HFILL }},
3168 { &hf_t124_digital_64k,
3169 { "digital-64k", "t124.digital_64k",
3170 FT_BOOLEAN, BASE_NONE, NULL, 0,
3171 "BOOLEAN", HFILL }},
3172 { &hf_t124_digital_128k,
3173 { "digital-128k", "t124.digital_128k",
3174 FT_BOOLEAN, BASE_NONE, NULL, 0,
3175 "BOOLEAN", HFILL }},
3176 { &hf_t124_digital_192k,
3177 { "digital-192k", "t124.digital_192k",
3178 FT_BOOLEAN, BASE_NONE, NULL, 0,
3179 "BOOLEAN", HFILL }},
3180 { &hf_t124_digital_256k,
3181 { "digital-256k", "t124.digital_256k",
3182 FT_BOOLEAN, BASE_NONE, NULL, 0,
3183 "BOOLEAN", HFILL }},
3184 { &hf_t124_digital_320k,
3185 { "digital-320k", "t124.digital_320k",
3186 FT_BOOLEAN, BASE_NONE, NULL, 0,
3187 "BOOLEAN", HFILL }},
3188 { &hf_t124_digital_384k,
3189 { "digital-384k", "t124.digital_384k",
3190 FT_BOOLEAN, BASE_NONE, NULL, 0,
3191 "BOOLEAN", HFILL }},
3192 { &hf_t124_digital_512k,
3193 { "digital-512k", "t124.digital_512k",
3194 FT_BOOLEAN, BASE_NONE, NULL, 0,
3195 "BOOLEAN", HFILL }},
3196 { &hf_t124_digital_768k,
3197 { "digital-768k", "t124.digital_768k",
3198 FT_BOOLEAN, BASE_NONE, NULL, 0,
3199 "BOOLEAN", HFILL }},
3200 { &hf_t124_digital_1152k,
3201 { "digital-1152k", "t124.digital_1152k",
3202 FT_BOOLEAN, BASE_NONE, NULL, 0,
3203 "BOOLEAN", HFILL }},
3204 { &hf_t124_digital_1472k,
3205 { "digital-1472k", "t124.digital_1472k",
3206 FT_BOOLEAN, BASE_NONE, NULL, 0,
3207 "BOOLEAN", HFILL }},
3208 { &hf_t124_digital_1536k,
3209 { "digital-1536k", "t124.digital_1536k",
3210 FT_BOOLEAN, BASE_NONE, NULL, 0,
3211 "BOOLEAN", HFILL }},
3212 { &hf_t124_digital_1920k,
3213 { "digital-1920k", "t124.digital_1920k",
3214 FT_BOOLEAN, BASE_NONE, NULL, 0,
3215 "BOOLEAN", HFILL }},
3216 { &hf_t124_packet_mode,
3217 { "packet-mode", "t124.packet_mode",
3218 FT_BOOLEAN, BASE_NONE, NULL, 0,
3219 "BOOLEAN", HFILL }},
3220 { &hf_t124_frame_mode,
3221 { "frame-mode", "t124.frame_mode",
3222 FT_BOOLEAN, BASE_NONE, NULL, 0,
3223 "BOOLEAN", HFILL }},
3225 { "atm", "t124.atm",
3226 FT_BOOLEAN, BASE_NONE, NULL, 0,
3227 "BOOLEAN", HFILL }},
3228 { &hf_t124_internationalNumber,
3229 { "internationalNumber", "t124.internationalNumber",
3230 FT_STRING, BASE_NONE, NULL, 0,
3231 "DiallingString", HFILL }},
3232 { &hf_t124_subAddress,
3233 { "subAddress", "t124.subAddress",
3234 FT_STRING, BASE_NONE, NULL, 0,
3235 "SubAddressString", HFILL }},
3236 { &hf_t124_extraDialling,
3237 { "extraDialling", "t124.extraDialling",
3238 FT_STRING, BASE_NONE, NULL, 0,
3239 "ExtraDiallingString", HFILL }},
3240 { &hf_t124_highLayerCompatibility,
3241 { "highLayerCompatibility", "t124.highLayerCompatibility",
3242 FT_NONE, BASE_NONE, NULL, 0,
3244 { &hf_t124_telephony3kHz,
3245 { "telephony3kHz", "t124.telephony3kHz",
3246 FT_BOOLEAN, BASE_NONE, NULL, 0,
3247 "BOOLEAN", HFILL }},
3248 { &hf_t124_telephony7kHz,
3249 { "telephony7kHz", "t124.telephony7kHz",
3250 FT_BOOLEAN, BASE_NONE, NULL, 0,
3251 "BOOLEAN", HFILL }},
3252 { &hf_t124_videotelephony,
3253 { "videotelephony", "t124.videotelephony",
3254 FT_BOOLEAN, BASE_NONE, NULL, 0,
3255 "BOOLEAN", HFILL }},
3256 { &hf_t124_videoconference,
3257 { "videoconference", "t124.videoconference",
3258 FT_BOOLEAN, BASE_NONE, NULL, 0,
3259 "BOOLEAN", HFILL }},
3260 { &hf_t124_audiographic,
3261 { "audiographic", "t124.audiographic",
3262 FT_BOOLEAN, BASE_NONE, NULL, 0,
3263 "BOOLEAN", HFILL }},
3264 { &hf_t124_audiovisual,
3265 { "audiovisual", "t124.audiovisual",
3266 FT_BOOLEAN, BASE_NONE, NULL, 0,
3267 "BOOLEAN", HFILL }},
3268 { &hf_t124_multimedia,
3269 { "multimedia", "t124.multimedia",
3270 FT_BOOLEAN, BASE_NONE, NULL, 0,
3271 "BOOLEAN", HFILL }},
3272 { &hf_t124_transportConnection,
3273 { "transportConnection", "t124.transportConnection",
3274 FT_NONE, BASE_NONE, NULL, 0,
3276 { &hf_t124_nsapAddress,
3277 { "nsapAddress", "t124.nsapAddress",
3278 FT_BYTES, BASE_NONE, NULL, 0,
3279 "OCTET_STRING_SIZE_1_20", HFILL }},
3280 { &hf_t124_transportSelector,
3281 { "transportSelector", "t124.transportSelector",
3282 FT_BYTES, BASE_NONE, NULL, 0,
3283 "OCTET_STRING", HFILL }},
3284 { &hf_t124_nonStandard,
3285 { "nonStandard", "t124.nonStandard",
3286 FT_NONE, BASE_NONE, NULL, 0,
3287 "NonStandardParameter", HFILL }},
3288 { &hf_t124_callingNode,
3289 { "callingNode", "t124.callingNode",
3290 FT_NONE, BASE_NONE, NULL, 0,
3292 { &hf_t124_calledNode,
3293 { "calledNode", "t124.calledNode",
3294 FT_NONE, BASE_NONE, NULL, 0,
3297 { "unknown", "t124.unknown",
3298 FT_UINT32, BASE_DEC, NULL, 0,
3299 "INTEGER_0_4294967295", HFILL }},
3300 { &hf_t124_conferenceName,
3301 { "conferenceName", "t124.conferenceName",
3302 FT_NONE, BASE_NONE, NULL, 0,
3304 { &hf_t124_conferenceNameModifier,
3305 { "conferenceNameModifier", "t124.conferenceNameModifier",
3306 FT_STRING, BASE_NONE, NULL, 0,
3308 { &hf_t124_conferenceDescription,
3309 { "conferenceDescription", "t124.conferenceDescription",
3310 FT_STRING, BASE_NONE, NULL, 0,
3311 "TextString", HFILL }},
3312 { &hf_t124_lockedConference,
3313 { "lockedConference", "t124.lockedConference",
3314 FT_BOOLEAN, BASE_NONE, NULL, 0,
3315 "BOOLEAN", HFILL }},
3316 { &hf_t124_passwordInTheClearRequired,
3317 { "passwordInTheClearRequired", "t124.passwordInTheClearRequired",
3318 FT_BOOLEAN, BASE_NONE, NULL, 0,
3319 "BOOLEAN", HFILL }},
3320 { &hf_t124_networkAddress,
3321 { "networkAddress", "t124.networkAddress",
3322 FT_UINT32, BASE_DEC, NULL, 0,
3324 { &hf_t124_defaultConferenceFlag,
3325 { "defaultConferenceFlag", "t124.defaultConferenceFlag",
3326 FT_BOOLEAN, BASE_NONE, NULL, 0,
3327 "BOOLEAN", HFILL }},
3328 { &hf_t124_conferenceMode,
3329 { "conferenceMode", "t124.conferenceMode",
3330 FT_UINT32, BASE_DEC, VALS(t124_ConferenceMode_vals), 0,
3332 { &hf_t124_convenerPassword,
3333 { "convenerPassword", "t124.convenerPassword",
3334 FT_NONE, BASE_NONE, NULL, 0,
3335 "Password", HFILL }},
3336 { &hf_t124_password,
3337 { "password", "t124.password",
3338 FT_NONE, BASE_NONE, NULL, 0,
3340 { &hf_t124_listedConference,
3341 { "listedConference", "t124.listedConference",
3342 FT_BOOLEAN, BASE_NONE, NULL, 0,
3343 "BOOLEAN", HFILL }},
3344 { &hf_t124_conductibleConference,
3345 { "conductibleConference", "t124.conductibleConference",
3346 FT_BOOLEAN, BASE_NONE, NULL, 0,
3347 "BOOLEAN", HFILL }},
3348 { &hf_t124_terminationMethod,
3349 { "terminationMethod", "t124.terminationMethod",
3350 FT_UINT32, BASE_DEC, VALS(t124_TerminationMethod_vals), 0,
3352 { &hf_t124_conductorPrivileges,
3353 { "conductorPrivileges", "t124.conductorPrivileges",
3354 FT_UINT32, BASE_DEC, NULL, 0,
3355 "SET_OF_Privilege", HFILL }},
3356 { &hf_t124_conductorPrivileges_item,
3357 { "Privilege", "t124.Privilege",
3358 FT_UINT32, BASE_DEC, VALS(t124_Privilege_vals), 0,
3360 { &hf_t124_conductedPrivileges,
3361 { "conductedPrivileges", "t124.conductedPrivileges",
3362 FT_UINT32, BASE_DEC, NULL, 0,
3363 "SET_OF_Privilege", HFILL }},
3364 { &hf_t124_conductedPrivileges_item,
3365 { "Privilege", "t124.Privilege",
3366 FT_UINT32, BASE_DEC, VALS(t124_Privilege_vals), 0,
3368 { &hf_t124_nonConductedPrivileges,
3369 { "nonConductedPrivileges", "t124.nonConductedPrivileges",
3370 FT_UINT32, BASE_DEC, NULL, 0,
3371 "SET_OF_Privilege", HFILL }},
3372 { &hf_t124_nonConductedPrivileges_item,
3373 { "Privilege", "t124.Privilege",
3374 FT_UINT32, BASE_DEC, VALS(t124_Privilege_vals), 0,
3376 { &hf_t124_callerIdentifier,
3377 { "callerIdentifier", "t124.callerIdentifier",
3378 FT_STRING, BASE_NONE, NULL, 0,
3379 "TextString", HFILL }},
3380 { &hf_t124_userData,
3381 { "userData", "t124.userData",
3382 FT_UINT32, BASE_DEC, NULL, 0,
3384 { &hf_t124_conferencePriority,
3385 { "conferencePriority", "t124.conferencePriority",
3386 FT_NONE, BASE_NONE, NULL, 0,
3389 { "nodeID", "t124.nodeID",
3390 FT_UINT32, BASE_DEC, NULL, 0,
3393 { "tag", "t124.tag",
3394 FT_INT32, BASE_DEC, NULL, 0,
3395 "INTEGER", HFILL }},
3397 { "result", "t124.result",
3398 FT_UINT32, BASE_DEC, VALS(t124_T_result_vals), 0,
3400 { &hf_t124_nodeType,
3401 { "nodeType", "t124.nodeType",
3402 FT_UINT32, BASE_DEC, VALS(t124_NodeType_vals), 0,
3404 { &hf_t124_asymmetryIndicator,
3405 { "asymmetryIndicator", "t124.asymmetryIndicator",
3406 FT_UINT32, BASE_DEC, VALS(t124_AsymmetryIndicator_vals), 0,
3408 { &hf_t124_conferenceList,
3409 { "conferenceList", "t124.conferenceList",
3410 FT_UINT32, BASE_DEC, NULL, 0,
3411 "SET_OF_ConferenceDescriptor", HFILL }},
3412 { &hf_t124_conferenceList_item,
3413 { "ConferenceDescriptor", "t124.ConferenceDescriptor",
3414 FT_NONE, BASE_NONE, NULL, 0,
3416 { &hf_t124_queryResponseResult,
3417 { "result", "t124.result",
3418 FT_UINT32, BASE_DEC, VALS(t124_QueryResponseResult_vals), 0,
3419 "QueryResponseResult", HFILL }},
3420 { &hf_t124_waitForInvitationFlag,
3421 { "waitForInvitationFlag", "t124.waitForInvitationFlag",
3422 FT_BOOLEAN, BASE_NONE, NULL, 0,
3423 "BOOLEAN", HFILL }},
3424 { &hf_t124_noUnlistedConferenceFlag,
3425 { "noUnlistedConferenceFlag", "t124.noUnlistedConferenceFlag",
3426 FT_BOOLEAN, BASE_NONE, NULL, 0,
3427 "BOOLEAN", HFILL }},
3428 { &hf_t124_conferenceName_01,
3429 { "conferenceName", "t124.conferenceName",
3430 FT_UINT32, BASE_DEC, VALS(t124_ConferenceNameSelector_vals), 0,
3431 "ConferenceNameSelector", HFILL }},
3432 { &hf_t124_password_01,
3433 { "password", "t124.password",
3434 FT_UINT32, BASE_DEC, VALS(t124_PasswordChallengeRequestResponse_vals), 0,
3435 "PasswordChallengeRequestResponse", HFILL }},
3436 { &hf_t124_convenerPassword_01,
3437 { "convenerPassword", "t124.convenerPassword",
3438 FT_UINT32, BASE_DEC, VALS(t124_PasswordSelector_vals), 0,
3439 "PasswordSelector", HFILL }},
3440 { &hf_t124_nodeCategory,
3441 { "nodeCategory", "t124.nodeCategory",
3442 FT_UINT32, BASE_DEC, VALS(t124_NodeCategory_vals), 0,
3444 { &hf_t124_topNodeID,
3445 { "topNodeID", "t124.topNodeID",
3446 FT_UINT32, BASE_DEC, NULL, 0,
3448 { &hf_t124_conferenceNameAlias,
3449 { "conferenceNameAlias", "t124.conferenceNameAlias",
3450 FT_UINT32, BASE_DEC, VALS(t124_ConferenceNameSelector_vals), 0,
3451 "ConferenceNameSelector", HFILL }},
3452 { &hf_t124_joinResponseResult,
3453 { "result", "t124.result",
3454 FT_UINT32, BASE_DEC, VALS(t124_JoinResponseResult_vals), 0,
3455 "JoinResponseResult", HFILL }},
3456 { &hf_t124_inviteResponseResult,
3457 { "result", "t124.result",
3458 FT_UINT32, BASE_DEC, VALS(t124_InviteResponseResult_vals), 0,
3459 "InviteResponseResult", HFILL }},
3460 { &hf_t124_t124Identifier,
3461 { "t124Identifier", "t124.t124Identifier",
3462 FT_UINT32, BASE_DEC, VALS(t124_Key_vals), 0,
3464 { &hf_t124_connectPDU,
3465 { "connectPDU", "t124.connectPDU",
3466 FT_BYTES, BASE_NONE, NULL, 0,
3468 { &hf_t124_conferenceCreateRequest,
3469 { "conferenceCreateRequest", "t124.conferenceCreateRequest",
3470 FT_NONE, BASE_NONE, NULL, 0,
3472 { &hf_t124_conferenceCreateResponse,
3473 { "conferenceCreateResponse", "t124.conferenceCreateResponse",
3474 FT_NONE, BASE_NONE, NULL, 0,
3476 { &hf_t124_conferenceQueryRequest,
3477 { "conferenceQueryRequest", "t124.conferenceQueryRequest",
3478 FT_NONE, BASE_NONE, NULL, 0,
3480 { &hf_t124_conferenceQueryResponse,
3481 { "conferenceQueryResponse", "t124.conferenceQueryResponse",
3482 FT_NONE, BASE_NONE, NULL, 0,
3484 { &hf_t124_conferenceJoinRequest,
3485 { "conferenceJoinRequest", "t124.conferenceJoinRequest",
3486 FT_NONE, BASE_NONE, NULL, 0,
3488 { &hf_t124_conferenceJoinResponse,
3489 { "conferenceJoinResponse", "t124.conferenceJoinResponse",
3490 FT_NONE, BASE_NONE, NULL, 0,
3492 { &hf_t124_conferenceInviteRequest,
3493 { "conferenceInviteRequest", "t124.conferenceInviteRequest",
3494 FT_NONE, BASE_NONE, NULL, 0,
3496 { &hf_t124_conferenceInviteResponse,
3497 { "conferenceInviteResponse", "t124.conferenceInviteResponse",
3498 FT_NONE, BASE_NONE, NULL, 0,
3500 { &hf_t124_heightLimit,
3501 { "heightLimit", "t124.heightLimit",
3502 FT_UINT32, BASE_DEC, NULL, 0,
3503 "INTEGER_0_MAX", HFILL }},
3504 { &hf_t124_subHeight,
3505 { "subHeight", "t124.subHeight",
3506 FT_UINT32, BASE_DEC, NULL, 0,
3507 "INTEGER_0_MAX", HFILL }},
3508 { &hf_t124_subInterval,
3509 { "subInterval", "t124.subInterval",
3510 FT_UINT32, BASE_DEC, NULL, 0,
3511 "INTEGER_0_MAX", HFILL }},
3513 { "static", "t124.static",
3514 FT_NONE, BASE_NONE, NULL, 0,
3516 { &hf_t124_channelId,
3517 { "channelId", "t124.channelId",
3518 FT_UINT32, BASE_DEC, NULL, 0,
3519 "StaticChannelId", HFILL }},
3521 { "userId", "t124.userId",
3522 FT_NONE, BASE_NONE, NULL, 0,
3525 { "joined", "t124.joined",
3526 FT_BOOLEAN, BASE_NONE, NULL, 0,
3527 "BOOLEAN", HFILL }},
3528 { &hf_t124_userId_01,
3529 { "userId", "t124.userId",
3530 FT_UINT32, BASE_DEC, NULL, 0,
3533 { "private", "t124.private",
3534 FT_NONE, BASE_NONE, NULL, 0,
3536 { &hf_t124_channelId_01,
3537 { "channelId", "t124.channelId",
3538 FT_UINT32, BASE_DEC, NULL, 0,
3539 "PrivateChannelId", HFILL }},
3541 { "manager", "t124.manager",
3542 FT_UINT32, BASE_DEC, NULL, 0,
3544 { &hf_t124_admitted,
3545 { "admitted", "t124.admitted",
3546 FT_UINT32, BASE_DEC, NULL, 0,
3547 "SET_OF_UserId", HFILL }},
3548 { &hf_t124_admitted_item,
3549 { "UserId", "t124.UserId",
3550 FT_UINT32, BASE_DEC, NULL, 0,
3552 { &hf_t124_assigned,
3553 { "assigned", "t124.assigned",
3554 FT_NONE, BASE_NONE, NULL, 0,
3556 { &hf_t124_channelId_02,
3557 { "channelId", "t124.channelId",
3558 FT_UINT32, BASE_DEC, NULL, 0,
3559 "AssignedChannelId", HFILL }},
3560 { &hf_t124_mergeChannels,
3561 { "mergeChannels", "t124.mergeChannels",
3562 FT_UINT32, BASE_DEC, NULL, 0,
3563 "SET_OF_ChannelAttributes", HFILL }},
3564 { &hf_t124_mergeChannels_item,
3565 { "ChannelAttributes", "t124.ChannelAttributes",
3566 FT_UINT32, BASE_DEC, VALS(t124_ChannelAttributes_vals), 0,
3568 { &hf_t124_purgeChannelIds,
3569 { "purgeChannelIds", "t124.purgeChannelIds",
3570 FT_UINT32, BASE_DEC, NULL, 0,
3571 "SET_OF_ChannelId", HFILL }},
3572 { &hf_t124_purgeChannelIds_item,
3573 { "ChannelId", "t124.ChannelId",
3574 FT_UINT32, BASE_DEC, NULL, 0,
3576 { &hf_t124_detachUserIds,
3577 { "detachUserIds", "t124.detachUserIds",
3578 FT_UINT32, BASE_DEC, NULL, 0,
3579 "SET_OF_UserId", HFILL }},
3580 { &hf_t124_detachUserIds_item,
3581 { "UserId", "t124.UserId",
3582 FT_UINT32, BASE_DEC, NULL, 0,
3585 { "grabbed", "t124.grabbed",
3586 FT_NONE, BASE_NONE, NULL, 0,
3589 { "tokenId", "t124.tokenId",
3590 FT_UINT32, BASE_DEC, NULL, 0,
3593 { "grabber", "t124.grabber",
3594 FT_UINT32, BASE_DEC, NULL, 0,
3596 { &hf_t124_inhibited,
3597 { "inhibited", "t124.inhibited",
3598 FT_NONE, BASE_NONE, NULL, 0,
3600 { &hf_t124_inhibitors,
3601 { "inhibitors", "t124.inhibitors",
3602 FT_UINT32, BASE_DEC, NULL, 0,
3603 "SET_OF_UserId", HFILL }},
3604 { &hf_t124_inhibitors_item,
3605 { "UserId", "t124.UserId",
3606 FT_UINT32, BASE_DEC, NULL, 0,
3609 { "giving", "t124.giving",
3610 FT_NONE, BASE_NONE, NULL, 0,
3612 { &hf_t124_recipient,
3613 { "recipient", "t124.recipient",
3614 FT_UINT32, BASE_DEC, NULL, 0,
3616 { &hf_t124_ungivable,
3617 { "ungivable", "t124.ungivable",
3618 FT_NONE, BASE_NONE, NULL, 0,
3621 { "given", "t124.given",
3622 FT_NONE, BASE_NONE, NULL, 0,
3624 { &hf_t124_mergeTokens,
3625 { "mergeTokens", "t124.mergeTokens",
3626 FT_UINT32, BASE_DEC, NULL, 0,
3627 "SET_OF_TokenAttributes", HFILL }},
3628 { &hf_t124_mergeTokens_item,
3629 { "TokenAttributes", "t124.TokenAttributes",
3630 FT_UINT32, BASE_DEC, VALS(t124_TokenAttributes_vals), 0,
3632 { &hf_t124_purgeTokenIds,
3633 { "purgeTokenIds", "t124.purgeTokenIds",
3634 FT_UINT32, BASE_DEC, NULL, 0,
3635 "SET_OF_TokenId", HFILL }},
3636 { &hf_t124_purgeTokenIds_item,
3637 { "TokenId", "t124.TokenId",
3638 FT_UINT32, BASE_DEC, NULL, 0,
3641 { "reason", "t124.reason",
3642 FT_UINT32, BASE_DEC, VALS(t124_Reason_vals), 0,
3644 { &hf_t124_diagnostic,
3645 { "diagnostic", "t124.diagnostic",
3646 FT_UINT32, BASE_DEC, VALS(t124_Diagnostic_vals), 0,
3648 { &hf_t124_initialOctets,
3649 { "initialOctets", "t124.initialOctets",
3650 FT_BYTES, BASE_NONE, NULL, 0,
3651 "OCTET_STRING", HFILL }},
3652 { &hf_t124_result_01,
3653 { "result", "t124.result",
3654 FT_UINT32, BASE_DEC, VALS(t124_Result_vals), 0,
3656 { &hf_t124_initiator,
3657 { "initiator", "t124.initiator",
3658 FT_UINT32, BASE_DEC, NULL, 0,
3661 { "userIds", "t124.userIds",
3662 FT_UINT32, BASE_DEC, NULL, 0,
3663 "SET_OF_UserId", HFILL }},
3664 { &hf_t124_userIds_item,
3665 { "UserId", "t124.UserId",
3666 FT_UINT32, BASE_DEC, NULL, 0,
3668 { &hf_t124_channelId_03,
3669 { "channelId", "t124.channelId",
3670 FT_UINT32, BASE_DEC, NULL, 0,
3672 { &hf_t124_requested,
3673 { "requested", "t124.requested",
3674 FT_UINT32, BASE_DEC, NULL, 0,
3675 "ChannelId", HFILL }},
3676 { &hf_t124_channelIds,
3677 { "channelIds", "t124.channelIds",
3678 FT_UINT32, BASE_DEC, NULL, 0,
3679 "SET_OF_ChannelId", HFILL }},
3680 { &hf_t124_channelIds_item,
3681 { "ChannelId", "t124.ChannelId",
3682 FT_UINT32, BASE_DEC, NULL, 0,
3684 { &hf_t124_dataPriority,
3685 { "dataPriority", "t124.dataPriority",
3686 FT_UINT32, BASE_DEC, VALS(t124_DataPriority_vals), 0,
3688 { &hf_t124_segmentation,
3689 { "segmentation", "t124.segmentation",
3690 FT_BYTES, BASE_NONE, NULL, 0,
3692 { &hf_t124_userData_01,
3693 { "userData", "t124.userData",
3694 FT_BYTES, BASE_NONE, NULL, 0,
3696 { &hf_t124_userData_02,
3697 { "userData", "t124.userData",
3698 FT_BYTES, BASE_NONE, NULL, 0,
3699 "T_userData_01", HFILL }},
3700 { &hf_t124_userData_03,
3701 { "userData", "t124.userData",
3702 FT_BYTES, BASE_NONE, NULL, 0,
3703 "OCTET_STRING", HFILL }},
3704 { &hf_t124_tokenStatus,
3705 { "tokenStatus", "t124.tokenStatus",
3706 FT_UINT32, BASE_DEC, VALS(t124_TokenStatus_vals), 0,
3708 { &hf_t124_plumbDomainIndication,
3709 { "plumbDomainIndication", "t124.plumbDomainIndication",
3710 FT_NONE, BASE_NONE, NULL, 0,
3712 { &hf_t124_erectDomainRequest,
3713 { "erectDomainRequest", "t124.erectDomainRequest",
3714 FT_NONE, BASE_NONE, NULL, 0,
3716 { &hf_t124_mergeChannelsRequest,
3717 { "mergeChannelsRequest", "t124.mergeChannelsRequest",
3718 FT_NONE, BASE_NONE, NULL, 0,
3720 { &hf_t124_mergeChannelsConfirm,
3721 { "mergeChannelsConfirm", "t124.mergeChannelsConfirm",
3722 FT_NONE, BASE_NONE, NULL, 0,
3724 { &hf_t124_purgeChannelsIndication,
3725 { "purgeChannelsIndication", "t124.purgeChannelsIndication",
3726 FT_NONE, BASE_NONE, NULL, 0,
3728 { &hf_t124_mergeTokensRequest,
3729 { "mergeTokensRequest", "t124.mergeTokensRequest",
3730 FT_NONE, BASE_NONE, NULL, 0,
3732 { &hf_t124_mergeTokensConfirm,
3733 { "mergeTokensConfirm", "t124.mergeTokensConfirm",
3734 FT_NONE, BASE_NONE, NULL, 0,
3736 { &hf_t124_purgeTokensIndication,
3737 { "purgeTokensIndication", "t124.purgeTokensIndication",
3738 FT_NONE, BASE_NONE, NULL, 0,
3740 { &hf_t124_disconnectProviderUltimatum,
3741 { "disconnectProviderUltimatum", "t124.disconnectProviderUltimatum",
3742 FT_NONE, BASE_NONE, NULL, 0,
3744 { &hf_t124_rejectMCSPDUUltimatum,
3745 { "rejectMCSPDUUltimatum", "t124.rejectMCSPDUUltimatum",
3746 FT_NONE, BASE_NONE, NULL, 0,
3748 { &hf_t124_attachUserRequest,
3749 { "attachUserRequest", "t124.attachUserRequest",
3750 FT_NONE, BASE_NONE, NULL, 0,
3752 { &hf_t124_attachUserConfirm,
3753 { "attachUserConfirm", "t124.attachUserConfirm",
3754 FT_NONE, BASE_NONE, NULL, 0,
3756 { &hf_t124_detachUserRequest,
3757 { "detachUserRequest", "t124.detachUserRequest",
3758 FT_NONE, BASE_NONE, NULL, 0,
3760 { &hf_t124_detachUserIndication,
3761 { "detachUserIndication", "t124.detachUserIndication",
3762 FT_NONE, BASE_NONE, NULL, 0,
3764 { &hf_t124_channelJoinRequest,
3765 { "channelJoinRequest", "t124.channelJoinRequest",
3766 FT_NONE, BASE_NONE, NULL, 0,
3768 { &hf_t124_channelJoinConfirm,
3769 { "channelJoinConfirm", "t124.channelJoinConfirm",
3770 FT_NONE, BASE_NONE, NULL, 0,
3772 { &hf_t124_channelLeaveRequest,
3773 { "channelLeaveRequest", "t124.channelLeaveRequest",
3774 FT_NONE, BASE_NONE, NULL, 0,
3776 { &hf_t124_channelConveneRequest,
3777 { "channelConveneRequest", "t124.channelConveneRequest",
3778 FT_NONE, BASE_NONE, NULL, 0,
3780 { &hf_t124_channelConveneConfirm,
3781 { "channelConveneConfirm", "t124.channelConveneConfirm",
3782 FT_NONE, BASE_NONE, NULL, 0,
3784 { &hf_t124_channelDisbandRequest,
3785 { "channelDisbandRequest", "t124.channelDisbandRequest",
3786 FT_NONE, BASE_NONE, NULL, 0,
3788 { &hf_t124_channelDisbandIndication,
3789 { "channelDisbandIndication", "t124.channelDisbandIndication",
3790 FT_NONE, BASE_NONE, NULL, 0,
3792 { &hf_t124_channelAdmitRequest,
3793 { "channelAdmitRequest", "t124.channelAdmitRequest",
3794 FT_NONE, BASE_NONE, NULL, 0,
3796 { &hf_t124_channelAdmitIndication,
3797 { "channelAdmitIndication", "t124.channelAdmitIndication",
3798 FT_NONE, BASE_NONE, NULL, 0,
3800 { &hf_t124_channelExpelRequest,
3801 { "channelExpelRequest", "t124.channelExpelRequest",
3802 FT_NONE, BASE_NONE, NULL, 0,
3804 { &hf_t124_channelExpelIndication,
3805 { "channelExpelIndication", "t124.channelExpelIndication",
3806 FT_NONE, BASE_NONE, NULL, 0,
3808 { &hf_t124_sendDataRequest,
3809 { "sendDataRequest", "t124.sendDataRequest",
3810 FT_NONE, BASE_NONE, NULL, 0,
3812 { &hf_t124_sendDataIndication,
3813 { "sendDataIndication", "t124.sendDataIndication",
3814 FT_NONE, BASE_NONE, NULL, 0,
3816 { &hf_t124_uniformSendDataRequest,
3817 { "uniformSendDataRequest", "t124.uniformSendDataRequest",
3818 FT_NONE, BASE_NONE, NULL, 0,
3820 { &hf_t124_uniformSendDataIndication,
3821 { "uniformSendDataIndication", "t124.uniformSendDataIndication",
3822 FT_NONE, BASE_NONE, NULL, 0,
3824 { &hf_t124_tokenGrabRequest,
3825 { "tokenGrabRequest", "t124.tokenGrabRequest",
3826 FT_NONE, BASE_NONE, NULL, 0,
3828 { &hf_t124_tokenGrabConfirm,
3829 { "tokenGrabConfirm", "t124.tokenGrabConfirm",
3830 FT_NONE, BASE_NONE, NULL, 0,
3832 { &hf_t124_tokenInhibitRequest,
3833 { "tokenInhibitRequest", "t124.tokenInhibitRequest",
3834 FT_NONE, BASE_NONE, NULL, 0,
3836 { &hf_t124_tokenInhibitConfirm,
3837 { "tokenInhibitConfirm", "t124.tokenInhibitConfirm",
3838 FT_NONE, BASE_NONE, NULL, 0,
3840 { &hf_t124_tokenGiveRequest,
3841 { "tokenGiveRequest", "t124.tokenGiveRequest",
3842 FT_NONE, BASE_NONE, NULL, 0,
3844 { &hf_t124_tokenGiveIndication,
3845 { "tokenGiveIndication", "t124.tokenGiveIndication",
3846 FT_NONE, BASE_NONE, NULL, 0,
3848 { &hf_t124_tokenGiveResponse,
3849 { "tokenGiveResponse", "t124.tokenGiveResponse",
3850 FT_NONE, BASE_NONE, NULL, 0,
3852 { &hf_t124_tokenGiveConfirm,
3853 { "tokenGiveConfirm", "t124.tokenGiveConfirm",
3854 FT_NONE, BASE_NONE, NULL, 0,
3856 { &hf_t124_tokenPleaseRequest,
3857 { "tokenPleaseRequest", "t124.tokenPleaseRequest",
3858 FT_NONE, BASE_NONE, NULL, 0,
3860 { &hf_t124_tokenPleaseIndication,
3861 { "tokenPleaseIndication", "t124.tokenPleaseIndication",
3862 FT_NONE, BASE_NONE, NULL, 0,
3864 { &hf_t124_tokenReleaseRequest,
3865 { "tokenReleaseRequest", "t124.tokenReleaseRequest",
3866 FT_NONE, BASE_NONE, NULL, 0,
3868 { &hf_t124_tokenReleaseConfirm,
3869 { "tokenReleaseConfirm", "t124.tokenReleaseConfirm",
3870 FT_NONE, BASE_NONE, NULL, 0,
3872 { &hf_t124_tokenTestRequest,
3873 { "tokenTestRequest", "t124.tokenTestRequest",
3874 FT_NONE, BASE_NONE, NULL, 0,
3876 { &hf_t124_tokenTestConfirm,
3877 { "tokenTestConfirm", "t124.tokenTestConfirm",
3878 FT_NONE, BASE_NONE, NULL, 0,
3880 { &hf_t124_Segmentation_begin,
3881 { "begin", "t124.begin",
3882 FT_BOOLEAN, 8, NULL, 0x80,
3884 { &hf_t124_Segmentation_end,
3885 { "end", "t124.end",
3886 FT_BOOLEAN, 8, NULL, 0x40,
3889 /*--- End of included file: packet-t124-hfarr.c ---*/
3890 #line 188 "../../asn1/t124/packet-t124-template.c"
3893 /* List of subtrees */
3894 static gint *ett[] = {
3896 &ett_t124_connectGCCPDU,
3898 /*--- Included file: packet-t124-ettarr.c ---*/
3899 #line 1 "../../asn1/t124/packet-t124-ettarr.c"
3901 &ett_t124_NonStandardParameter,
3903 &ett_t124_UserData_item,
3905 &ett_t124_PasswordSelector,
3906 &ett_t124_ChallengeResponseItem,
3907 &ett_t124_ChallengeResponseAlgorithm,
3908 &ett_t124_ChallengeItem,
3909 &ett_t124_ChallengeRequest,
3910 &ett_t124_SET_OF_ChallengeItem,
3911 &ett_t124_ChallengeResponse,
3912 &ett_t124_PasswordChallengeRequestResponse,
3913 &ett_t124_T_challengeRequestResponse,
3914 &ett_t124_ConferenceName,
3915 &ett_t124_ConferenceNameSelector,
3916 &ett_t124_ConferencePriorityScheme,
3917 &ett_t124_ConferencePriority,
3918 &ett_t124_NodeCategory,
3919 &ett_t124_ConferenceMode,
3920 &ett_t124_NetworkAddress,
3921 &ett_t124_NetworkAddress_item,
3922 &ett_t124_T_aggregatedChannel,
3923 &ett_t124_T_transferModes,
3924 &ett_t124_T_highLayerCompatibility,
3925 &ett_t124_T_transportConnection,
3926 &ett_t124_AsymmetryIndicator,
3927 &ett_t124_ConferenceDescriptor,
3928 &ett_t124_ConferenceCreateRequest,
3929 &ett_t124_SET_OF_Privilege,
3930 &ett_t124_ConferenceCreateResponse,
3931 &ett_t124_ConferenceQueryRequest,
3932 &ett_t124_ConferenceQueryResponse,
3933 &ett_t124_SET_OF_ConferenceDescriptor,
3934 &ett_t124_ConferenceJoinRequest,
3935 &ett_t124_ConferenceJoinResponse,
3936 &ett_t124_ConferenceInviteRequest,
3937 &ett_t124_ConferenceInviteResponse,
3938 &ett_t124_ConnectData,
3939 &ett_t124_ConnectGCCPDU,
3940 &ett_t124_Segmentation,
3941 &ett_t124_PlumbDomainIndication,
3942 &ett_t124_ErectDomainRequest,
3943 &ett_t124_ChannelAttributes,
3946 &ett_t124_T_private,
3947 &ett_t124_SET_OF_UserId,
3948 &ett_t124_T_assigned,
3949 &ett_t124_MergeChannelsRequest,
3950 &ett_t124_SET_OF_ChannelAttributes,
3951 &ett_t124_SET_OF_ChannelId,
3952 &ett_t124_MergeChannelsConfirm,
3953 &ett_t124_PurgeChannelsIndication,
3954 &ett_t124_TokenAttributes,
3955 &ett_t124_T_grabbed,
3956 &ett_t124_T_inhibited,
3958 &ett_t124_T_ungivable,
3960 &ett_t124_MergeTokensRequest,
3961 &ett_t124_SET_OF_TokenAttributes,
3962 &ett_t124_SET_OF_TokenId,
3963 &ett_t124_MergeTokensConfirm,
3964 &ett_t124_PurgeTokensIndication,
3965 &ett_t124_DisconnectProviderUltimatum,
3966 &ett_t124_RejectMCSPDUUltimatum,
3967 &ett_t124_AttachUserRequest,
3968 &ett_t124_AttachUserConfirm,
3969 &ett_t124_DetachUserRequest,
3970 &ett_t124_DetachUserIndication,
3971 &ett_t124_ChannelJoinRequest,
3972 &ett_t124_ChannelJoinConfirm,
3973 &ett_t124_ChannelLeaveRequest,
3974 &ett_t124_ChannelConveneRequest,
3975 &ett_t124_ChannelConveneConfirm,
3976 &ett_t124_ChannelDisbandRequest,
3977 &ett_t124_ChannelDisbandIndication,
3978 &ett_t124_ChannelAdmitRequest,
3979 &ett_t124_ChannelAdmitIndication,
3980 &ett_t124_ChannelExpelRequest,
3981 &ett_t124_ChannelExpelIndication,
3982 &ett_t124_SendDataRequest,
3983 &ett_t124_SendDataIndication,
3984 &ett_t124_UniformSendDataRequest,
3985 &ett_t124_UniformSendDataIndication,
3986 &ett_t124_TokenGrabRequest,
3987 &ett_t124_TokenGrabConfirm,
3988 &ett_t124_TokenInhibitRequest,
3989 &ett_t124_TokenInhibitConfirm,
3990 &ett_t124_TokenGiveRequest,
3991 &ett_t124_TokenGiveIndication,
3992 &ett_t124_TokenGiveResponse,
3993 &ett_t124_TokenGiveConfirm,
3994 &ett_t124_TokenPleaseRequest,
3995 &ett_t124_TokenPleaseIndication,
3996 &ett_t124_TokenReleaseRequest,
3997 &ett_t124_TokenReleaseConfirm,
3998 &ett_t124_TokenTestRequest,
3999 &ett_t124_TokenTestConfirm,
4000 &ett_t124_DomainMCSPDU,
4002 /*--- End of included file: packet-t124-ettarr.c ---*/
4003 #line 195 "../../asn1/t124/packet-t124-template.c"
4006 /* Register protocol */
4007 proto_t124 = proto_register_protocol(PNAME, PSNAME, PFNAME);
4008 /* Register fields and subtrees */
4009 proto_register_field_array(proto_t124, hf, array_length(hf));
4010 proto_register_subtree_array(ett, array_length(ett));
4012 t124_ns_dissector_table = register_dissector_table("t124.ns", "T.124 H.221 Non Standard Dissectors", FT_STRING, BASE_NONE);
4013 t124_sd_dissector_table = register_dissector_table("t124.sd", "T.124 H.221 Send Data Dissectors", FT_UINT32, BASE_HEX);
4015 new_register_dissector("t124", dissect_t124_new, proto_t124);
4020 proto_reg_handoff_t124(void) {
4022 register_ber_oid_dissector("0.0.20.124.0.1", dissect_t124, proto_t124, "Generic Conference Control");
4024 heur_dissector_add("t125", dissect_t124_heur, proto_t124);