diff options
Diffstat (limited to 'epan/dissectors/packet-t124.c')
-rw-r--r-- | epan/dissectors/packet-t124.c | 7926 |
1 files changed, 7926 insertions, 0 deletions
diff --git a/epan/dissectors/packet-t124.c b/epan/dissectors/packet-t124.c new file mode 100644 index 0000000000..765f62b61c --- /dev/null +++ b/epan/dissectors/packet-t124.c @@ -0,0 +1,7926 @@ +/* Do not modify this file. */ +/* It is created automatically by the ASN.1 to Wireshark dissector compiler */ +/* packet-t124.c */ +/* ../../tools/asn2wrs.py -p t124 -c ./t124.cnf -s ./packet-t124-template -D . GCC-PROTOCOL.asn MCS-PROTOCOL.asn */ + +/* Input file: packet-t124-template.c */ + +#line 1 "../../asn1/t124/packet-t124-template.c" +/* packet-t124.c + * Routines for t124 packet dissection + * Copyright 2010, Graeme Lunt + * + * $Id$ + * + * Wireshark - Network traffic analyzer + * By Gerald Combs <gerald@wireshark.org> + * Copyright 1998 Gerald Combs + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + */ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include <glib.h> +#include <epan/packet.h> +#include <epan/conversation.h> + +#include <epan/asn1.h> +#include "packet-per.h" +#include "packet-ber.h" +#include "packet-t124.h" + +#define PNAME "GENERIC-CONFERENCE-CONTROL T.124" +#define PSNAME "T.124" +#define PFNAME "t124" + +/* Initialize the protocol and registered fields */ +static int proto_t124 = -1; +static proto_tree *top_tree = NULL; + + +/*--- Included file: packet-t124-hf.c ---*/ +#line 1 "../../asn1/t124/packet-t124-hf.c" +static int hf_t124_object = -1; /* T_object */ +static int hf_t124_h221NonStandard = -1; /* H221NonStandardIdentifier */ +static int hf_t124_key = -1; /* Key */ +static int hf_t124_data = -1; /* OCTET_STRING */ +static int hf_t124_UserData_item = -1; /* UserData_item */ +static int hf_t124_value = -1; /* T_value */ +static int hf_t124_numeric = -1; /* SimpleNumericString */ +static int hf_t124_text = -1; /* SimpleTextString */ +static int hf_t124_unicodeText = -1; /* TextString */ +static int hf_t124_passwordString = -1; /* PasswordSelector */ +static int hf_t124_responseData = -1; /* UserData */ +static int hf_t124_passwordInTheClear = -1; /* NULL */ +static int hf_t124_nonStandardAlgorithm = -1; /* NonStandardParameter */ +static int hf_t124_responseAlgorithm = -1; /* ChallengeResponseAlgorithm */ +static int hf_t124_challengeData = -1; /* UserData */ +static int hf_t124_challengeTag = -1; /* INTEGER */ +static int hf_t124_challengeSet = -1; /* SET_OF_ChallengeItem */ +static int hf_t124_challengeSet_item = -1; /* ChallengeItem */ +static int hf_t124_responseItem = -1; /* ChallengeResponseItem */ +static int hf_t124_passwordInTheClear_01 = -1; /* PasswordSelector */ +static int hf_t124_challengeRequestResponse = -1; /* T_challengeRequestResponse */ +static int hf_t124_challengeRequest = -1; /* ChallengeRequest */ +static int hf_t124_challengeResponse = -1; /* ChallengeResponse */ +static int hf_t124_nonStandardScheme = -1; /* NonStandardParameter */ +static int hf_t124_priority = -1; /* INTEGER_0_65535 */ +static int hf_t124_scheme = -1; /* ConferencePriorityScheme */ +static int hf_t124_conventional = -1; /* NULL */ +static int hf_t124_counted = -1; /* NULL */ +static int hf_t124_anonymous = -1; /* NULL */ +static int hf_t124_nonStandardCategory = -1; /* NonStandardParameter */ +static int hf_t124_conventional_only = -1; /* NULL */ +static int hf_t124_counted_only = -1; /* NULL */ +static int hf_t124_anonymous_only = -1; /* NULL */ +static int hf_t124_conventional_control = -1; /* NULL */ +static int hf_t124_unrestricted_mode = -1; /* NULL */ +static int hf_t124_non_standard_mode = -1; /* NonStandardParameter */ +static int hf_t124_NetworkAddress_item = -1; /* NetworkAddress_item */ +static int hf_t124_aggregatedChannel = -1; /* T_aggregatedChannel */ +static int hf_t124_transferModes = -1; /* T_transferModes */ +static int hf_t124_speech = -1; /* BOOLEAN */ +static int hf_t124_voice_band = -1; /* BOOLEAN */ +static int hf_t124_digital_56k = -1; /* BOOLEAN */ +static int hf_t124_digital_64k = -1; /* BOOLEAN */ +static int hf_t124_digital_128k = -1; /* BOOLEAN */ +static int hf_t124_digital_192k = -1; /* BOOLEAN */ +static int hf_t124_digital_256k = -1; /* BOOLEAN */ +static int hf_t124_digital_320k = -1; /* BOOLEAN */ +static int hf_t124_digital_384k = -1; /* BOOLEAN */ +static int hf_t124_digital_512k = -1; /* BOOLEAN */ +static int hf_t124_digital_768k = -1; /* BOOLEAN */ +static int hf_t124_digital_1152k = -1; /* BOOLEAN */ +static int hf_t124_digital_1472k = -1; /* BOOLEAN */ +static int hf_t124_digital_1536k = -1; /* BOOLEAN */ +static int hf_t124_digital_1920k = -1; /* BOOLEAN */ +static int hf_t124_packet_mode = -1; /* BOOLEAN */ +static int hf_t124_frame_mode = -1; /* BOOLEAN */ +static int hf_t124_atm = -1; /* BOOLEAN */ +static int hf_t124_internationalNumber = -1; /* DiallingString */ +static int hf_t124_subAddress = -1; /* SubAddressString */ +static int hf_t124_extraDialling = -1; /* ExtraDiallingString */ +static int hf_t124_highLayerCompatibility = -1; /* T_highLayerCompatibility */ +static int hf_t124_telephony3kHz = -1; /* BOOLEAN */ +static int hf_t124_telephony7kHz = -1; /* BOOLEAN */ +static int hf_t124_videotelephony = -1; /* BOOLEAN */ +static int hf_t124_videoconference = -1; /* BOOLEAN */ +static int hf_t124_audiographic = -1; /* BOOLEAN */ +static int hf_t124_audiovisual = -1; /* BOOLEAN */ +static int hf_t124_multimedia = -1; /* BOOLEAN */ +static int hf_t124_transportConnection = -1; /* T_transportConnection */ +static int hf_t124_nsapAddress = -1; /* OCTET_STRING_SIZE_1_20 */ +static int hf_t124_transportSelector = -1; /* OCTET_STRING */ +static int hf_t124_nonStandard = -1; /* NonStandardParameter */ +static int hf_t124_audio = -1; /* BOOLEAN */ +static int hf_t124_video = -1; /* BOOLEAN */ +static int hf_t124_data_01 = -1; /* BOOLEAN */ +static int hf_t124_h221 = -1; /* NULL */ +static int hf_t124_h244 = -1; /* NULL */ +static int hf_t124_iso_iec_13871 = -1; /* NULL */ +static int hf_t124_simpleProfile = -1; /* T_simpleProfile */ +static int hf_t124_speech_01 = -1; /* NULL */ +static int hf_t124_telephony_3kHz = -1; /* NULL */ +static int hf_t124_telephony_7kHz = -1; /* NULL */ +static int hf_t124_voice_band_01 = -1; /* NULL */ +static int hf_t124_frameRelay = -1; /* NULL */ +static int hf_t124_t123_pstn_basic = -1; /* NULL */ +static int hf_t124_t123_psdn_basic = -1; /* NULL */ +static int hf_t124_t123_b_isdn_basic = -1; /* NULL */ +static int hf_t124_multimediaProfile = -1; /* T_multimediaProfile */ +static int hf_t124_profile = -1; /* T_profile */ +static int hf_t124_h310 = -1; /* NULL */ +static int hf_t124_h320 = -1; /* NULL */ +static int hf_t124_h321 = -1; /* NULL */ +static int hf_t124_h322 = -1; /* NULL */ +static int hf_t124_h323 = -1; /* NULL */ +static int hf_t124_h324 = -1; /* NULL */ +static int hf_t124_h324m = -1; /* NULL */ +static int hf_t124_asvd = -1; /* NULL */ +static int hf_t124_dsvd = -1; /* NULL */ +static int hf_t124_t120Data = -1; /* BOOLEAN */ +static int hf_t124_dsmccDownloadProfile = -1; /* NULL */ +static int hf_t124_networkAddress = -1; /* ExtendedE164NetworkAddress */ +static int hf_t124_iSDNCircuitTypes = -1; /* ISDNCircuitTypes */ +static int hf_t124_iSDNCircuitTypes_item = -1; /* ISDNCircuitTypes_item */ +static int hf_t124_digital_64k_01 = -1; /* NULL */ +static int hf_t124_digital_2x64k = -1; /* NULL */ +static int hf_t124_digital_384k_01 = -1; /* NULL */ +static int hf_t124_digital_1536 = -1; /* NULL */ +static int hf_t124_digital_1920k_01 = -1; /* NULL */ +static int hf_t124_multirate_base_64k = -1; /* INTEGER_1_30 */ +static int hf_t124_iSDNHighLayerCompatibility = -1; /* ISDNHighLayerCompatibility */ +static int hf_t124_circuitTypes = -1; /* T_circuitTypes */ +static int hf_t124_circuitTypes_item = -1; /* T_circuitTypes_item */ +static int hf_t124_digital_56k_01 = -1; /* NULL */ +static int hf_t124_pSDNNetworkAddress = -1; /* PSDNNetworkAddress */ +static int hf_t124_extendedE164NetworkAddress = -1; /* ExtendedE164NetworkAddress */ +static int hf_t124_transportAddress = -1; /* TransportAddress */ +static int hf_t124_networkAddress_01 = -1; /* T_networkAddress */ +static int hf_t124_extendedE164 = -1; /* ExtendedE164NetworkAddress */ +static int hf_t124_nsapAddress_01 = -1; /* TransportAddress */ +static int hf_t124_maxTransferRate = -1; /* INTEGER_0_MAX */ +static int hf_t124_gstnConnection = -1; /* GSTNConnection */ +static int hf_t124_isdnConnection = -1; /* ISDNConnection */ +static int hf_t124_csdnConnection = -1; /* CSDNConnection */ +static int hf_t124_psdnConnection = -1; /* PSDNConnection */ +static int hf_t124_atmConnection = -1; /* ATMConnection */ +static int hf_t124_NetworkAddressV2_item = -1; /* NetworkAddressV2_item */ +static int hf_t124_networkConnection = -1; /* T_networkConnection */ +static int hf_t124_singleConnection = -1; /* NetworkConnection */ +static int hf_t124_aggregatedConnections = -1; /* T_aggregatedConnections */ +static int hf_t124_connectionList = -1; /* T_connectionList */ +static int hf_t124_connectionList_item = -1; /* T_connectionList_item */ +static int hf_t124_aggregationMethods = -1; /* SET_OF_ChannelAggregationMethod */ +static int hf_t124_aggregationMethods_item = -1; /* ChannelAggregationMethod */ +static int hf_t124_profiles = -1; /* SET_OF_Profile */ +static int hf_t124_profiles_item = -1; /* Profile */ +static int hf_t124_mediaConcerned = -1; /* MediaList */ +static int hf_t124_managementDevice = -1; /* BOOLEAN */ +static int hf_t124_peripheralDevice = -1; /* BOOLEAN */ +static int hf_t124_callingNode = -1; /* NULL */ +static int hf_t124_calledNode = -1; /* NULL */ +static int hf_t124_unknown = -1; /* INTEGER_0_4294967295 */ +static int hf_t124_h243NodeID = -1; /* OCTET_STRING_SIZE_2 */ +static int hf_t124_conferenceName = -1; /* ConferenceName */ +static int hf_t124_conferenceNameModifier = -1; /* ConferenceNameModifier */ +static int hf_t124_conferenceDescription = -1; /* TextString */ +static int hf_t124_lockedConference = -1; /* BOOLEAN */ +static int hf_t124_passwordInTheClearRequired = -1; /* BOOLEAN */ +static int hf_t124_networkAddress_02 = -1; /* NetworkAddress */ +static int hf_t124_defaultConferenceFlag = -1; /* BOOLEAN */ +static int hf_t124_conferenceMode = -1; /* ConferenceMode */ +static int hf_t124_superiorNode = -1; /* UserID */ +static int hf_t124_nodeType = -1; /* NodeType */ +static int hf_t124_nodeProperties = -1; /* NodeProperties */ +static int hf_t124_nodeName = -1; /* TextString */ +static int hf_t124_participantsList = -1; /* SEQUENCE_OF_TextString */ +static int hf_t124_participantsList_item = -1; /* TextString */ +static int hf_t124_siteInformation = -1; /* TextString */ +static int hf_t124_alternativeNodeID = -1; /* AlternativeNodeID */ +static int hf_t124_userData = -1; /* UserData */ +static int hf_t124_nodeCategory = -1; /* NodeCategory */ +static int hf_t124_networkAddressV2 = -1; /* NetworkAddressV2 */ +static int hf_t124_applicationProtocolKey = -1; /* Key */ +static int hf_t124_sessionID = -1; /* ChannelID */ +static int hf_t124_applicationActive = -1; /* BOOLEAN */ +static int hf_t124_conductingOperationCapable = -1; /* BOOLEAN */ +static int hf_t124_startupChannel = -1; /* ChannelType */ +static int hf_t124_applicationUserID = -1; /* UserID */ +static int hf_t124_nonCollapsingCapabilities = -1; /* T_nonCollapsingCapabilities */ +static int hf_t124_nonCollapsingCapabilities_item = -1; /* T_nonCollapsingCapabilities_item */ +static int hf_t124_capabilityID = -1; /* CapabilityID */ +static int hf_t124_applicationData = -1; /* OCTET_STRING */ +static int hf_t124_standard = -1; /* INTEGER_0_65535 */ +static int hf_t124_nonStandard_01 = -1; /* Key */ +static int hf_t124_logical = -1; /* NULL */ +static int hf_t124_unsignedMin = -1; /* INTEGER_0_MAX */ +static int hf_t124_unsignedMax = -1; /* INTEGER_0_MAX */ +static int hf_t124_sessionKey = -1; /* SessionKey */ +static int hf_t124_expectedCapabilitySet = -1; /* T_expectedCapabilitySet */ +static int hf_t124_expectedCapabilitySet_item = -1; /* T_expectedCapabilitySet_item */ +static int hf_t124_capabilityClass = -1; /* CapabilityClass */ +static int hf_t124_mandatoryFlag = -1; /* BOOLEAN */ +static int hf_t124_resourceID = -1; /* OCTET_STRING_SIZE_0_64 */ +static int hf_t124_channelID = -1; /* DynamicChannelID */ +static int hf_t124_tokenID = -1; /* DynamicTokenID */ +static int hf_t124_parameter = -1; /* OCTET_STRING_SIZE_0_64 */ +static int hf_t124_vacant = -1; /* NULL */ +static int hf_t124_owned = -1; /* T_owned */ +static int hf_t124_nodeID = -1; /* UserID */ +static int hf_t124_entityID = -1; /* EntityID */ +static int hf_t124_notOwned = -1; /* NULL */ +static int hf_t124_tag = -1; /* INTEGER */ +static int hf_t124_convenerPassword = -1; /* Password */ +static int hf_t124_password = -1; /* Password */ +static int hf_t124_listedConference = -1; /* BOOLEAN */ +static int hf_t124_conductibleConference = -1; /* BOOLEAN */ +static int hf_t124_terminationMethod = -1; /* TerminationMethod */ +static int hf_t124_conductorPrivileges = -1; /* SET_OF_Privilege */ +static int hf_t124_conductorPrivileges_item = -1; /* Privilege */ +static int hf_t124_conductedPrivileges = -1; /* SET_OF_Privilege */ +static int hf_t124_conductedPrivileges_item = -1; /* Privilege */ +static int hf_t124_nonConductedPrivileges = -1; /* SET_OF_Privilege */ +static int hf_t124_nonConductedPrivileges_item = -1; /* Privilege */ +static int hf_t124_callerIdentifier = -1; /* TextString */ +static int hf_t124_conferencePriority = -1; /* ConferencePriority */ +static int hf_t124_result = -1; /* T_result */ +static int hf_t124_asymmetryIndicator = -1; /* AsymmetryIndicator */ +static int hf_t124_conferenceList = -1; /* SET_OF_ConferenceDescriptor */ +static int hf_t124_conferenceList_item = -1; /* ConferenceDescriptor */ +static int hf_t124_queryResponseResult = -1; /* QueryResponseResult */ +static int hf_t124_waitForInvitationFlag = -1; /* BOOLEAN */ +static int hf_t124_noUnlistedConferenceFlag = -1; /* BOOLEAN */ +static int hf_t124_conferenceName_01 = -1; /* ConferenceNameSelector */ +static int hf_t124_password_01 = -1; /* PasswordChallengeRequestResponse */ +static int hf_t124_convenerPassword_01 = -1; /* PasswordSelector */ +static int hf_t124_topNodeID = -1; /* UserID */ +static int hf_t124_conferenceNameAlias = -1; /* ConferenceNameSelector */ +static int hf_t124_joinResponseResult = -1; /* JoinResponseResult */ +static int hf_t124_inviteResponseResult = -1; /* InviteResponseResult */ +static int hf_t124_requestingNode = -1; /* UserID */ +static int hf_t124_addingMCU = -1; /* UserID */ +static int hf_t124_addResponseResult = -1; /* AddResponseResult */ +static int hf_t124_lockResponseResult = -1; /* LockResponseResult */ +static int hf_t124_unlockResponseResult = -1; /* UnlockResponseResult */ +static int hf_t124_terminateRequestReason = -1; /* TerminateRequestReason */ +static int hf_t124_terminateResponseResult = -1; /* TerminateResponseResult */ +static int hf_t124_terminateIndicationReason = -1; /* TerminateIndicationReason */ +static int hf_t124_nodeToEject = -1; /* UserID */ +static int hf_t124_ejectUserRequestReason = -1; /* EjectUserRequestReason */ +static int hf_t124_ejectUserResponseResult = -1; /* EjectUserResponseResult */ +static int hf_t124_reason = -1; /* T_reason */ +static int hf_t124_transferringNodes = -1; /* SET_SIZE_1_65536_OF_UserID */ +static int hf_t124_transferringNodes_item = -1; /* UserID */ +static int hf_t124_password_02 = -1; /* PasswordSelector */ +static int hf_t124_transferResponseResult = -1; /* TransferResponseResult */ +static int hf_t124_fullRefresh = -1; /* BOOLEAN */ +static int hf_t124_nodeInformation = -1; /* T_nodeInformation */ +static int hf_t124_nodeRecordList = -1; /* T_nodeRecordList */ +static int hf_t124_noChange = -1; /* NULL */ +static int hf_t124_nodeRefresh = -1; /* NodeRefresh */ +static int hf_t124_nodeRefresh_item = -1; /* T_nodeRefresh_item */ +static int hf_t124_nodeRecord = -1; /* NodeRecord */ +static int hf_t124_update = -1; /* T_update */ +static int hf_t124_update_item = -1; /* T_update_item */ +static int hf_t124_nodeUpdate = -1; /* T_nodeUpdate */ +static int hf_t124_addRecord = -1; /* NodeRecord */ +static int hf_t124_replaceRecord = -1; /* NodeRecord */ +static int hf_t124_removeRecord = -1; /* NULL */ +static int hf_t124_rosterInstanceNumber = -1; /* INTEGER_0_65535 */ +static int hf_t124_nodesAdded = -1; /* BOOLEAN */ +static int hf_t124_nodesRemoved = -1; /* BOOLEAN */ +static int hf_t124_applicationInformation = -1; /* T_applicationInformation */ +static int hf_t124_applicationInformation_item = -1; /* T_applicationInformation_item */ +static int hf_t124_applicationRecordList = -1; /* T_applicationRecordList */ +static int hf_t124_applicationRefresh = -1; /* ApplicationRefresh */ +static int hf_t124_applicationRefresh_item = -1; /* T_applicationRefresh_item */ +static int hf_t124_applicationRecord = -1; /* ApplicationRecord */ +static int hf_t124_applicationUpdate = -1; /* ApplicationUpdate */ +static int hf_t124_applicationUpdateItem = -1; /* ApplicationUpdateItem */ +static int hf_t124_applicationUpdate_01 = -1; /* T_applicationUpdate */ +static int hf_t124_addRecord_01 = -1; /* ApplicationRecord */ +static int hf_t124_replaceRecord_01 = -1; /* ApplicationRecord */ +static int hf_t124_applicationCapabilitiesList = -1; /* T_applicationCapabilitiesList */ +static int hf_t124_refresh = -1; /* T_refresh */ +static int hf_t124_refresh_item = -1; /* T_refresh_item */ +static int hf_t124_numberOfEntities = -1; /* INTEGER_1_65536 */ +static int hf_t124_peerEntitiesAdded = -1; /* BOOLEAN */ +static int hf_t124_peerEntitiesRemoved = -1; /* BOOLEAN */ +static int hf_t124_applicationProtocolEntiyList = -1; /* SET_SIZE_1_65536_OF_ApplicationInvokeSpecifier */ +static int hf_t124_applicationProtocolEntiyList_item = -1; /* ApplicationInvokeSpecifier */ +static int hf_t124_destinationNodes = -1; /* SET_SIZE_1_65536_OF_UserID */ +static int hf_t124_destinationNodes_item = -1; /* UserID */ +static int hf_t124_key_01 = -1; /* RegistryKey */ +static int hf_t124_modificationRights = -1; /* RegistryModificationRights */ +static int hf_t124_item = -1; /* RegistryItem */ +static int hf_t124_owner = -1; /* RegistryEntryOwner */ +static int hf_t124_numberOfHandles = -1; /* INTEGER_1_1024 */ +static int hf_t124_firstHandle = -1; /* Handle */ +static int hf_t124_allocateHandleResponseResult = -1; /* AllocateHandleResponseResult */ +static int hf_t124_primitiveType = -1; /* T_primitiveType */ +static int hf_t124_result_01 = -1; /* T_result_01 */ +static int hf_t124_conductingNode = -1; /* UserID */ +static int hf_t124_grantFlag = -1; /* BOOLEAN */ +static int hf_t124_permissionList = -1; /* SEQUENCE_SIZE_0_65535_OF_UserID */ +static int hf_t124_permissionList_item = -1; /* UserID */ +static int hf_t124_waitingList = -1; /* SEQUENCE_SIZE_1_65536_OF_UserID */ +static int hf_t124_waitingList_item = -1; /* UserID */ +static int hf_t124_timeRemaining = -1; /* Time */ +static int hf_t124_nodeSpecificTimeFlag = -1; /* BOOLEAN */ +static int hf_t124_timeToExtend = -1; /* Time */ +static int hf_t124_message = -1; /* TextString */ +static int hf_t124_request = -1; /* RequestPDU */ +static int hf_t124_data_02 = -1; /* NonStandardParameter */ +static int hf_t124_t124Identifier = -1; /* Key */ +static int hf_t124_connectPDU = -1; /* T_connectPDU */ +static int hf_t124_conferenceCreateRequest = -1; /* ConferenceCreateRequest */ +static int hf_t124_conferenceCreateResponse = -1; /* ConferenceCreateResponse */ +static int hf_t124_conferenceQueryRequest = -1; /* ConferenceQueryRequest */ +static int hf_t124_conferenceQueryResponse = -1; /* ConferenceQueryResponse */ +static int hf_t124_conferenceJoinRequest = -1; /* ConferenceJoinRequest */ +static int hf_t124_conferenceJoinResponse = -1; /* ConferenceJoinResponse */ +static int hf_t124_conferenceInviteRequest = -1; /* ConferenceInviteRequest */ +static int hf_t124_conferenceInviteResponse = -1; /* ConferenceInviteResponse */ +static int hf_t124_conferenceAddRequest = -1; /* ConferenceAddRequest */ +static int hf_t124_conferenceLockRequest = -1; /* ConferenceLockRequest */ +static int hf_t124_conferenceUnlockRequest = -1; /* ConferenceUnlockRequest */ +static int hf_t124_conferenceTerminateRequest = -1; /* ConferenceTerminateRequest */ +static int hf_t124_conferenceEjectUserRequest = -1; /* ConferenceEjectUserRequest */ +static int hf_t124_conferenceTransferRequest = -1; /* ConferenceTransferRequest */ +static int hf_t124_registryRegisterChannelRequest = -1; /* RegistryRegisterChannelRequest */ +static int hf_t124_registryAssignTokenRequest = -1; /* RegistryAssignTokenRequest */ +static int hf_t124_registrySetParameterRequest = -1; /* RegistrySetParameterRequest */ +static int hf_t124_registryRetrieveEntryRequest = -1; /* RegistryRetrieveEntryRequest */ +static int hf_t124_registryDeleteEntryRequest = -1; /* RegistryDeleteEntryRequest */ +static int hf_t124_registryMonitorEntryRequest = -1; /* RegistryMonitorEntryRequest */ +static int hf_t124_registryAllocateHandleRequest = -1; /* RegistryAllocateHandleRequest */ +static int hf_t124_nonStandardRequest = -1; /* NonStandardPDU */ +static int hf_t124_conferenceAddResponse = -1; /* ConferenceAddResponse */ +static int hf_t124_conferenceLockResponse = -1; /* ConferenceLockResponse */ +static int hf_t124_conferenceUnlockResponse = -1; /* ConferenceUnlockResponse */ +static int hf_t124_conferenceTerminateResponse = -1; /* ConferenceTerminateResponse */ +static int hf_t124_conferenceEjectUserResponse = -1; /* ConferenceEjectUserResponse */ +static int hf_t124_conferenceTransferResponse = -1; /* ConferenceTransferResponse */ +static int hf_t124_registryResponse = -1; /* RegistryResponse */ +static int hf_t124_registryAllocateHandleResponse = -1; /* RegistryAllocateHandleResponse */ +static int hf_t124_functionNotSupportedResponse = -1; /* FunctionNotSupportedResponse */ +static int hf_t124_nonStandardResponse = -1; /* NonStandardPDU */ +static int hf_t124_userIDIndication = -1; /* UserIDIndication */ +static int hf_t124_conferenceLockIndication = -1; /* ConferenceLockIndication */ +static int hf_t124_conferenceUnlockIndication = -1; /* ConferenceUnlockIndication */ +static int hf_t124_conferenceTerminateIndication = -1; /* ConferenceTerminateIndication */ +static int hf_t124_conferenceEjectUserIndication = -1; /* ConferenceEjectUserIndication */ +static int hf_t124_conferenceTransferIndication = -1; /* ConferenceTransferIndication */ +static int hf_t124_rosterUpdateIndication = -1; /* RosterUpdateIndication */ +static int hf_t124_applicationInvokeIndication = -1; /* ApplicationInvokeIndication */ +static int hf_t124_registryMonitorEntryIndication = -1; /* RegistryMonitorEntryIndication */ +static int hf_t124_conductorAssignIndication = -1; /* ConductorAssignIndication */ +static int hf_t124_conductorReleaseIndication = -1; /* ConductorReleaseIndication */ +static int hf_t124_conductorPermissionAskIndication = -1; /* ConductorPermissionAskIndication */ +static int hf_t124_conductorPermissionGrantIndication = -1; /* ConductorPermissionGrantIndication */ +static int hf_t124_conferenceTimeRemainingIndication = -1; /* ConferenceTimeRemainingIndication */ +static int hf_t124_conferenceTimeInquireIndication = -1; /* ConferenceTimeInquireIndication */ +static int hf_t124_conferenceTimeExtendIndication = -1; /* ConferenceTimeExtendIndication */ +static int hf_t124_conferenceAssistanceIndication = -1; /* ConferenceAssistanceIndication */ +static int hf_t124_textMessageIndication = -1; /* TextMessageIndication */ +static int hf_t124_nonStandardIndication = -1; /* NonStandardPDU */ +static int hf_t124_maxChannelIds = -1; /* INTEGER_0_MAX */ +static int hf_t124_maxUserIds = -1; /* INTEGER_0_MAX */ +static int hf_t124_maxTokenIds = -1; /* INTEGER_0_MAX */ +static int hf_t124_numPriorities = -1; /* INTEGER_0_MAX */ +static int hf_t124_minThroughput = -1; /* INTEGER_0_MAX */ +static int hf_t124_maxHeight = -1; /* INTEGER_0_MAX */ +static int hf_t124_maxMCSPDUsize = -1; /* INTEGER_0_MAX */ +static int hf_t124_protocolVersion = -1; /* INTEGER_0_MAX */ +static int hf_t124_callingDomainSelector = -1; /* OCTET_STRING */ +static int hf_t124_calledDomainSelector = -1; /* OCTET_STRING */ +static int hf_t124_upwardFlag = -1; /* BOOLEAN */ +static int hf_t124_targetParameters = -1; /* DomainParameters */ +static int hf_t124_minimumParameters = -1; /* DomainParameters */ +static int hf_t124_maximumParameters = -1; /* DomainParameters */ +static int hf_t124_userData_01 = -1; /* OCTET_STRING */ +static int hf_t124_result_02 = -1; /* Result */ +static int hf_t124_calledConnectId = -1; /* INTEGER_0_MAX */ +static int hf_t124_domainParameters = -1; /* DomainParameters */ +static int hf_t124_dataPriority = -1; /* DataPriority */ +static int hf_t124_heightLimit = -1; /* INTEGER_0_MAX */ +static int hf_t124_subHeight = -1; /* INTEGER_0_MAX */ +static int hf_t124_subInterval = -1; /* INTEGER_0_MAX */ +static int hf_t124_static = -1; /* T_static */ +static int hf_t124_channelId = -1; /* StaticChannelId */ +static int hf_t124_userId = -1; /* T_userId */ +static int hf_t124_joined = -1; /* BOOLEAN */ +static int hf_t124_userId_01 = -1; /* UserId */ +static int hf_t124_private = -1; /* T_private */ +static int hf_t124_channelId_01 = -1; /* PrivateChannelId */ +static int hf_t124_manager = -1; /* UserId */ +static int hf_t124_admitted = -1; /* SET_OF_UserId */ +static int hf_t124_admitted_item = -1; /* UserId */ +static int hf_t124_assigned = -1; /* T_assigned */ +static int hf_t124_channelId_02 = -1; /* AssignedChannelId */ +static int hf_t124_mergeChannels = -1; /* SET_OF_ChannelAttributes */ +static int hf_t124_mergeChannels_item = -1; /* ChannelAttributes */ +static int hf_t124_purgeChannelIds = -1; /* SET_OF_ChannelId */ +static int hf_t124_purgeChannelIds_item = -1; /* ChannelId */ +static int hf_t124_detachUserIds = -1; /* SET_OF_UserId */ +static int hf_t124_detachUserIds_item = -1; /* UserId */ +static int hf_t124_grabbed = -1; /* T_grabbed */ +static int hf_t124_tokenId = -1; /* TokenId */ +static int hf_t124_grabber = -1; /* UserId */ +static int hf_t124_inhibited = -1; /* T_inhibited */ +static int hf_t124_inhibitors = -1; /* SET_OF_UserId */ +static int hf_t124_inhibitors_item = -1; /* UserId */ +static int hf_t124_giving = -1; /* T_giving */ +static int hf_t124_recipient = -1; /* UserId */ +static int hf_t124_ungivable = -1; /* T_ungivable */ +static int hf_t124_given = -1; /* T_given */ +static int hf_t124_mergeTokens = -1; /* SET_OF_TokenAttributes */ +static int hf_t124_mergeTokens_item = -1; /* TokenAttributes */ +static int hf_t124_purgeTokenIds = -1; /* SET_OF_TokenId */ +static int hf_t124_purgeTokenIds_item = -1; /* TokenId */ +static int hf_t124_reason_01 = -1; /* Reason */ +static int hf_t124_diagnostic = -1; /* Diagnostic */ +static int hf_t124_initialOctets = -1; /* OCTET_STRING */ +static int hf_t124_initiator = -1; /* UserId */ +static int hf_t124_userIds = -1; /* SET_OF_UserId */ +static int hf_t124_userIds_item = -1; /* UserId */ +static int hf_t124_channelId_03 = -1; /* ChannelId */ +static int hf_t124_requested = -1; /* ChannelId */ +static int hf_t124_channelIds = -1; /* SET_OF_ChannelId */ +static int hf_t124_channelIds_item = -1; /* ChannelId */ +static int hf_t124_segmentation = -1; /* Segmentation */ +static int hf_t124_userData_02 = -1; /* T_userData */ +static int hf_t124_userData_03 = -1; /* T_userData_01 */ +static int hf_t124_tokenStatus = -1; /* TokenStatus */ +static int hf_t124_connect_initial = -1; /* Connect_Initial */ +static int hf_t124_connect_response = -1; /* Connect_Response */ +static int hf_t124_connect_additional = -1; /* Connect_Additional */ +static int hf_t124_connect_result = -1; /* Connect_Result */ +static int hf_t124_plumbDomainIndication = -1; /* PlumbDomainIndication */ +static int hf_t124_erectDomainRequest = -1; /* ErectDomainRequest */ +static int hf_t124_mergeChannelsRequest = -1; /* MergeChannelsRequest */ +static int hf_t124_mergeChannelsConfirm = -1; /* MergeChannelsConfirm */ +static int hf_t124_purgeChannelsIndication = -1; /* PurgeChannelsIndication */ +static int hf_t124_mergeTokensRequest = -1; /* MergeTokensRequest */ +static int hf_t124_mergeTokensConfirm = -1; /* MergeTokensConfirm */ +static int hf_t124_purgeTokensIndication = -1; /* PurgeTokensIndication */ +static int hf_t124_disconnectProviderUltimatum = -1; /* DisconnectProviderUltimatum */ +static int hf_t124_rejectMCSPDUUltimatum = -1; /* RejectMCSPDUUltimatum */ +static int hf_t124_attachUserRequest = -1; /* AttachUserRequest */ +static int hf_t124_attachUserConfirm = -1; /* AttachUserConfirm */ +static int hf_t124_detachUserRequest = -1; /* DetachUserRequest */ +static int hf_t124_detachUserIndication = -1; /* DetachUserIndication */ +static int hf_t124_channelJoinRequest = -1; /* ChannelJoinRequest */ +static int hf_t124_channelJoinConfirm = -1; /* ChannelJoinConfirm */ +static int hf_t124_channelLeaveRequest = -1; /* ChannelLeaveRequest */ +static int hf_t124_channelConveneRequest = -1; /* ChannelConveneRequest */ +static int hf_t124_channelConveneConfirm = -1; /* ChannelConveneConfirm */ +static int hf_t124_channelDisbandRequest = -1; /* ChannelDisbandRequest */ +static int hf_t124_channelDisbandIndication = -1; /* ChannelDisbandIndication */ +static int hf_t124_channelAdmitRequest = -1; /* ChannelAdmitRequest */ +static int hf_t124_channelAdmitIndication = -1; /* ChannelAdmitIndication */ +static int hf_t124_channelExpelRequest = -1; /* ChannelExpelRequest */ +static int hf_t124_channelExpelIndication = -1; /* ChannelExpelIndication */ +static int hf_t124_sendDataRequest = -1; /* SendDataRequest */ +static int hf_t124_sendDataIndication = -1; /* SendDataIndication */ +static int hf_t124_uniformSendDataRequest = -1; /* UniformSendDataRequest */ +static int hf_t124_uniformSendDataIndication = -1; /* UniformSendDataIndication */ +static int hf_t124_tokenGrabRequest = -1; /* TokenGrabRequest */ +static int hf_t124_tokenGrabConfirm = -1; /* TokenGrabConfirm */ +static int hf_t124_tokenInhibitRequest = -1; /* TokenInhibitRequest */ +static int hf_t124_tokenInhibitConfirm = -1; /* TokenInhibitConfirm */ +static int hf_t124_tokenGiveRequest = -1; /* TokenGiveRequest */ +static int hf_t124_tokenGiveIndication = -1; /* TokenGiveIndication */ +static int hf_t124_tokenGiveResponse = -1; /* TokenGiveResponse */ +static int hf_t124_tokenGiveConfirm = -1; /* TokenGiveConfirm */ +static int hf_t124_tokenPleaseRequest = -1; /* TokenPleaseRequest */ +static int hf_t124_tokenPleaseIndication = -1; /* TokenPleaseIndication */ +static int hf_t124_tokenReleaseRequest = -1; /* TokenReleaseRequest */ +static int hf_t124_tokenReleaseConfirm = -1; /* TokenReleaseConfirm */ +static int hf_t124_tokenTestRequest = -1; /* TokenTestRequest */ +static int hf_t124_tokenTestConfirm = -1; /* TokenTestConfirm */ +/* named bits */ +static int hf_t124_Segmentation_begin = -1; +static int hf_t124_Segmentation_end = -1; + +/*--- End of included file: packet-t124-hf.c ---*/ +#line 49 "../../asn1/t124/packet-t124-template.c" + +/* Initialize the subtree pointers */ +static int ett_t124 = -1; +static int ett_t124_connectGCCPDU = -1; + +static int hf_t124_ConnectData = -1; +static int hf_t124_connectGCCPDU = -1; +static int hf_t124_DomainMCSPDU_PDU = -1; + +static guint32 channelId = -1; + +static const char *t124Identifier = NULL; /* extensions identifier */ +static tvbuff_t *t124NSIdentifier = NULL; /* extensions non-standard identifier */ +static dissector_table_t t124_ns_dissector_table=NULL; +static dissector_table_t t124_sd_dissector_table=NULL; + + +/*--- Included file: packet-t124-ett.c ---*/ +#line 1 "../../asn1/t124/packet-t124-ett.c" +static gint ett_t124_Key = -1; +static gint ett_t124_NonStandardParameter = -1; +static gint ett_t124_UserData = -1; +static gint ett_t124_UserData_item = -1; +static gint ett_t124_Password = -1; +static gint ett_t124_PasswordSelector = -1; +static gint ett_t124_ChallengeResponseItem = -1; +static gint ett_t124_ChallengeResponseAlgorithm = -1; +static gint ett_t124_ChallengeItem = -1; +static gint ett_t124_ChallengeRequest = -1; +static gint ett_t124_SET_OF_ChallengeItem = -1; +static gint ett_t124_ChallengeResponse = -1; +static gint ett_t124_PasswordChallengeRequestResponse = -1; +static gint ett_t124_T_challengeRequestResponse = -1; +static gint ett_t124_ConferenceName = -1; +static gint ett_t124_ConferenceNameSelector = -1; +static gint ett_t124_ConferencePriorityScheme = -1; +static gint ett_t124_ConferencePriority = -1; +static gint ett_t124_NodeCategory = -1; +static gint ett_t124_ConferenceMode = -1; +static gint ett_t124_NetworkAddress = -1; +static gint ett_t124_NetworkAddress_item = -1; +static gint ett_t124_T_aggregatedChannel = -1; +static gint ett_t124_T_transferModes = -1; +static gint ett_t124_T_highLayerCompatibility = -1; +static gint ett_t124_T_transportConnection = -1; +static gint ett_t124_MediaList = -1; +static gint ett_t124_ChannelAggregationMethod = -1; +static gint ett_t124_Profile = -1; +static gint ett_t124_T_simpleProfile = -1; +static gint ett_t124_T_multimediaProfile = -1; +static gint ett_t124_T_profile = -1; +static gint ett_t124_ExtendedE164NetworkAddress = -1; +static gint ett_t124_TransportAddress = -1; +static gint ett_t124_GSTNConnection = -1; +static gint ett_t124_ISDNConnection = -1; +static gint ett_t124_ISDNCircuitTypes = -1; +static gint ett_t124_ISDNCircuitTypes_item = -1; +static gint ett_t124_ISDNHighLayerCompatibility = -1; +static gint ett_t124_CSDNConnection = -1; +static gint ett_t124_T_circuitTypes = -1; +static gint ett_t124_T_circuitTypes_item = -1; +static gint ett_t124_PSDNConnection = -1; +static gint ett_t124_PSDNNetworkAddress = -1; +static gint ett_t124_ATMConnection = -1; +static gint ett_t124_T_networkAddress = -1; +static gint ett_t124_NetworkConnection = -1; +static gint ett_t124_NetworkAddressV2 = -1; +static gint ett_t124_NetworkAddressV2_item = -1; +static gint ett_t124_T_networkConnection = -1; +static gint ett_t124_T_aggregatedConnections = -1; +static gint ett_t124_T_connectionList = -1; +static gint ett_t124_T_connectionList_item = -1; +static gint ett_t124_SET_OF_ChannelAggregationMethod = -1; +static gint ett_t124_SET_OF_Profile = -1; +static gint ett_t124_NodeProperties = -1; +static gint ett_t124_AsymmetryIndicator = -1; +static gint ett_t124_AlternativeNodeID = -1; +static gint ett_t124_ConferenceDescriptor = -1; +static gint ett_t124_NodeRecord = -1; +static gint ett_t124_SEQUENCE_OF_TextString = -1; +static gint ett_t124_SessionKey = -1; +static gint ett_t124_ApplicationRecord = -1; +static gint ett_t124_T_nonCollapsingCapabilities = -1; +static gint ett_t124_T_nonCollapsingCapabilities_item = -1; +static gint ett_t124_CapabilityID = -1; +static gint ett_t124_CapabilityClass = -1; +static gint ett_t124_ApplicationInvokeSpecifier = -1; +static gint ett_t124_T_expectedCapabilitySet = -1; +static gint ett_t124_T_expectedCapabilitySet_item = -1; +static gint ett_t124_RegistryKey = -1; +static gint ett_t124_RegistryItem = -1; +static gint ett_t124_RegistryEntryOwner = -1; +static gint ett_t124_T_owned = -1; +static gint ett_t124_UserIDIndication = -1; +static gint ett_t124_ConferenceCreateRequest = -1; +static gint ett_t124_SET_OF_Privilege = -1; +static gint ett_t124_ConferenceCreateResponse = -1; +static gint ett_t124_ConferenceQueryRequest = -1; +static gint ett_t124_ConferenceQueryResponse = -1; +static gint ett_t124_SET_OF_ConferenceDescriptor = -1; +static gint ett_t124_ConferenceJoinRequest = -1; +static gint ett_t124_ConferenceJoinResponse = -1; +static gint ett_t124_ConferenceInviteRequest = -1; +static gint ett_t124_ConferenceInviteResponse = -1; +static gint ett_t124_ConferenceAddRequest = -1; +static gint ett_t124_ConferenceAddResponse = -1; +static gint ett_t124_ConferenceLockRequest = -1; +static gint ett_t124_ConferenceLockResponse = -1; +static gint ett_t124_ConferenceLockIndication = -1; +static gint ett_t124_ConferenceUnlockRequest = -1; +static gint ett_t124_ConferenceUnlockResponse = -1; +static gint ett_t124_ConferenceUnlockIndication = -1; +static gint ett_t124_ConferenceTerminateRequest = -1; +static gint ett_t124_ConferenceTerminateResponse = -1; +static gint ett_t124_ConferenceTerminateIndication = -1; +static gint ett_t124_ConferenceEjectUserRequest = -1; +static gint ett_t124_ConferenceEjectUserResponse = -1; +static gint ett_t124_ConferenceEjectUserIndication = -1; +static gint ett_t124_ConferenceTransferRequest = -1; +static gint ett_t124_SET_SIZE_1_65536_OF_UserID = -1; +static gint ett_t124_ConferenceTransferResponse = -1; +static gint ett_t124_ConferenceTransferIndication = -1; +static gint ett_t124_RosterUpdateIndication = -1; +static gint ett_t124_T_nodeInformation = -1; +static gint ett_t124_T_nodeRecordList = -1; +static gint ett_t124_NodeRefresh = -1; +static gint ett_t124_T_nodeRefresh_item = -1; +static gint ett_t124_T_update = -1; +static gint ett_t124_T_update_item = -1; +static gint ett_t124_T_nodeUpdate = -1; +static gint ett_t124_T_applicationInformation = -1; +static gint ett_t124_T_applicationInformation_item = -1; +static gint ett_t124_T_applicationRecordList = -1; +static gint ett_t124_ApplicationRefresh = -1; +static gint ett_t124_T_applicationRefresh_item = -1; +static gint ett_t124_ApplicationUpdate = -1; +static gint ett_t124_ApplicationUpdateItem = -1; +static gint ett_t124_T_applicationUpdate = -1; +static gint ett_t124_T_applicationCapabilitiesList = -1; +static gint ett_t124_T_refresh = -1; +static gint ett_t124_T_refresh_item = -1; +static gint ett_t124_ApplicationInvokeIndication = -1; +static gint ett_t124_SET_SIZE_1_65536_OF_ApplicationInvokeSpecifier = -1; +static gint ett_t124_RegistryRegisterChannelRequest = -1; +static gint ett_t124_RegistryAssignTokenRequest = -1; +static gint ett_t124_RegistrySetParameterRequest = -1; +static gint ett_t124_RegistryRetrieveEntryRequest = -1; +static gint ett_t124_RegistryDeleteEntryRequest = -1; +static gint ett_t124_RegistryMonitorEntryRequest = -1; +static gint ett_t124_RegistryMonitorEntryIndication = -1; +static gint ett_t124_RegistryAllocateHandleRequest = -1; +static gint ett_t124_RegistryAllocateHandleResponse = -1; +static gint ett_t124_RegistryResponse = -1; +static gint ett_t124_ConductorAssignIndication = -1; +static gint ett_t124_ConductorReleaseIndication = -1; +static gint ett_t124_ConductorPermissionAskIndication = -1; +static gint ett_t124_ConductorPermissionGrantIndication = -1; +static gint ett_t124_SEQUENCE_SIZE_0_65535_OF_UserID = -1; +static gint ett_t124_SEQUENCE_SIZE_1_65536_OF_UserID = -1; +static gint ett_t124_ConferenceTimeRemainingIndication = -1; +static gint ett_t124_ConferenceTimeInquireIndication = -1; +static gint ett_t124_ConferenceTimeExtendIndication = -1; +static gint ett_t124_ConferenceAssistanceIndication = -1; +static gint ett_t124_TextMessageIndication = -1; +static gint ett_t124_FunctionNotSupportedResponse = -1; +static gint ett_t124_NonStandardPDU = -1; +static gint ett_t124_ConnectData = -1; +static gint ett_t124_ConnectGCCPDU = -1; +static gint ett_t124_RequestPDU = -1; +static gint ett_t124_ResponsePDU = -1; +static gint ett_t124_IndicationPDU = -1; +static gint ett_t124_Segmentation = -1; +static gint ett_t124_DomainParameters = -1; +static gint ett_t124_Connect_Initial = -1; +static gint ett_t124_Connect_Response = -1; +static gint ett_t124_Connect_Additional = -1; +static gint ett_t124_Connect_Result = -1; +static gint ett_t124_PlumbDomainIndication = -1; +static gint ett_t124_ErectDomainRequest = -1; +static gint ett_t124_ChannelAttributes = -1; +static gint ett_t124_T_static = -1; +static gint ett_t124_T_userId = -1; +static gint ett_t124_T_private = -1; +static gint ett_t124_SET_OF_UserId = -1; +static gint ett_t124_T_assigned = -1; +static gint ett_t124_MergeChannelsRequest = -1; +static gint ett_t124_SET_OF_ChannelAttributes = -1; +static gint ett_t124_SET_OF_ChannelId = -1; +static gint ett_t124_MergeChannelsConfirm = -1; +static gint ett_t124_PurgeChannelsIndication = -1; +static gint ett_t124_TokenAttributes = -1; +static gint ett_t124_T_grabbed = -1; +static gint ett_t124_T_inhibited = -1; +static gint ett_t124_T_giving = -1; +static gint ett_t124_T_ungivable = -1; +static gint ett_t124_T_given = -1; +static gint ett_t124_MergeTokensRequest = -1; +static gint ett_t124_SET_OF_TokenAttributes = -1; +static gint ett_t124_SET_OF_TokenId = -1; +static gint ett_t124_MergeTokensConfirm = -1; +static gint ett_t124_PurgeTokensIndication = -1; +static gint ett_t124_DisconnectProviderUltimatum = -1; +static gint ett_t124_RejectMCSPDUUltimatum = -1; +static gint ett_t124_AttachUserRequest = -1; +static gint ett_t124_AttachUserConfirm = -1; +static gint ett_t124_DetachUserRequest = -1; +static gint ett_t124_DetachUserIndication = -1; +static gint ett_t124_ChannelJoinRequest = -1; +static gint ett_t124_ChannelJoinConfirm = -1; +static gint ett_t124_ChannelLeaveRequest = -1; +static gint ett_t124_ChannelConveneRequest = -1; +static gint ett_t124_ChannelConveneConfirm = -1; +static gint ett_t124_ChannelDisbandRequest = -1; +static gint ett_t124_ChannelDisbandIndication = -1; +static gint ett_t124_ChannelAdmitRequest = -1; +static gint ett_t124_ChannelAdmitIndication = -1; +static gint ett_t124_ChannelExpelRequest = -1; +static gint ett_t124_ChannelExpelIndication = -1; +static gint ett_t124_SendDataRequest = -1; +static gint ett_t124_SendDataIndication = -1; +static gint ett_t124_UniformSendDataRequest = -1; +static gint ett_t124_UniformSendDataIndication = -1; +static gint ett_t124_TokenGrabRequest = -1; +static gint ett_t124_TokenGrabConfirm = -1; +static gint ett_t124_TokenInhibitRequest = -1; +static gint ett_t124_TokenInhibitConfirm = -1; +static gint ett_t124_TokenGiveRequest = -1; +static gint ett_t124_TokenGiveIndication = -1; +static gint ett_t124_TokenGiveResponse = -1; +static gint ett_t124_TokenGiveConfirm = -1; +static gint ett_t124_TokenPleaseRequest = -1; +static gint ett_t124_TokenPleaseIndication = -1; +static gint ett_t124_TokenReleaseRequest = -1; +static gint ett_t124_TokenReleaseConfirm = -1; +static gint ett_t124_TokenTestRequest = -1; +static gint ett_t124_TokenTestConfirm = -1; +static gint ett_t124_ConnectMCSPDU = -1; +static gint ett_t124_DomainMCSPDU = -1; + +/*--- End of included file: packet-t124-ett.c ---*/ +#line 66 "../../asn1/t124/packet-t124-template.c" + + +/*--- Included file: packet-t124-fn.c ---*/ +#line 1 "../../asn1/t124/packet-t124-fn.c" + + +static int +dissect_t124_ChannelID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 65535U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_t124_DynamicChannelID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1001U, 65535U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_t124_UserID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_t124_DynamicChannelID(tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_t124_DynamicTokenID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 16384U, 65535U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_t124_Time(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + -2147483648, 2147483647U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_t124_Handle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 4294967295U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_t124_H221NonStandardIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 136 "../../asn1/t124/t124.cnf" + + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + 4, 255, FALSE, &t124NSIdentifier); + + + + + return offset; +} + + + +static int +dissect_t124_T_object(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_object_identifier_str(tvb, offset, actx, tree, hf_index, &t124Identifier); + + return offset; +} + + +static const value_string t124_Key_vals[] = { + { 0, "object" }, + { 1, "h221NonStandard" }, + { 0, NULL } +}; + +static const per_choice_t Key_choice[] = { + { 0, &hf_t124_object , ASN1_NO_EXTENSIONS , dissect_t124_T_object }, + { 1, &hf_t124_h221NonStandard, ASN1_NO_EXTENSIONS , dissect_t124_H221NonStandardIdentifier }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_Key(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_Key, Key_choice, + NULL); + + return offset; +} + + + +static int +dissect_t124_OCTET_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, NULL); + + return offset; +} + + +static const per_sequence_t NonStandardParameter_sequence[] = { + { &hf_t124_key , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Key }, + { &hf_t124_data , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_OCTET_STRING }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_NonStandardParameter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_NonStandardParameter, NonStandardParameter_sequence); + + return offset; +} + + + +static int +dissect_t124_TextString(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index, + 0, 255, FALSE); + + return offset; +} + + + +static int +dissect_t124_SimpleTextString(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index, + 0, 255, FALSE); + + return offset; +} + + + +static int +dissect_t124_SimpleNumericString(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index, + 1, 255, FALSE, "0123456789", 10, + NULL); + + return offset; +} + + + +static int +dissect_t124_DiallingString(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index, + 1, 16, FALSE, "0123456789", 10, + NULL); + + return offset; +} + + + +static int +dissect_t124_SubAddressString(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index, + 1, 40, FALSE, "0123456789", 10, + NULL); + + return offset; +} + + + +static int +dissect_t124_ExtraDiallingString(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_size_constrained_type(tvb, offset, actx, tree, hf_index, dissect_t124_TextString, + "TextString", 1, 255, FALSE); + + return offset; +} + + + +static int +dissect_t124_T_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 68 "../../asn1/t124/t124.cnf" + tvbuff_t *next_tvb = NULL; + guint8 *ns = NULL; + + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &next_tvb); + + + if(next_tvb) { + + ns = tvb_get_string(t124NSIdentifier, 0, tvb_length(t124NSIdentifier)); + if(ns != NULL) { + dissector_try_string(t124_ns_dissector_table, ns, next_tvb, actx->pinfo, top_tree); + g_free(ns); + } + } + + + + return offset; +} + + +static const per_sequence_t UserData_item_sequence[] = { + { &hf_t124_key , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Key }, + { &hf_t124_value , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_t124_T_value }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_UserData_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_UserData_item, UserData_item_sequence); + + return offset; +} + + +static const per_sequence_t UserData_set_of[1] = { + { &hf_t124_UserData_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserData_item }, +}; + +static int +dissect_t124_UserData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_set_of(tvb, offset, actx, tree, hf_index, + ett_t124_UserData, UserData_set_of); + + return offset; +} + + +static const per_sequence_t Password_sequence[] = { + { &hf_t124_numeric , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_SimpleNumericString }, + { &hf_t124_text , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_SimpleTextString }, + { &hf_t124_unicodeText , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_t124_TextString }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_Password(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_Password, Password_sequence); + + return offset; +} + + +static const value_string t124_PasswordSelector_vals[] = { + { 0, "numeric" }, + { 1, "text" }, + { 2, "unicodeText" }, + { 0, NULL } +}; + +static const per_choice_t PasswordSelector_choice[] = { + { 0, &hf_t124_numeric , ASN1_EXTENSION_ROOT , dissect_t124_SimpleNumericString }, + { 1, &hf_t124_text , ASN1_EXTENSION_ROOT , dissect_t124_SimpleTextString }, + { 2, &hf_t124_unicodeText , ASN1_NOT_EXTENSION_ROOT, dissect_t124_TextString }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_PasswordSelector(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_PasswordSelector, PasswordSelector_choice, + NULL); + + return offset; +} + + +static const value_string t124_ChallengeResponseItem_vals[] = { + { 0, "passwordString" }, + { 1, "responseData" }, + { 0, NULL } +}; + +static const per_choice_t ChallengeResponseItem_choice[] = { + { 0, &hf_t124_passwordString , ASN1_EXTENSION_ROOT , dissect_t124_PasswordSelector }, + { 1, &hf_t124_responseData , ASN1_EXTENSION_ROOT , dissect_t124_UserData }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_ChallengeResponseItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_ChallengeResponseItem, ChallengeResponseItem_choice, + NULL); + + return offset; +} + + + +static int +dissect_t124_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_null(tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const value_string t124_ChallengeResponseAlgorithm_vals[] = { + { 0, "passwordInTheClear" }, + { 1, "nonStandardAlgorithm" }, + { 0, NULL } +}; + +static const per_choice_t ChallengeResponseAlgorithm_choice[] = { + { 0, &hf_t124_passwordInTheClear, ASN1_EXTENSION_ROOT , dissect_t124_NULL }, + { 1, &hf_t124_nonStandardAlgorithm, ASN1_EXTENSION_ROOT , dissect_t124_NonStandardParameter }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_ChallengeResponseAlgorithm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_ChallengeResponseAlgorithm, ChallengeResponseAlgorithm_choice, + NULL); + + return offset; +} + + +static const per_sequence_t ChallengeItem_sequence[] = { + { &hf_t124_responseAlgorithm, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_ChallengeResponseAlgorithm }, + { &hf_t124_challengeData , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_UserData }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ChallengeItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ChallengeItem, ChallengeItem_sequence); + + return offset; +} + + + +static int +dissect_t124_INTEGER(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_integer(tvb, offset, actx, tree, hf_index, NULL); + + return offset; +} + + +static const per_sequence_t SET_OF_ChallengeItem_set_of[1] = { + { &hf_t124_challengeSet_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_ChallengeItem }, +}; + +static int +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_) { + offset = dissect_per_set_of(tvb, offset, actx, tree, hf_index, + ett_t124_SET_OF_ChallengeItem, SET_OF_ChallengeItem_set_of); + + return offset; +} + + +static const per_sequence_t ChallengeRequest_sequence[] = { + { &hf_t124_challengeTag , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_INTEGER }, + { &hf_t124_challengeSet , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_ChallengeItem }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ChallengeRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ChallengeRequest, ChallengeRequest_sequence); + + return offset; +} + + +static const per_sequence_t ChallengeResponse_sequence[] = { + { &hf_t124_challengeTag , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_INTEGER }, + { &hf_t124_responseAlgorithm, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_ChallengeResponseAlgorithm }, + { &hf_t124_responseItem , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_ChallengeResponseItem }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ChallengeResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ChallengeResponse, ChallengeResponse_sequence); + + return offset; +} + + +static const per_sequence_t T_challengeRequestResponse_sequence[] = { + { &hf_t124_challengeRequest, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_ChallengeRequest }, + { &hf_t124_challengeResponse, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_ChallengeResponse }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_T_challengeRequestResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_T_challengeRequestResponse, T_challengeRequestResponse_sequence); + + return offset; +} + + +static const value_string t124_PasswordChallengeRequestResponse_vals[] = { + { 0, "passwordInTheClear" }, + { 1, "challengeRequestResponse" }, + { 0, NULL } +}; + +static const per_choice_t PasswordChallengeRequestResponse_choice[] = { + { 0, &hf_t124_passwordInTheClear_01, ASN1_EXTENSION_ROOT , dissect_t124_PasswordSelector }, + { 1, &hf_t124_challengeRequestResponse, ASN1_EXTENSION_ROOT , dissect_t124_T_challengeRequestResponse }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_PasswordChallengeRequestResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_PasswordChallengeRequestResponse, PasswordChallengeRequestResponse_choice, + NULL); + + return offset; +} + + +static const per_sequence_t ConferenceName_sequence[] = { + { &hf_t124_numeric , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_SimpleNumericString }, + { &hf_t124_text , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_SimpleTextString }, + { &hf_t124_unicodeText , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_t124_TextString }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ConferenceName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConferenceName, ConferenceName_sequence); + + return offset; +} + + +static const value_string t124_ConferenceNameSelector_vals[] = { + { 0, "numeric" }, + { 1, "text" }, + { 2, "unicodeText" }, + { 0, NULL } +}; + +static const per_choice_t ConferenceNameSelector_choice[] = { + { 0, &hf_t124_numeric , ASN1_EXTENSION_ROOT , dissect_t124_SimpleNumericString }, + { 1, &hf_t124_text , ASN1_EXTENSION_ROOT , dissect_t124_SimpleTextString }, + { 2, &hf_t124_unicodeText , ASN1_NOT_EXTENSION_ROOT, dissect_t124_TextString }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_ConferenceNameSelector(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_ConferenceNameSelector, ConferenceNameSelector_choice, + NULL); + + return offset; +} + + + +static int +dissect_t124_ConferenceNameModifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_t124_SimpleNumericString(tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const value_string t124_Privilege_vals[] = { + { 0, "terminate" }, + { 1, "ejectUser" }, + { 2, "add" }, + { 3, "lockUnlock" }, + { 4, "transfer" }, + { 0, NULL } +}; + + +static int +dissect_t124_Privilege(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 5, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const value_string t124_TerminationMethod_vals[] = { + { 0, "automatic" }, + { 1, "manual" }, + { 0, NULL } +}; + + +static int +dissect_t124_TerminationMethod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const value_string t124_ConferencePriorityScheme_vals[] = { + { 0, "nonStandardScheme" }, + { 0, NULL } +}; + +static const per_choice_t ConferencePriorityScheme_choice[] = { + { 0, &hf_t124_nonStandardScheme, ASN1_EXTENSION_ROOT , dissect_t124_NonStandardParameter }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_ConferencePriorityScheme(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_ConferencePriorityScheme, ConferencePriorityScheme_choice, + NULL); + + return offset; +} + + + +static int +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_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 65535U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t ConferencePriority_sequence[] = { + { &hf_t124_priority , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_INTEGER_0_65535 }, + { &hf_t124_scheme , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_ConferencePriorityScheme }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ConferencePriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConferencePriority, ConferencePriority_sequence); + + return offset; +} + + +static const value_string t124_NodeCategory_vals[] = { + { 0, "conventional" }, + { 1, "counted" }, + { 2, "anonymous" }, + { 3, "nonStandardCategory" }, + { 0, NULL } +}; + +static const per_choice_t NodeCategory_choice[] = { + { 0, &hf_t124_conventional , ASN1_EXTENSION_ROOT , dissect_t124_NULL }, + { 1, &hf_t124_counted , ASN1_EXTENSION_ROOT , dissect_t124_NULL }, + { 2, &hf_t124_anonymous , ASN1_EXTENSION_ROOT , dissect_t124_NULL }, + { 3, &hf_t124_nonStandardCategory, ASN1_EXTENSION_ROOT , dissect_t124_NonStandardParameter }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_NodeCategory(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_NodeCategory, NodeCategory_choice, + NULL); + + return offset; +} + + +static const value_string t124_ConferenceMode_vals[] = { + { 0, "conventional-only" }, + { 1, "counted-only" }, + { 2, "anonymous-only" }, + { 3, "conventional-control" }, + { 4, "unrestricted-mode" }, + { 5, "non-standard-mode" }, + { 0, NULL } +}; + +static const per_choice_t ConferenceMode_choice[] = { + { 0, &hf_t124_conventional_only, ASN1_EXTENSION_ROOT , dissect_t124_NULL }, + { 1, &hf_t124_counted_only , ASN1_EXTENSION_ROOT , dissect_t124_NULL }, + { 2, &hf_t124_anonymous_only , ASN1_EXTENSION_ROOT , dissect_t124_NULL }, + { 3, &hf_t124_conventional_control, ASN1_EXTENSION_ROOT , dissect_t124_NULL }, + { 4, &hf_t124_unrestricted_mode, ASN1_EXTENSION_ROOT , dissect_t124_NULL }, + { 5, &hf_t124_non_standard_mode, ASN1_EXTENSION_ROOT , dissect_t124_NonStandardParameter }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_ConferenceMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_ConferenceMode, ConferenceMode_choice, + NULL); + + return offset; +} + + + +static int +dissect_t124_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL); + + return offset; +} + + +static const per_sequence_t T_transferModes_sequence[] = { + { &hf_t124_speech , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_voice_band , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_digital_56k , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_digital_64k , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_digital_128k , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_digital_192k , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_digital_256k , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_digital_320k , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_digital_384k , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_digital_512k , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_digital_768k , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_digital_1152k , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_digital_1472k , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_digital_1536k , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_digital_1920k , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_packet_mode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_frame_mode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_atm , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_T_transferModes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_T_transferModes, T_transferModes_sequence); + + return offset; +} + + +static const per_sequence_t T_highLayerCompatibility_sequence[] = { + { &hf_t124_telephony3kHz , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_telephony7kHz , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_videotelephony , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_videoconference, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_audiographic , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_audiovisual , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_multimedia , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_T_highLayerCompatibility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_T_highLayerCompatibility, T_highLayerCompatibility_sequence); + + return offset; +} + + +static const per_sequence_t T_aggregatedChannel_sequence[] = { + { &hf_t124_transferModes , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_T_transferModes }, + { &hf_t124_internationalNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_DiallingString }, + { &hf_t124_subAddress , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_SubAddressString }, + { &hf_t124_extraDialling , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_ExtraDiallingString }, + { &hf_t124_highLayerCompatibility, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_T_highLayerCompatibility }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_T_aggregatedChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_T_aggregatedChannel, T_aggregatedChannel_sequence); + + return offset; +} + + + +static int +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_) { + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + 1, 20, FALSE, NULL); + + return offset; +} + + +static const per_sequence_t T_transportConnection_sequence[] = { + { &hf_t124_nsapAddress , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_OCTET_STRING_SIZE_1_20 }, + { &hf_t124_transportSelector, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_t124_OCTET_STRING }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_T_transportConnection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_T_transportConnection, T_transportConnection_sequence); + + return offset; +} + + +static const value_string t124_NetworkAddress_item_vals[] = { + { 0, "aggregatedChannel" }, + { 1, "transportConnection" }, + { 2, "nonStandard" }, + { 0, NULL } +}; + +static const per_choice_t NetworkAddress_item_choice[] = { + { 0, &hf_t124_aggregatedChannel, ASN1_EXTENSION_ROOT , dissect_t124_T_aggregatedChannel }, + { 1, &hf_t124_transportConnection, ASN1_EXTENSION_ROOT , dissect_t124_T_transportConnection }, + { 2, &hf_t124_nonStandard , ASN1_EXTENSION_ROOT , dissect_t124_NonStandardParameter }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_NetworkAddress_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_NetworkAddress_item, NetworkAddress_item_choice, + NULL); + + return offset; +} + + +static const per_sequence_t NetworkAddress_sequence_of[1] = { + { &hf_t124_NetworkAddress_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_NetworkAddress_item }, +}; + +static int +dissect_t124_NetworkAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_t124_NetworkAddress, NetworkAddress_sequence_of, + 1, 64, FALSE); + + return offset; +} + + +static const per_sequence_t MediaList_sequence[] = { + { &hf_t124_audio , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_video , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_data_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_MediaList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_MediaList, MediaList_sequence); + + return offset; +} + + +static const value_string t124_ChannelAggregationMethod_vals[] = { + { 0, "h221" }, + { 1, "h244" }, + { 2, "iso-iec-13871" }, + { 3, "nonStandard" }, + { 0, NULL } +}; + +static const per_choice_t ChannelAggregationMethod_choice[] = { + { 0, &hf_t124_h221 , ASN1_EXTENSION_ROOT , dissect_t124_NULL }, + { 1, &hf_t124_h244 , ASN1_EXTENSION_ROOT , dissect_t124_NULL }, + { 2, &hf_t124_iso_iec_13871 , ASN1_EXTENSION_ROOT , dissect_t124_NULL }, + { 3, &hf_t124_nonStandard , ASN1_EXTENSION_ROOT , dissect_t124_NonStandardParameter }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_ChannelAggregationMethod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_ChannelAggregationMethod, ChannelAggregationMethod_choice, + NULL); + + return offset; +} + + +static const value_string t124_T_simpleProfile_vals[] = { + { 0, "speech" }, + { 1, "telephony-3kHz" }, + { 2, "telephony-7kHz" }, + { 3, "voice-band" }, + { 4, "frameRelay" }, + { 5, "t123-pstn-basic" }, + { 6, "t123-psdn-basic" }, + { 7, "t123-b-isdn-basic" }, + { 0, NULL } +}; + +static const per_choice_t T_simpleProfile_choice[] = { + { 0, &hf_t124_speech_01 , ASN1_NO_EXTENSIONS , dissect_t124_NULL }, + { 1, &hf_t124_telephony_3kHz , ASN1_NO_EXTENSIONS , dissect_t124_NULL }, + { 2, &hf_t124_telephony_7kHz , ASN1_NO_EXTENSIONS , dissect_t124_NULL }, + { 3, &hf_t124_voice_band_01 , ASN1_NO_EXTENSIONS , dissect_t124_NULL }, + { 4, &hf_t124_frameRelay , ASN1_NO_EXTENSIONS , dissect_t124_NULL }, + { 5, &hf_t124_t123_pstn_basic, ASN1_NO_EXTENSIONS , dissect_t124_NULL }, + { 6, &hf_t124_t123_psdn_basic, ASN1_NO_EXTENSIONS , dissect_t124_NULL }, + { 7, &hf_t124_t123_b_isdn_basic, ASN1_NO_EXTENSIONS , dissect_t124_NULL }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_T_simpleProfile(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_T_simpleProfile, T_simpleProfile_choice, + NULL); + + return offset; +} + + +static const value_string t124_T_profile_vals[] = { + { 0, "h310" }, + { 1, "h320" }, + { 2, "h321" }, + { 3, "h322" }, + { 4, "h323" }, + { 5, "h324" }, + { 6, "h324m" }, + { 7, "asvd" }, + { 8, "dsvd" }, + { 0, NULL } +}; + +static const per_choice_t T_profile_choice[] = { + { 0, &hf_t124_h310 , ASN1_NO_EXTENSIONS , dissect_t124_NULL }, + { 1, &hf_t124_h320 , ASN1_NO_EXTENSIONS , dissect_t124_NULL }, + { 2, &hf_t124_h321 , ASN1_NO_EXTENSIONS , dissect_t124_NULL }, + { 3, &hf_t124_h322 , ASN1_NO_EXTENSIONS , dissect_t124_NULL }, + { 4, &hf_t124_h323 , ASN1_NO_EXTENSIONS , dissect_t124_NULL }, + { 5, &hf_t124_h324 , ASN1_NO_EXTENSIONS , dissect_t124_NULL }, + { 6, &hf_t124_h324m , ASN1_NO_EXTENSIONS , dissect_t124_NULL }, + { 7, &hf_t124_asvd , ASN1_NO_EXTENSIONS , dissect_t124_NULL }, + { 8, &hf_t124_dsvd , ASN1_NO_EXTENSIONS , dissect_t124_NULL }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_T_profile(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_T_profile, T_profile_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_multimediaProfile_sequence[] = { + { &hf_t124_profile , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_T_profile }, + { &hf_t124_t120Data , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_T_multimediaProfile(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_T_multimediaProfile, T_multimediaProfile_sequence); + + return offset; +} + + +static const value_string t124_Profile_vals[] = { + { 0, "simpleProfile" }, + { 1, "multimediaProfile" }, + { 2, "dsmccDownloadProfile" }, + { 3, "nonStandard" }, + { 0, NULL } +}; + +static const per_choice_t Profile_choice[] = { + { 0, &hf_t124_simpleProfile , ASN1_EXTENSION_ROOT , dissect_t124_T_simpleProfile }, + { 1, &hf_t124_multimediaProfile, ASN1_EXTENSION_ROOT , dissect_t124_T_multimediaProfile }, + { 2, &hf_t124_dsmccDownloadProfile, ASN1_EXTENSION_ROOT , dissect_t124_NULL }, + { 3, &hf_t124_nonStandard , ASN1_EXTENSION_ROOT , dissect_t124_NonStandardParameter }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_Profile(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_Profile, Profile_choice, + NULL); + + return offset; +} + + +static const per_sequence_t ExtendedE164NetworkAddress_sequence[] = { + { &hf_t124_internationalNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_DiallingString }, + { &hf_t124_subAddress , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_SubAddressString }, + { &hf_t124_extraDialling , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_ExtraDiallingString }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ExtendedE164NetworkAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ExtendedE164NetworkAddress, ExtendedE164NetworkAddress_sequence); + + return offset; +} + + +static const per_sequence_t TransportAddress_sequence[] = { + { &hf_t124_nsapAddress , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_OCTET_STRING_SIZE_1_20 }, + { &hf_t124_transportSelector, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_t124_OCTET_STRING }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_TransportAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_TransportAddress, TransportAddress_sequence); + + return offset; +} + + +static const per_sequence_t GSTNConnection_sequence[] = { + { &hf_t124_networkAddress , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_ExtendedE164NetworkAddress }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_GSTNConnection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_GSTNConnection, GSTNConnection_sequence); + + return offset; +} + + + +static int +dissect_t124_INTEGER_1_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 30U, NULL, FALSE); + + return offset; +} + + +static const value_string t124_ISDNCircuitTypes_item_vals[] = { + { 0, "digital-64k" }, + { 1, "digital-2x64k" }, + { 2, "digital-384k" }, + { 3, "digital-1536" }, + { 4, "digital-1920k" }, + { 5, "multirate-base-64k" }, + { 0, NULL } +}; + +static const per_choice_t ISDNCircuitTypes_item_choice[] = { + { 0, &hf_t124_digital_64k_01 , ASN1_NO_EXTENSIONS , dissect_t124_NULL }, + { 1, &hf_t124_digital_2x64k , ASN1_NO_EXTENSIONS , dissect_t124_NULL }, + { 2, &hf_t124_digital_384k_01, ASN1_NO_EXTENSIONS , dissect_t124_NULL }, + { 3, &hf_t124_digital_1536 , ASN1_NO_EXTENSIONS , dissect_t124_NULL }, + { 4, &hf_t124_digital_1920k_01, ASN1_NO_EXTENSIONS , dissect_t124_NULL }, + { 5, &hf_t124_multirate_base_64k, ASN1_NO_EXTENSIONS , dissect_t124_INTEGER_1_30 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_ISDNCircuitTypes_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_ISDNCircuitTypes_item, ISDNCircuitTypes_item_choice, + NULL); + + return offset; +} + + +static const per_sequence_t ISDNCircuitTypes_set_of[1] = { + { &hf_t124_iSDNCircuitTypes_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_ISDNCircuitTypes_item }, +}; + +static int +dissect_t124_ISDNCircuitTypes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_set_of(tvb, offset, actx, tree, hf_index, + ett_t124_ISDNCircuitTypes, ISDNCircuitTypes_set_of); + + return offset; +} + + +static const per_sequence_t ISDNHighLayerCompatibility_sequence[] = { + { &hf_t124_telephony3kHz , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_telephony7kHz , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_videotelephony , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_videoconference, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_audiographic , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_audiovisual , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_multimedia , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ISDNHighLayerCompatibility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ISDNHighLayerCompatibility, ISDNHighLayerCompatibility_sequence); + + return offset; +} + + +static const per_sequence_t ISDNConnection_sequence[] = { + { &hf_t124_iSDNCircuitTypes, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_ISDNCircuitTypes }, + { &hf_t124_networkAddress , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_ExtendedE164NetworkAddress }, + { &hf_t124_iSDNHighLayerCompatibility, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_ISDNHighLayerCompatibility }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ISDNConnection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ISDNConnection, ISDNConnection_sequence); + + return offset; +} + + +static const value_string t124_T_circuitTypes_item_vals[] = { + { 0, "digital-56k" }, + { 1, "digital-64k" }, + { 0, NULL } +}; + +static const per_choice_t T_circuitTypes_item_choice[] = { + { 0, &hf_t124_digital_56k_01 , ASN1_NO_EXTENSIONS , dissect_t124_NULL }, + { 1, &hf_t124_digital_64k_01 , ASN1_NO_EXTENSIONS , dissect_t124_NULL }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_T_circuitTypes_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_T_circuitTypes_item, T_circuitTypes_item_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_circuitTypes_set_of[1] = { + { &hf_t124_circuitTypes_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_T_circuitTypes_item }, +}; + +static int +dissect_t124_T_circuitTypes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_set_of(tvb, offset, actx, tree, hf_index, + ett_t124_T_circuitTypes, T_circuitTypes_set_of); + + return offset; +} + + +static const per_sequence_t CSDNConnection_sequence[] = { + { &hf_t124_circuitTypes , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_T_circuitTypes }, + { &hf_t124_networkAddress , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_ExtendedE164NetworkAddress }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_CSDNConnection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_CSDNConnection, CSDNConnection_sequence); + + return offset; +} + + +static const value_string t124_PSDNNetworkAddress_vals[] = { + { 0, "extendedE164NetworkAddress" }, + { 1, "transportAddress" }, + { 2, "nonStandard" }, + { 0, NULL } +}; + +static const per_choice_t PSDNNetworkAddress_choice[] = { + { 0, &hf_t124_extendedE164NetworkAddress, ASN1_NO_EXTENSIONS , dissect_t124_ExtendedE164NetworkAddress }, + { 1, &hf_t124_transportAddress, ASN1_NO_EXTENSIONS , dissect_t124_TransportAddress }, + { 2, &hf_t124_nonStandard , ASN1_NO_EXTENSIONS , dissect_t124_NonStandardParameter }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_PSDNNetworkAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_PSDNNetworkAddress, PSDNNetworkAddress_choice, + NULL); + + return offset; +} + + +static const per_sequence_t PSDNConnection_sequence[] = { + { &hf_t124_pSDNNetworkAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_PSDNNetworkAddress }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_PSDNConnection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_PSDNConnection, PSDNConnection_sequence); + + return offset; +} + + +static const value_string t124_T_networkAddress_vals[] = { + { 0, "extendedE164" }, + { 1, "nsapAddress" }, + { 2, "nonStandard" }, + { 0, NULL } +}; + +static const per_choice_t T_networkAddress_choice[] = { + { 0, &hf_t124_extendedE164 , ASN1_NO_EXTENSIONS , dissect_t124_ExtendedE164NetworkAddress }, + { 1, &hf_t124_nsapAddress_01 , ASN1_NO_EXTENSIONS , dissect_t124_TransportAddress }, + { 2, &hf_t124_nonStandard , ASN1_NO_EXTENSIONS , dissect_t124_NonStandardParameter }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_T_networkAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_T_networkAddress, T_networkAddress_choice, + NULL); + + return offset; +} + + + +static int +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_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, NO_BOUND, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t ATMConnection_sequence[] = { + { &hf_t124_networkAddress_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_T_networkAddress }, + { &hf_t124_maxTransferRate, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_INTEGER_0_MAX }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ATMConnection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ATMConnection, ATMConnection_sequence); + + return offset; +} + + +static const value_string t124_NetworkConnection_vals[] = { + { 0, "gstnConnection" }, + { 1, "isdnConnection" }, + { 2, "csdnConnection" }, + { 3, "psdnConnection" }, + { 4, "atmConnection" }, + { 5, "extendedE164NetworkAddress" }, + { 6, "transportAddress" }, + { 7, "nonStandard" }, + { 0, NULL } +}; + +static const per_choice_t NetworkConnection_choice[] = { + { 0, &hf_t124_gstnConnection , ASN1_EXTENSION_ROOT , dissect_t124_GSTNConnection }, + { 1, &hf_t124_isdnConnection , ASN1_EXTENSION_ROOT , dissect_t124_ISDNConnection }, + { 2, &hf_t124_csdnConnection , ASN1_EXTENSION_ROOT , dissect_t124_CSDNConnection }, + { 3, &hf_t124_psdnConnection , ASN1_EXTENSION_ROOT , dissect_t124_PSDNConnection }, + { 4, &hf_t124_atmConnection , ASN1_EXTENSION_ROOT , dissect_t124_ATMConnection }, + { 5, &hf_t124_extendedE164NetworkAddress, ASN1_EXTENSION_ROOT , dissect_t124_ExtendedE164NetworkAddress }, + { 6, &hf_t124_transportAddress, ASN1_EXTENSION_ROOT , dissect_t124_TransportAddress }, + { 7, &hf_t124_nonStandard , ASN1_EXTENSION_ROOT , dissect_t124_NonStandardParameter }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_NetworkConnection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_NetworkConnection, NetworkConnection_choice, + NULL); + + return offset; +} + + +static const value_string t124_T_connectionList_item_vals[] = { + { 0, "isdnConnection" }, + { 1, "csdnConnection" }, + { 0, NULL } +}; + +static const per_choice_t T_connectionList_item_choice[] = { + { 0, &hf_t124_isdnConnection , ASN1_EXTENSION_ROOT , dissect_t124_ISDNConnection }, + { 1, &hf_t124_csdnConnection , ASN1_EXTENSION_ROOT , dissect_t124_CSDNConnection }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_T_connectionList_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_T_connectionList_item, T_connectionList_item_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_connectionList_set_of[1] = { + { &hf_t124_connectionList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_T_connectionList_item }, +}; + +static int +dissect_t124_T_connectionList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index, + ett_t124_T_connectionList, T_connectionList_set_of, + 1, 30, FALSE); + + return offset; +} + + +static const per_sequence_t SET_OF_ChannelAggregationMethod_set_of[1] = { + { &hf_t124_aggregationMethods_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_ChannelAggregationMethod }, +}; + +static int +dissect_t124_SET_OF_ChannelAggregationMethod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_set_of(tvb, offset, actx, tree, hf_index, + ett_t124_SET_OF_ChannelAggregationMethod, SET_OF_ChannelAggregationMethod_set_of); + + return offset; +} + + +static const per_sequence_t T_aggregatedConnections_sequence[] = { + { &hf_t124_connectionList , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_T_connectionList }, + { &hf_t124_aggregationMethods, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_SET_OF_ChannelAggregationMethod }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_T_aggregatedConnections(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_T_aggregatedConnections, T_aggregatedConnections_sequence); + + return offset; +} + + +static const value_string t124_T_networkConnection_vals[] = { + { 0, "singleConnection" }, + { 1, "aggregatedConnections" }, + { 0, NULL } +}; + +static const per_choice_t T_networkConnection_choice[] = { + { 0, &hf_t124_singleConnection, ASN1_NO_EXTENSIONS , dissect_t124_NetworkConnection }, + { 1, &hf_t124_aggregatedConnections, ASN1_NO_EXTENSIONS , dissect_t124_T_aggregatedConnections }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_T_networkConnection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_T_networkConnection, T_networkConnection_choice, + NULL); + + return offset; +} + + +static const per_sequence_t SET_OF_Profile_set_of[1] = { + { &hf_t124_profiles_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Profile }, +}; + +static int +dissect_t124_SET_OF_Profile(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_set_of(tvb, offset, actx, tree, hf_index, + ett_t124_SET_OF_Profile, SET_OF_Profile_set_of); + + return offset; +} + + +static const per_sequence_t NetworkAddressV2_item_sequence[] = { + { &hf_t124_networkConnection, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_T_networkConnection }, + { &hf_t124_profiles , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_SET_OF_Profile }, + { &hf_t124_mediaConcerned , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_MediaList }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_NetworkAddressV2_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_NetworkAddressV2_item, NetworkAddressV2_item_sequence); + + return offset; +} + + +static const per_sequence_t NetworkAddressV2_set_of[1] = { + { &hf_t124_NetworkAddressV2_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_NetworkAddressV2_item }, +}; + +static int +dissect_t124_NetworkAddressV2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_set_of(tvb, offset, actx, tree, hf_index, + ett_t124_NetworkAddressV2, NetworkAddressV2_set_of); + + return offset; +} + + +static const value_string t124_NodeType_vals[] = { + { 0, "terminal" }, + { 1, "multiportTerminal" }, + { 2, "mcu" }, + { 0, NULL } +}; + + +static int +dissect_t124_NodeType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 3, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const per_sequence_t NodeProperties_sequence[] = { + { &hf_t124_managementDevice, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_peripheralDevice, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_NodeProperties(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_NodeProperties, NodeProperties_sequence); + + return offset; +} + + + +static int +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_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 4294967295U, NULL, FALSE); + + return offset; +} + + +static const value_string t124_AsymmetryIndicator_vals[] = { + { 0, "callingNode" }, + { 1, "calledNode" }, + { 2, "unknown" }, + { 0, NULL } +}; + +static const per_choice_t AsymmetryIndicator_choice[] = { + { 0, &hf_t124_callingNode , ASN1_NO_EXTENSIONS , dissect_t124_NULL }, + { 1, &hf_t124_calledNode , ASN1_NO_EXTENSIONS , dissect_t124_NULL }, + { 2, &hf_t124_unknown , ASN1_NO_EXTENSIONS , dissect_t124_INTEGER_0_4294967295 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_AsymmetryIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_AsymmetryIndicator, AsymmetryIndicator_choice, + NULL); + + return offset; +} + + + +static int +dissect_t124_OCTET_STRING_SIZE_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + 2, 2, FALSE, NULL); + + return offset; +} + + +static const value_string t124_AlternativeNodeID_vals[] = { + { 0, "h243NodeID" }, + { 0, NULL } +}; + +static const per_choice_t AlternativeNodeID_choice[] = { + { 0, &hf_t124_h243NodeID , ASN1_EXTENSION_ROOT , dissect_t124_OCTET_STRING_SIZE_2 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_AlternativeNodeID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_AlternativeNodeID, AlternativeNodeID_choice, + NULL); + + return offset; +} + + +static const per_sequence_t ConferenceDescriptor_sequence[] = { + { &hf_t124_conferenceName , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_ConferenceName }, + { &hf_t124_conferenceNameModifier, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_ConferenceNameModifier }, + { &hf_t124_conferenceDescription, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_TextString }, + { &hf_t124_lockedConference, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_passwordInTheClearRequired, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_networkAddress_02, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_NetworkAddress }, + { &hf_t124_defaultConferenceFlag, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_conferenceMode , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_t124_ConferenceMode }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ConferenceDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConferenceDescriptor, ConferenceDescriptor_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_OF_TextString_sequence_of[1] = { + { &hf_t124_participantsList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TextString }, +}; + +static int +dissect_t124_SEQUENCE_OF_TextString(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index, + ett_t124_SEQUENCE_OF_TextString, SEQUENCE_OF_TextString_sequence_of); + + return offset; +} + + +static const per_sequence_t NodeRecord_sequence[] = { + { &hf_t124_superiorNode , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_UserID }, + { &hf_t124_nodeType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_NodeType }, + { &hf_t124_nodeProperties , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_NodeProperties }, + { &hf_t124_nodeName , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_TextString }, + { &hf_t124_participantsList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_SEQUENCE_OF_TextString }, + { &hf_t124_siteInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_TextString }, + { &hf_t124_networkAddress_02, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_NetworkAddress }, + { &hf_t124_alternativeNodeID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_AlternativeNodeID }, + { &hf_t124_userData , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_UserData }, + { &hf_t124_nodeCategory , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_t124_NodeCategory }, + { &hf_t124_networkAddressV2, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_t124_NetworkAddressV2 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_NodeRecord(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_NodeRecord, NodeRecord_sequence); + + return offset; +} + + +static const per_sequence_t SessionKey_sequence[] = { + { &hf_t124_applicationProtocolKey, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Key }, + { &hf_t124_sessionID , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_t124_ChannelID }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_SessionKey(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_SessionKey, SessionKey_sequence); + + return offset; +} + + +static const value_string t124_ChannelType_vals[] = { + { 0, "static" }, + { 1, "dynamicMulticast" }, + { 2, "dynamicPrivate" }, + { 3, "dynamicUserId" }, + { 0, NULL } +}; + + +static int +dissect_t124_ChannelType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string t124_CapabilityID_vals[] = { + { 0, "standard" }, + { 1, "nonStandard" }, + { 0, NULL } +}; + +static const per_choice_t CapabilityID_choice[] = { + { 0, &hf_t124_standard , ASN1_NO_EXTENSIONS , dissect_t124_INTEGER_0_65535 }, + { 1, &hf_t124_nonStandard_01 , ASN1_NO_EXTENSIONS , dissect_t124_Key }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_CapabilityID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_CapabilityID, CapabilityID_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_nonCollapsingCapabilities_item_sequence[] = { + { &hf_t124_capabilityID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_CapabilityID }, + { &hf_t124_applicationData, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_t124_OCTET_STRING }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_T_nonCollapsingCapabilities_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_T_nonCollapsingCapabilities_item, T_nonCollapsingCapabilities_item_sequence); + + return offset; +} + + +static const per_sequence_t T_nonCollapsingCapabilities_set_of[1] = { + { &hf_t124_nonCollapsingCapabilities_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_T_nonCollapsingCapabilities_item }, +}; + +static int +dissect_t124_T_nonCollapsingCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_set_of(tvb, offset, actx, tree, hf_index, + ett_t124_T_nonCollapsingCapabilities, T_nonCollapsingCapabilities_set_of); + + return offset; +} + + +static const per_sequence_t ApplicationRecord_sequence[] = { + { &hf_t124_applicationActive, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_conductingOperationCapable, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_startupChannel , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_ChannelType }, + { &hf_t124_applicationUserID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_UserID }, + { &hf_t124_nonCollapsingCapabilities, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_T_nonCollapsingCapabilities }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ApplicationRecord(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ApplicationRecord, ApplicationRecord_sequence); + + return offset; +} + + +static const value_string t124_CapabilityClass_vals[] = { + { 0, "logical" }, + { 1, "unsignedMin" }, + { 2, "unsignedMax" }, + { 0, NULL } +}; + +static const per_choice_t CapabilityClass_choice[] = { + { 0, &hf_t124_logical , ASN1_EXTENSION_ROOT , dissect_t124_NULL }, + { 1, &hf_t124_unsignedMin , ASN1_EXTENSION_ROOT , dissect_t124_INTEGER_0_MAX }, + { 2, &hf_t124_unsignedMax , ASN1_EXTENSION_ROOT , dissect_t124_INTEGER_0_MAX }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_CapabilityClass(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_CapabilityClass, CapabilityClass_choice, + NULL); + + return offset; +} + + + +static int +dissect_t124_EntityID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 65535U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t T_expectedCapabilitySet_item_sequence[] = { + { &hf_t124_capabilityID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_CapabilityID }, + { &hf_t124_capabilityClass, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_CapabilityClass }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_T_expectedCapabilitySet_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_T_expectedCapabilitySet_item, T_expectedCapabilitySet_item_sequence); + + return offset; +} + + +static const per_sequence_t T_expectedCapabilitySet_set_of[1] = { + { &hf_t124_expectedCapabilitySet_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_T_expectedCapabilitySet_item }, +}; + +static int +dissect_t124_T_expectedCapabilitySet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_set_of(tvb, offset, actx, tree, hf_index, + ett_t124_T_expectedCapabilitySet, T_expectedCapabilitySet_set_of); + + return offset; +} + + +static const per_sequence_t ApplicationInvokeSpecifier_sequence[] = { + { &hf_t124_sessionKey , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_SessionKey }, + { &hf_t124_expectedCapabilitySet, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_T_expectedCapabilitySet }, + { &hf_t124_startupChannel , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_ChannelType }, + { &hf_t124_mandatoryFlag , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ApplicationInvokeSpecifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ApplicationInvokeSpecifier, ApplicationInvokeSpecifier_sequence); + + return offset; +} + + + +static int +dissect_t124_OCTET_STRING_SIZE_0_64(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + 0, 64, FALSE, NULL); + + return offset; +} + + +static const per_sequence_t RegistryKey_sequence[] = { + { &hf_t124_sessionKey , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SessionKey }, + { &hf_t124_resourceID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_OCTET_STRING_SIZE_0_64 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_RegistryKey(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_RegistryKey, RegistryKey_sequence); + + return offset; +} + + +static const value_string t124_RegistryItem_vals[] = { + { 0, "channelID" }, + { 1, "tokenID" }, + { 2, "parameter" }, + { 3, "vacant" }, + { 0, NULL } +}; + +static const per_choice_t RegistryItem_choice[] = { + { 0, &hf_t124_channelID , ASN1_EXTENSION_ROOT , dissect_t124_DynamicChannelID }, + { 1, &hf_t124_tokenID , ASN1_EXTENSION_ROOT , dissect_t124_DynamicTokenID }, + { 2, &hf_t124_parameter , ASN1_EXTENSION_ROOT , dissect_t124_OCTET_STRING_SIZE_0_64 }, + { 3, &hf_t124_vacant , ASN1_EXTENSION_ROOT , dissect_t124_NULL }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_RegistryItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_RegistryItem, RegistryItem_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_owned_sequence[] = { + { &hf_t124_nodeID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserID }, + { &hf_t124_entityID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_EntityID }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_T_owned(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_T_owned, T_owned_sequence); + + return offset; +} + + +static const value_string t124_RegistryEntryOwner_vals[] = { + { 0, "owned" }, + { 1, "notOwned" }, + { 0, NULL } +}; + +static const per_choice_t RegistryEntryOwner_choice[] = { + { 0, &hf_t124_owned , ASN1_NO_EXTENSIONS , dissect_t124_T_owned }, + { 1, &hf_t124_notOwned , ASN1_NO_EXTENSIONS , dissect_t124_NULL }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_RegistryEntryOwner(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_RegistryEntryOwner, RegistryEntryOwner_choice, + NULL); + + return offset; +} + + +static const value_string t124_RegistryModificationRights_vals[] = { + { 0, "owner" }, + { 1, "session" }, + { 2, "public" }, + { 0, NULL } +}; + + +static int +dissect_t124_RegistryModificationRights(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 3, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t UserIDIndication_sequence[] = { + { &hf_t124_tag , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_INTEGER }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_UserIDIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_UserIDIndication, UserIDIndication_sequence); + + return offset; +} + + +static const per_sequence_t SET_OF_Privilege_set_of[1] = { + { &hf_t124_conductorPrivileges_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Privilege }, +}; + +static int +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_) { + offset = dissect_per_set_of(tvb, offset, actx, tree, hf_index, + ett_t124_SET_OF_Privilege, SET_OF_Privilege_set_of); + + return offset; +} + + +static const per_sequence_t ConferenceCreateRequest_sequence[] = { + { &hf_t124_conferenceName , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_ConferenceName }, + { &hf_t124_convenerPassword, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_Password }, + { &hf_t124_password , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_Password }, + { &hf_t124_lockedConference, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_listedConference, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_conductibleConference, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_terminationMethod, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_TerminationMethod }, + { &hf_t124_conductorPrivileges, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_SET_OF_Privilege }, + { &hf_t124_conductedPrivileges, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_SET_OF_Privilege }, + { &hf_t124_nonConductedPrivileges, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_SET_OF_Privilege }, + { &hf_t124_conferenceDescription, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_TextString }, + { &hf_t124_callerIdentifier, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_TextString }, + { &hf_t124_userData , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_UserData }, + { &hf_t124_conferencePriority, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_t124_ConferencePriority }, + { &hf_t124_conferenceMode , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_t124_ConferenceMode }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ConferenceCreateRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConferenceCreateRequest, ConferenceCreateRequest_sequence); + + return offset; +} + + +static const value_string t124_T_result_vals[] = { + { 0, "success" }, + { 1, "userRejected" }, + { 2, "resourcesNotAvailable" }, + { 3, "rejectedForSymmetryBreaking" }, + { 4, "lockedConferenceNotSupported" }, + { 0, NULL } +}; + + +static int +dissect_t124_T_result(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 5, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const per_sequence_t ConferenceCreateResponse_sequence[] = { + { &hf_t124_nodeID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_UserID }, + { &hf_t124_tag , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_INTEGER }, + { &hf_t124_result , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_T_result }, + { &hf_t124_userData , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_UserData }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ConferenceCreateResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConferenceCreateResponse, ConferenceCreateResponse_sequence); + + return offset; +} + + +static const per_sequence_t ConferenceQueryRequest_sequence[] = { + { &hf_t124_nodeType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_NodeType }, + { &hf_t124_asymmetryIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_AsymmetryIndicator }, + { &hf_t124_userData , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_UserData }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ConferenceQueryRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConferenceQueryRequest, ConferenceQueryRequest_sequence); + + return offset; +} + + +static const per_sequence_t SET_OF_ConferenceDescriptor_set_of[1] = { + { &hf_t124_conferenceList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_ConferenceDescriptor }, +}; + +static int +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_) { + offset = dissect_per_set_of(tvb, offset, actx, tree, hf_index, + ett_t124_SET_OF_ConferenceDescriptor, SET_OF_ConferenceDescriptor_set_of); + + return offset; +} + + +static const value_string t124_QueryResponseResult_vals[] = { + { 0, "success" }, + { 1, "userRejected" }, + { 0, NULL } +}; + + +static int +dissect_t124_QueryResponseResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const per_sequence_t ConferenceQueryResponse_sequence[] = { + { &hf_t124_nodeType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_NodeType }, + { &hf_t124_asymmetryIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_AsymmetryIndicator }, + { &hf_t124_conferenceList , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_ConferenceDescriptor }, + { &hf_t124_queryResponseResult, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_QueryResponseResult }, + { &hf_t124_userData , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_UserData }, + { &hf_t124_waitForInvitationFlag, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_t124_BOOLEAN }, + { &hf_t124_noUnlistedConferenceFlag, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_t124_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ConferenceQueryResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConferenceQueryResponse, ConferenceQueryResponse_sequence); + + return offset; +} + + +static const per_sequence_t ConferenceJoinRequest_sequence[] = { + { &hf_t124_conferenceName_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_ConferenceNameSelector }, + { &hf_t124_conferenceNameModifier, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_ConferenceNameModifier }, + { &hf_t124_tag , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_INTEGER }, + { &hf_t124_password_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_PasswordChallengeRequestResponse }, + { &hf_t124_convenerPassword_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_PasswordSelector }, + { &hf_t124_callerIdentifier, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_TextString }, + { &hf_t124_userData , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_UserData }, + { &hf_t124_nodeCategory , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_t124_NodeCategory }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ConferenceJoinRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConferenceJoinRequest, ConferenceJoinRequest_sequence); + + return offset; +} + + +static const value_string t124_JoinResponseResult_vals[] = { + { 0, "success" }, + { 1, "userRejected" }, + { 2, "invalidConference" }, + { 3, "invalidPassword" }, + { 4, "invalidConvenerPassword" }, + { 5, "challengeResponseRequired" }, + { 6, "invalidChallengeResponse" }, + { 0, NULL } +}; + + +static int +dissect_t124_JoinResponseResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 7, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const per_sequence_t ConferenceJoinResponse_sequence[] = { + { &hf_t124_nodeID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_UserID }, + { &hf_t124_topNodeID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_UserID }, + { &hf_t124_tag , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_INTEGER }, + { &hf_t124_conferenceNameAlias, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_ConferenceNameSelector }, + { &hf_t124_passwordInTheClearRequired, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_lockedConference, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_listedConference, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_conductibleConference, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_terminationMethod, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_TerminationMethod }, + { &hf_t124_conductorPrivileges, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_SET_OF_Privilege }, + { &hf_t124_conductedPrivileges, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_SET_OF_Privilege }, + { &hf_t124_nonConductedPrivileges, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_SET_OF_Privilege }, + { &hf_t124_conferenceDescription, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_TextString }, + { &hf_t124_password_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_PasswordChallengeRequestResponse }, + { &hf_t124_joinResponseResult, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_JoinResponseResult }, + { &hf_t124_userData , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_UserData }, + { &hf_t124_nodeCategory , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_t124_NodeCategory }, + { &hf_t124_conferenceMode , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_t124_ConferenceMode }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ConferenceJoinResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConferenceJoinResponse, ConferenceJoinResponse_sequence); + + return offset; +} + + +static const per_sequence_t ConferenceInviteRequest_sequence[] = { + { &hf_t124_conferenceName , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_ConferenceName }, + { &hf_t124_nodeID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_UserID }, + { &hf_t124_topNodeID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_UserID }, + { &hf_t124_tag , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_INTEGER }, + { &hf_t124_passwordInTheClearRequired, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_lockedConference, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_listedConference, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_conductibleConference, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_terminationMethod, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_TerminationMethod }, + { &hf_t124_conductorPrivileges, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_SET_OF_Privilege }, + { &hf_t124_conductedPrivileges, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_SET_OF_Privilege }, + { &hf_t124_nonConductedPrivileges, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_SET_OF_Privilege }, + { &hf_t124_conferenceDescription, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_TextString }, + { &hf_t124_callerIdentifier, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_TextString }, + { &hf_t124_userData , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_UserData }, + { &hf_t124_conferencePriority, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_t124_ConferencePriority }, + { &hf_t124_nodeCategory , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_t124_NodeCategory }, + { &hf_t124_conferenceMode , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_t124_ConferenceMode }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ConferenceInviteRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConferenceInviteRequest, ConferenceInviteRequest_sequence); + + return offset; +} + + +static const value_string t124_InviteResponseResult_vals[] = { + { 0, "success" }, + { 1, "userRejected" }, + { 0, NULL } +}; + + +static int +dissect_t124_InviteResponseResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const per_sequence_t ConferenceInviteResponse_sequence[] = { + { &hf_t124_inviteResponseResult, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_InviteResponseResult }, + { &hf_t124_userData , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_UserData }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ConferenceInviteResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConferenceInviteResponse, ConferenceInviteResponse_sequence); + + return offset; +} + + +static const per_sequence_t ConferenceAddRequest_sequence[] = { + { &hf_t124_networkAddress_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_NetworkAddress }, + { &hf_t124_requestingNode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_UserID }, + { &hf_t124_tag , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_INTEGER }, + { &hf_t124_addingMCU , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_UserID }, + { &hf_t124_userData , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_UserData }, + { &hf_t124_nodeCategory , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_t124_NodeCategory }, + { &hf_t124_networkAddressV2, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_t124_NetworkAddressV2 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ConferenceAddRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConferenceAddRequest, ConferenceAddRequest_sequence); + + return offset; +} + + +static const value_string t124_AddResponseResult_vals[] = { + { 0, "success" }, + { 1, "invalidRequester" }, + { 2, "invalidNetworkType" }, + { 3, "invalidNetworkAddress" }, + { 4, "addedNodeBusy" }, + { 5, "networkBusy" }, + { 6, "noPortsAvailable" }, + { 7, "connectionUnsuccessful" }, + { 0, NULL } +}; + + +static int +dissect_t124_AddResponseResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 8, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const per_sequence_t ConferenceAddResponse_sequence[] = { + { &hf_t124_tag , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_INTEGER }, + { &hf_t124_addResponseResult, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_AddResponseResult }, + { &hf_t124_userData , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_UserData }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ConferenceAddResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConferenceAddResponse, ConferenceAddResponse_sequence); + + return offset; +} + + +static const per_sequence_t ConferenceLockRequest_sequence[] = { + { NULL, ASN1_EXTENSION_ROOT, 0, NULL } +}; + +static int +dissect_t124_ConferenceLockRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConferenceLockRequest, ConferenceLockRequest_sequence); + + return offset; +} + + +static const value_string t124_LockResponseResult_vals[] = { + { 0, "success" }, + { 1, "invalidRequester" }, + { 2, "alreadyLocked" }, + { 0, NULL } +}; + + +static int +dissect_t124_LockResponseResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 3, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const per_sequence_t ConferenceLockResponse_sequence[] = { + { &hf_t124_lockResponseResult, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_LockResponseResult }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ConferenceLockResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConferenceLockResponse, ConferenceLockResponse_sequence); + + return offset; +} + + +static const per_sequence_t ConferenceLockIndication_sequence[] = { + { NULL, ASN1_EXTENSION_ROOT, 0, NULL } +}; + +static int +dissect_t124_ConferenceLockIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConferenceLockIndication, ConferenceLockIndication_sequence); + + return offset; +} + + +static const per_sequence_t ConferenceUnlockRequest_sequence[] = { + { NULL, ASN1_EXTENSION_ROOT, 0, NULL } +}; + +static int +dissect_t124_ConferenceUnlockRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConferenceUnlockRequest, ConferenceUnlockRequest_sequence); + + return offset; +} + + +static const value_string t124_UnlockResponseResult_vals[] = { + { 0, "success" }, + { 1, "invalidRequester" }, + { 2, "alreadyUnlocked" }, + { 0, NULL } +}; + + +static int +dissect_t124_UnlockResponseResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 3, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const per_sequence_t ConferenceUnlockResponse_sequence[] = { + { &hf_t124_unlockResponseResult, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_UnlockResponseResult }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ConferenceUnlockResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConferenceUnlockResponse, ConferenceUnlockResponse_sequence); + + return offset; +} + + +static const per_sequence_t ConferenceUnlockIndication_sequence[] = { + { NULL, ASN1_EXTENSION_ROOT, 0, NULL } +}; + +static int +dissect_t124_ConferenceUnlockIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConferenceUnlockIndication, ConferenceUnlockIndication_sequence); + + return offset; +} + + +static const value_string t124_TerminateRequestReason_vals[] = { + { 0, "userInitiated" }, + { 1, "timedConferenceTermination" }, + { 0, NULL } +}; + + +static int +dissect_t124_TerminateRequestReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const per_sequence_t ConferenceTerminateRequest_sequence[] = { + { &hf_t124_terminateRequestReason, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_TerminateRequestReason }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ConferenceTerminateRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConferenceTerminateRequest, ConferenceTerminateRequest_sequence); + + return offset; +} + + +static const value_string t124_TerminateResponseResult_vals[] = { + { 0, "success" }, + { 1, "invalidRequester" }, + { 0, NULL } +}; + + +static int +dissect_t124_TerminateResponseResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const per_sequence_t ConferenceTerminateResponse_sequence[] = { + { &hf_t124_terminateResponseResult, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_TerminateResponseResult }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ConferenceTerminateResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConferenceTerminateResponse, ConferenceTerminateResponse_sequence); + + return offset; +} + + +static const value_string t124_TerminateIndicationReason_vals[] = { + { 0, "userInitiated" }, + { 1, "timedConferenceTermination" }, + { 0, NULL } +}; + + +static int +dissect_t124_TerminateIndicationReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const per_sequence_t ConferenceTerminateIndication_sequence[] = { + { &hf_t124_terminateIndicationReason, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_TerminateIndicationReason }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ConferenceTerminateIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConferenceTerminateIndication, ConferenceTerminateIndication_sequence); + + return offset; +} + + +static const value_string t124_EjectUserRequestReason_vals[] = { + { 0, "userInitiated" }, + { 0, NULL } +}; + + +static int +dissect_t124_EjectUserRequestReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const per_sequence_t ConferenceEjectUserRequest_sequence[] = { + { &hf_t124_nodeToEject , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_UserID }, + { &hf_t124_ejectUserRequestReason, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_EjectUserRequestReason }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ConferenceEjectUserRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConferenceEjectUserRequest, ConferenceEjectUserRequest_sequence); + + return offset; +} + + +static const value_string t124_EjectUserResponseResult_vals[] = { + { 0, "success" }, + { 1, "invalidRequester" }, + { 2, "invalidNode" }, + { 0, NULL } +}; + + +static int +dissect_t124_EjectUserResponseResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 3, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const per_sequence_t ConferenceEjectUserResponse_sequence[] = { + { &hf_t124_nodeToEject , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_UserID }, + { &hf_t124_ejectUserResponseResult, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_EjectUserResponseResult }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ConferenceEjectUserResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConferenceEjectUserResponse, ConferenceEjectUserResponse_sequence); + + return offset; +} + + +static const value_string t124_T_reason_vals[] = { + { 0, "userInitiated" }, + { 1, "higherNodeDisconnected" }, + { 2, "higherNodeEjected" }, + { 0, NULL } +}; + + +static int +dissect_t124_T_reason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 3, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const per_sequence_t ConferenceEjectUserIndication_sequence[] = { + { &hf_t124_nodeToEject , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_UserID }, + { &hf_t124_reason , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_T_reason }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ConferenceEjectUserIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConferenceEjectUserIndication, ConferenceEjectUserIndication_sequence); + + return offset; +} + + +static const per_sequence_t SET_SIZE_1_65536_OF_UserID_set_of[1] = { + { &hf_t124_transferringNodes_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserID }, +}; + +static int +dissect_t124_SET_SIZE_1_65536_OF_UserID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index, + ett_t124_SET_SIZE_1_65536_OF_UserID, SET_SIZE_1_65536_OF_UserID_set_of, + 1, 65536, FALSE); + + return offset; +} + + +static const per_sequence_t ConferenceTransferRequest_sequence[] = { + { &hf_t124_conferenceName_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_ConferenceNameSelector }, + { &hf_t124_conferenceNameModifier, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_ConferenceNameModifier }, + { &hf_t124_networkAddress_02, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_NetworkAddress }, + { &hf_t124_transferringNodes, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_SET_SIZE_1_65536_OF_UserID }, + { &hf_t124_password_02 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_PasswordSelector }, + { &hf_t124_networkAddressV2, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_t124_NetworkAddressV2 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ConferenceTransferRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConferenceTransferRequest, ConferenceTransferRequest_sequence); + + return offset; +} + + +static const value_string t124_TransferResponseResult_vals[] = { + { 0, "success" }, + { 1, "invalidRequester" }, + { 0, NULL } +}; + + +static int +dissect_t124_TransferResponseResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const per_sequence_t ConferenceTransferResponse_sequence[] = { + { &hf_t124_conferenceName_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_ConferenceNameSelector }, + { &hf_t124_conferenceNameModifier, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_ConferenceNameModifier }, + { &hf_t124_transferringNodes, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_SET_SIZE_1_65536_OF_UserID }, + { &hf_t124_transferResponseResult, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_TransferResponseResult }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ConferenceTransferResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConferenceTransferResponse, ConferenceTransferResponse_sequence); + + return offset; +} + + +static const per_sequence_t ConferenceTransferIndication_sequence[] = { + { &hf_t124_conferenceName_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_ConferenceNameSelector }, + { &hf_t124_conferenceNameModifier, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_ConferenceNameModifier }, + { &hf_t124_networkAddress_02, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_NetworkAddress }, + { &hf_t124_transferringNodes, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_SET_SIZE_1_65536_OF_UserID }, + { &hf_t124_password_02 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_PasswordSelector }, + { &hf_t124_networkAddressV2, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_t124_NetworkAddressV2 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ConferenceTransferIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConferenceTransferIndication, ConferenceTransferIndication_sequence); + + return offset; +} + + +static const per_sequence_t T_nodeRefresh_item_sequence[] = { + { &hf_t124_nodeID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserID }, + { &hf_t124_nodeRecord , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_NodeRecord }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_T_nodeRefresh_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_T_nodeRefresh_item, T_nodeRefresh_item_sequence); + + return offset; +} + + +static const per_sequence_t NodeRefresh_set_of[1] = { + { &hf_t124_nodeRefresh_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_T_nodeRefresh_item }, +}; + +static int +dissect_t124_NodeRefresh(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index, + ett_t124_NodeRefresh, NodeRefresh_set_of, + 1, 65536, FALSE); + + return offset; +} + + +static const value_string t124_T_nodeUpdate_vals[] = { + { 0, "addRecord" }, + { 1, "replaceRecord" }, + { 2, "removeRecord" }, + { 0, NULL } +}; + +static const per_choice_t T_nodeUpdate_choice[] = { + { 0, &hf_t124_addRecord , ASN1_EXTENSION_ROOT , dissect_t124_NodeRecord }, + { 1, &hf_t124_replaceRecord , ASN1_EXTENSION_ROOT , dissect_t124_NodeRecord }, + { 2, &hf_t124_removeRecord , ASN1_EXTENSION_ROOT , dissect_t124_NULL }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_T_nodeUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_T_nodeUpdate, T_nodeUpdate_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_update_item_sequence[] = { + { &hf_t124_nodeID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserID }, + { &hf_t124_nodeUpdate , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_T_nodeUpdate }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_T_update_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_T_update_item, T_update_item_sequence); + + return offset; +} + + +static const per_sequence_t T_update_set_of[1] = { + { &hf_t124_update_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_T_update_item }, +}; + +static int +dissect_t124_T_update(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index, + ett_t124_T_update, T_update_set_of, + 1, 65536, FALSE); + + return offset; +} + + +static const value_string t124_T_nodeRecordList_vals[] = { + { 0, "noChange" }, + { 1, "refresh" }, + { 2, "update" }, + { 0, NULL } +}; + +static const per_choice_t T_nodeRecordList_choice[] = { + { 0, &hf_t124_noChange , ASN1_EXTENSION_ROOT , dissect_t124_NULL }, + { 1, &hf_t124_nodeRefresh , ASN1_EXTENSION_ROOT , dissect_t124_NodeRefresh }, + { 2, &hf_t124_update , ASN1_EXTENSION_ROOT , dissect_t124_T_update }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_T_nodeRecordList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_T_nodeRecordList, T_nodeRecordList_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_nodeInformation_sequence[] = { + { &hf_t124_nodeRecordList , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_T_nodeRecordList }, + { &hf_t124_rosterInstanceNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_INTEGER_0_65535 }, + { &hf_t124_nodesAdded , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_nodesRemoved , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_T_nodeInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_T_nodeInformation, T_nodeInformation_sequence); + + return offset; +} + + +static const per_sequence_t T_applicationRefresh_item_sequence[] = { + { &hf_t124_nodeID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserID }, + { &hf_t124_entityID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_EntityID }, + { &hf_t124_applicationRecord, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_ApplicationRecord }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_T_applicationRefresh_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_T_applicationRefresh_item, T_applicationRefresh_item_sequence); + + return offset; +} + + +static const per_sequence_t ApplicationRefresh_set_of[1] = { + { &hf_t124_applicationRefresh_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_T_applicationRefresh_item }, +}; + +static int +dissect_t124_ApplicationRefresh(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index, + ett_t124_ApplicationRefresh, ApplicationRefresh_set_of, + 0, 65535, FALSE); + + return offset; +} + + +static const value_string t124_T_applicationUpdate_vals[] = { + { 0, "addRecord" }, + { 1, "replaceRecord" }, + { 2, "removeRecord" }, + { 0, NULL } +}; + +static const per_choice_t T_applicationUpdate_choice[] = { + { 0, &hf_t124_addRecord_01 , ASN1_EXTENSION_ROOT , dissect_t124_ApplicationRecord }, + { 1, &hf_t124_replaceRecord_01, ASN1_EXTENSION_ROOT , dissect_t124_ApplicationRecord }, + { 2, &hf_t124_removeRecord , ASN1_EXTENSION_ROOT , dissect_t124_NULL }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_T_applicationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_T_applicationUpdate, T_applicationUpdate_choice, + NULL); + + return offset; +} + + +static const per_sequence_t ApplicationUpdateItem_sequence[] = { + { &hf_t124_nodeID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserID }, + { &hf_t124_entityID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_EntityID }, + { &hf_t124_applicationUpdate_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_T_applicationUpdate }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ApplicationUpdateItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ApplicationUpdateItem, ApplicationUpdateItem_sequence); + + return offset; +} + + +static const per_sequence_t ApplicationUpdate_set_of[1] = { + { &hf_t124_applicationUpdateItem, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_ApplicationUpdateItem }, +}; + +static int +dissect_t124_ApplicationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index, + ett_t124_ApplicationUpdate, ApplicationUpdate_set_of, + 1, 65536, FALSE); + + return offset; +} + + +static const value_string t124_T_applicationRecordList_vals[] = { + { 0, "noChange" }, + { 1, "refresh" }, + { 2, "update" }, + { 0, NULL } +}; + +static const per_choice_t T_applicationRecordList_choice[] = { + { 0, &hf_t124_noChange , ASN1_EXTENSION_ROOT , dissect_t124_NULL }, + { 1, &hf_t124_applicationRefresh, ASN1_EXTENSION_ROOT , dissect_t124_ApplicationRefresh }, + { 2, &hf_t124_applicationUpdate, ASN1_EXTENSION_ROOT , dissect_t124_ApplicationUpdate }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_T_applicationRecordList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_T_applicationRecordList, T_applicationRecordList_choice, + NULL); + + return offset; +} + + + +static int +dissect_t124_INTEGER_1_65536(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 65536U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t T_refresh_item_sequence[] = { + { &hf_t124_capabilityID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_CapabilityID }, + { &hf_t124_capabilityClass, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_CapabilityClass }, + { &hf_t124_numberOfEntities, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_INTEGER_1_65536 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_T_refresh_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_T_refresh_item, T_refresh_item_sequence); + + return offset; +} + + +static const per_sequence_t T_refresh_set_of[1] = { + { &hf_t124_refresh_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_T_refresh_item }, +}; + +static int +dissect_t124_T_refresh(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_set_of(tvb, offset, actx, tree, hf_index, + ett_t124_T_refresh, T_refresh_set_of); + + return offset; +} + + +static const value_string t124_T_applicationCapabilitiesList_vals[] = { + { 0, "noChange" }, + { 1, "refresh" }, + { 0, NULL } +}; + +static const per_choice_t T_applicationCapabilitiesList_choice[] = { + { 0, &hf_t124_noChange , ASN1_EXTENSION_ROOT , dissect_t124_NULL }, + { 1, &hf_t124_refresh , ASN1_EXTENSION_ROOT , dissect_t124_T_refresh }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_T_applicationCapabilitiesList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_T_applicationCapabilitiesList, T_applicationCapabilitiesList_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_applicationInformation_item_sequence[] = { + { &hf_t124_sessionKey , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_SessionKey }, + { &hf_t124_applicationRecordList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_T_applicationRecordList }, + { &hf_t124_applicationCapabilitiesList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_T_applicationCapabilitiesList }, + { &hf_t124_rosterInstanceNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_INTEGER_0_65535 }, + { &hf_t124_peerEntitiesAdded, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_peerEntitiesRemoved, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_T_applicationInformation_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_T_applicationInformation_item, T_applicationInformation_item_sequence); + + return offset; +} + + +static const per_sequence_t T_applicationInformation_set_of[1] = { + { &hf_t124_applicationInformation_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_T_applicationInformation_item }, +}; + +static int +dissect_t124_T_applicationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index, + ett_t124_T_applicationInformation, T_applicationInformation_set_of, + 0, 65535, FALSE); + + return offset; +} + + +static const per_sequence_t RosterUpdateIndication_sequence[] = { + { &hf_t124_fullRefresh , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_nodeInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_T_nodeInformation }, + { &hf_t124_applicationInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_T_applicationInformation }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_RosterUpdateIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_RosterUpdateIndication, RosterUpdateIndication_sequence); + + return offset; +} + + +static const per_sequence_t SET_SIZE_1_65536_OF_ApplicationInvokeSpecifier_set_of[1] = { + { &hf_t124_applicationProtocolEntiyList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_ApplicationInvokeSpecifier }, +}; + +static int +dissect_t124_SET_SIZE_1_65536_OF_ApplicationInvokeSpecifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index, + ett_t124_SET_SIZE_1_65536_OF_ApplicationInvokeSpecifier, SET_SIZE_1_65536_OF_ApplicationInvokeSpecifier_set_of, + 1, 65536, FALSE); + + return offset; +} + + +static const per_sequence_t ApplicationInvokeIndication_sequence[] = { + { &hf_t124_applicationProtocolEntiyList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_SET_SIZE_1_65536_OF_ApplicationInvokeSpecifier }, + { &hf_t124_destinationNodes, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_SET_SIZE_1_65536_OF_UserID }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ApplicationInvokeIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ApplicationInvokeIndication, ApplicationInvokeIndication_sequence); + + return offset; +} + + +static const per_sequence_t RegistryRegisterChannelRequest_sequence[] = { + { &hf_t124_entityID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_EntityID }, + { &hf_t124_key_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_RegistryKey }, + { &hf_t124_channelID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_DynamicChannelID }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_RegistryRegisterChannelRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_RegistryRegisterChannelRequest, RegistryRegisterChannelRequest_sequence); + + return offset; +} + + +static const per_sequence_t RegistryAssignTokenRequest_sequence[] = { + { &hf_t124_entityID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_EntityID }, + { &hf_t124_key_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_RegistryKey }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_RegistryAssignTokenRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_RegistryAssignTokenRequest, RegistryAssignTokenRequest_sequence); + + return offset; +} + + +static const per_sequence_t RegistrySetParameterRequest_sequence[] = { + { &hf_t124_entityID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_EntityID }, + { &hf_t124_key_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_RegistryKey }, + { &hf_t124_parameter , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_OCTET_STRING_SIZE_0_64 }, + { &hf_t124_modificationRights, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_RegistryModificationRights }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_RegistrySetParameterRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_RegistrySetParameterRequest, RegistrySetParameterRequest_sequence); + + return offset; +} + + +static const per_sequence_t RegistryRetrieveEntryRequest_sequence[] = { + { &hf_t124_entityID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_EntityID }, + { &hf_t124_key_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_RegistryKey }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_RegistryRetrieveEntryRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_RegistryRetrieveEntryRequest, RegistryRetrieveEntryRequest_sequence); + + return offset; +} + + +static const per_sequence_t RegistryDeleteEntryRequest_sequence[] = { + { &hf_t124_entityID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_EntityID }, + { &hf_t124_key_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_RegistryKey }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_RegistryDeleteEntryRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_RegistryDeleteEntryRequest, RegistryDeleteEntryRequest_sequence); + + return offset; +} + + +static const per_sequence_t RegistryMonitorEntryRequest_sequence[] = { + { &hf_t124_entityID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_EntityID }, + { &hf_t124_key_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_RegistryKey }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_RegistryMonitorEntryRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_RegistryMonitorEntryRequest, RegistryMonitorEntryRequest_sequence); + + return offset; +} + + +static const per_sequence_t RegistryMonitorEntryIndication_sequence[] = { + { &hf_t124_key_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_RegistryKey }, + { &hf_t124_item , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_RegistryItem }, + { &hf_t124_owner , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_RegistryEntryOwner }, + { &hf_t124_modificationRights, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_RegistryModificationRights }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_RegistryMonitorEntryIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_RegistryMonitorEntryIndication, RegistryMonitorEntryIndication_sequence); + + return offset; +} + + + +static int +dissect_t124_INTEGER_1_1024(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 1024U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t RegistryAllocateHandleRequest_sequence[] = { + { &hf_t124_entityID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_EntityID }, + { &hf_t124_numberOfHandles, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_INTEGER_1_1024 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_RegistryAllocateHandleRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_RegistryAllocateHandleRequest, RegistryAllocateHandleRequest_sequence); + + return offset; +} + + +static const value_string t124_AllocateHandleResponseResult_vals[] = { + { 0, "successful" }, + { 1, "noHandlesAvailable" }, + { 0, NULL } +}; + + +static int +dissect_t124_AllocateHandleResponseResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const per_sequence_t RegistryAllocateHandleResponse_sequence[] = { + { &hf_t124_entityID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_EntityID }, + { &hf_t124_numberOfHandles, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_INTEGER_1_1024 }, + { &hf_t124_firstHandle , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_Handle }, + { &hf_t124_allocateHandleResponseResult, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_AllocateHandleResponseResult }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_RegistryAllocateHandleResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_RegistryAllocateHandleResponse, RegistryAllocateHandleResponse_sequence); + + return offset; +} + + +static const value_string t124_T_primitiveType_vals[] = { + { 0, "registerChannel" }, + { 1, "assignToken" }, + { 2, "setParameter" }, + { 3, "retrieveEntry" }, + { 4, "deleteEntry" }, + { 5, "monitorEntry" }, + { 0, NULL } +}; + + +static int +dissect_t124_T_primitiveType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 6, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const value_string t124_T_result_01_vals[] = { + { 0, "successful" }, + { 1, "belongsToOther" }, + { 2, "tooManyEntries" }, + { 3, "inconsistentType" }, + { 4, "entryNotFound" }, + { 5, "entryAlreadyExists" }, + { 6, "invalidRequester" }, + { 0, NULL } +}; + + +static int +dissect_t124_T_result_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 7, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const per_sequence_t RegistryResponse_sequence[] = { + { &hf_t124_entityID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_EntityID }, + { &hf_t124_primitiveType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_T_primitiveType }, + { &hf_t124_key_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_RegistryKey }, + { &hf_t124_item , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_RegistryItem }, + { &hf_t124_owner , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_RegistryEntryOwner }, + { &hf_t124_modificationRights, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_RegistryModificationRights }, + { &hf_t124_result_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_T_result_01 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_RegistryResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_RegistryResponse, RegistryResponse_sequence); + + return offset; +} + + +static const per_sequence_t ConductorAssignIndication_sequence[] = { + { &hf_t124_conductingNode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_UserID }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ConductorAssignIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConductorAssignIndication, ConductorAssignIndication_sequence); + + return offset; +} + + +static const per_sequence_t ConductorReleaseIndication_sequence[] = { + { NULL, ASN1_EXTENSION_ROOT, 0, NULL } +}; + +static int +dissect_t124_ConductorReleaseIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConductorReleaseIndication, ConductorReleaseIndication_sequence); + + return offset; +} + + +static const per_sequence_t ConductorPermissionAskIndication_sequence[] = { + { &hf_t124_grantFlag , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ConductorPermissionAskIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConductorPermissionAskIndication, ConductorPermissionAskIndication_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_0_65535_OF_UserID_sequence_of[1] = { + { &hf_t124_permissionList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserID }, +}; + +static int +dissect_t124_SEQUENCE_SIZE_0_65535_OF_UserID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_t124_SEQUENCE_SIZE_0_65535_OF_UserID, SEQUENCE_SIZE_0_65535_OF_UserID_sequence_of, + 0, 65535, FALSE); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_65536_OF_UserID_sequence_of[1] = { + { &hf_t124_waitingList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserID }, +}; + +static int +dissect_t124_SEQUENCE_SIZE_1_65536_OF_UserID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_t124_SEQUENCE_SIZE_1_65536_OF_UserID, SEQUENCE_SIZE_1_65536_OF_UserID_sequence_of, + 1, 65536, FALSE); + + return offset; +} + + +static const per_sequence_t ConductorPermissionGrantIndication_sequence[] = { + { &hf_t124_permissionList , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_SEQUENCE_SIZE_0_65535_OF_UserID }, + { &hf_t124_waitingList , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_SEQUENCE_SIZE_1_65536_OF_UserID }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ConductorPermissionGrantIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConductorPermissionGrantIndication, ConductorPermissionGrantIndication_sequence); + + return offset; +} + + +static const per_sequence_t ConferenceTimeRemainingIndication_sequence[] = { + { &hf_t124_timeRemaining , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_Time }, + { &hf_t124_nodeID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_UserID }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ConferenceTimeRemainingIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConferenceTimeRemainingIndication, ConferenceTimeRemainingIndication_sequence); + + return offset; +} + + +static const per_sequence_t ConferenceTimeInquireIndication_sequence[] = { + { &hf_t124_nodeSpecificTimeFlag, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ConferenceTimeInquireIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConferenceTimeInquireIndication, ConferenceTimeInquireIndication_sequence); + + return offset; +} + + +static const per_sequence_t ConferenceTimeExtendIndication_sequence[] = { + { &hf_t124_timeToExtend , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_Time }, + { &hf_t124_nodeSpecificTimeFlag, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ConferenceTimeExtendIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConferenceTimeExtendIndication, ConferenceTimeExtendIndication_sequence); + + return offset; +} + + +static const per_sequence_t ConferenceAssistanceIndication_sequence[] = { + { &hf_t124_userData , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_t124_UserData }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ConferenceAssistanceIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConferenceAssistanceIndication, ConferenceAssistanceIndication_sequence); + + return offset; +} + + +static const per_sequence_t TextMessageIndication_sequence[] = { + { &hf_t124_message , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_TextString }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_TextMessageIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_TextMessageIndication, TextMessageIndication_sequence); + + return offset; +} + + +static const per_sequence_t NonStandardPDU_sequence[] = { + { &hf_t124_data_02 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_t124_NonStandardParameter }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_NonStandardPDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_NonStandardPDU, NonStandardPDU_sequence); + + return offset; +} + + +static const value_string t124_RequestPDU_vals[] = { + { 0, "conferenceJoinRequest" }, + { 1, "conferenceAddRequest" }, + { 2, "conferenceLockRequest" }, + { 3, "conferenceUnlockRequest" }, + { 4, "conferenceTerminateRequest" }, + { 5, "conferenceEjectUserRequest" }, + { 6, "conferenceTransferRequest" }, + { 7, "registryRegisterChannelRequest" }, + { 8, "registryAssignTokenRequest" }, + { 9, "registrySetParameterRequest" }, + { 10, "registryRetrieveEntryRequest" }, + { 11, "registryDeleteEntryRequest" }, + { 12, "registryMonitorEntryRequest" }, + { 13, "registryAllocateHandleRequest" }, + { 14, "nonStandardRequest" }, + { 0, NULL } +}; + +static const per_choice_t RequestPDU_choice[] = { + { 0, &hf_t124_conferenceJoinRequest, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceJoinRequest }, + { 1, &hf_t124_conferenceAddRequest, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceAddRequest }, + { 2, &hf_t124_conferenceLockRequest, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceLockRequest }, + { 3, &hf_t124_conferenceUnlockRequest, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceUnlockRequest }, + { 4, &hf_t124_conferenceTerminateRequest, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceTerminateRequest }, + { 5, &hf_t124_conferenceEjectUserRequest, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceEjectUserRequest }, + { 6, &hf_t124_conferenceTransferRequest, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceTransferRequest }, + { 7, &hf_t124_registryRegisterChannelRequest, ASN1_EXTENSION_ROOT , dissect_t124_RegistryRegisterChannelRequest }, + { 8, &hf_t124_registryAssignTokenRequest, ASN1_EXTENSION_ROOT , dissect_t124_RegistryAssignTokenRequest }, + { 9, &hf_t124_registrySetParameterRequest, ASN1_EXTENSION_ROOT , dissect_t124_RegistrySetParameterRequest }, + { 10, &hf_t124_registryRetrieveEntryRequest, ASN1_EXTENSION_ROOT , dissect_t124_RegistryRetrieveEntryRequest }, + { 11, &hf_t124_registryDeleteEntryRequest, ASN1_EXTENSION_ROOT , dissect_t124_RegistryDeleteEntryRequest }, + { 12, &hf_t124_registryMonitorEntryRequest, ASN1_EXTENSION_ROOT , dissect_t124_RegistryMonitorEntryRequest }, + { 13, &hf_t124_registryAllocateHandleRequest, ASN1_EXTENSION_ROOT , dissect_t124_RegistryAllocateHandleRequest }, + { 14, &hf_t124_nonStandardRequest, ASN1_EXTENSION_ROOT , dissect_t124_NonStandardPDU }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_RequestPDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_RequestPDU, RequestPDU_choice, + NULL); + + return offset; +} + + +static const per_sequence_t FunctionNotSupportedResponse_sequence[] = { + { &hf_t124_request , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_RequestPDU }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_FunctionNotSupportedResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_FunctionNotSupportedResponse, FunctionNotSupportedResponse_sequence); + + return offset; +} + + + +static int +dissect_t124_T_connectPDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 42 "../../asn1/t124/t124.cnf" + tvbuff_t *next_tvb = NULL; + proto_tree *next_tree = NULL; + int old_offset = 0; + + old_offset = offset; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &next_tvb); + + if(next_tvb) { + /* "2a -> ConnectData::connectPDU length = 42 bytes */ + /* This length MUST be ignored by the client." */ + + /* Not sure why - but lets ignore the length. */ + /* We assume the OCTET STRING is all of the remaining bytes */ + + if(tvb_length(next_tvb) == 42) { + /* this is perhaps a naive ... */ + next_tvb = tvb_new_subset_remaining(tvb, (old_offset>>3)+1); + } + + next_tree = proto_item_add_subtree(actx->created_item, ett_t124_connectGCCPDU); + + dissect_t124_ConnectGCCPDU(next_tvb, 0, actx, next_tree, hf_t124_connectGCCPDU); + + } + + + return offset; +} + + +static const per_sequence_t ConnectData_sequence[] = { + { &hf_t124_t124Identifier , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Key }, + { &hf_t124_connectPDU , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_T_connectPDU }, + { NULL, 0, 0, NULL } +}; + +int +dissect_t124_ConnectData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ConnectData, ConnectData_sequence); + + return offset; +} + + +const value_string t124_ConnectGCCPDU_vals[] = { + { 0, "conferenceCreateRequest" }, + { 1, "conferenceCreateResponse" }, + { 2, "conferenceQueryRequest" }, + { 3, "conferenceQueryResponse" }, + { 4, "conferenceJoinRequest" }, + { 5, "conferenceJoinResponse" }, + { 6, "conferenceInviteRequest" }, + { 7, "conferenceInviteResponse" }, + { 0, NULL } +}; + +static const per_choice_t ConnectGCCPDU_choice[] = { + { 0, &hf_t124_conferenceCreateRequest, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceCreateRequest }, + { 1, &hf_t124_conferenceCreateResponse, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceCreateResponse }, + { 2, &hf_t124_conferenceQueryRequest, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceQueryRequest }, + { 3, &hf_t124_conferenceQueryResponse, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceQueryResponse }, + { 4, &hf_t124_conferenceJoinRequest, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceJoinRequest }, + { 5, &hf_t124_conferenceJoinResponse, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceJoinResponse }, + { 6, &hf_t124_conferenceInviteRequest, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceInviteRequest }, + { 7, &hf_t124_conferenceInviteResponse, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceInviteResponse }, + { 0, NULL, 0, NULL } +}; + +int +dissect_t124_ConnectGCCPDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_ConnectGCCPDU, ConnectGCCPDU_choice, + NULL); + + return offset; +} + + +static const value_string t124_ResponsePDU_vals[] = { + { 0, "conferenceJoinResponse" }, + { 1, "conferenceAddResponse" }, + { 2, "conferenceLockResponse" }, + { 3, "conferenceUnlockResponse" }, + { 4, "conferenceTerminateResponse" }, + { 5, "conferenceEjectUserResponse" }, + { 6, "conferenceTransferResponse" }, + { 7, "registryResponse" }, + { 8, "registryAllocateHandleResponse" }, + { 9, "functionNotSupportedResponse" }, + { 10, "nonStandardResponse" }, + { 0, NULL } +}; + +static const per_choice_t ResponsePDU_choice[] = { + { 0, &hf_t124_conferenceJoinResponse, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceJoinResponse }, + { 1, &hf_t124_conferenceAddResponse, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceAddResponse }, + { 2, &hf_t124_conferenceLockResponse, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceLockResponse }, + { 3, &hf_t124_conferenceUnlockResponse, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceUnlockResponse }, + { 4, &hf_t124_conferenceTerminateResponse, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceTerminateResponse }, + { 5, &hf_t124_conferenceEjectUserResponse, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceEjectUserResponse }, + { 6, &hf_t124_conferenceTransferResponse, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceTransferResponse }, + { 7, &hf_t124_registryResponse, ASN1_EXTENSION_ROOT , dissect_t124_RegistryResponse }, + { 8, &hf_t124_registryAllocateHandleResponse, ASN1_EXTENSION_ROOT , dissect_t124_RegistryAllocateHandleResponse }, + { 9, &hf_t124_functionNotSupportedResponse, ASN1_EXTENSION_ROOT , dissect_t124_FunctionNotSupportedResponse }, + { 10, &hf_t124_nonStandardResponse, ASN1_EXTENSION_ROOT , dissect_t124_NonStandardPDU }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_ResponsePDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_ResponsePDU, ResponsePDU_choice, + NULL); + + return offset; +} + + +static const value_string t124_IndicationPDU_vals[] = { + { 0, "userIDIndication" }, + { 1, "conferenceLockIndication" }, + { 2, "conferenceUnlockIndication" }, + { 3, "conferenceTerminateIndication" }, + { 4, "conferenceEjectUserIndication" }, + { 5, "conferenceTransferIndication" }, + { 6, "rosterUpdateIndication" }, + { 7, "applicationInvokeIndication" }, + { 8, "registryMonitorEntryIndication" }, + { 9, "conductorAssignIndication" }, + { 10, "conductorReleaseIndication" }, + { 11, "conductorPermissionAskIndication" }, + { 12, "conductorPermissionGrantIndication" }, + { 13, "conferenceTimeRemainingIndication" }, + { 14, "conferenceTimeInquireIndication" }, + { 15, "conferenceTimeExtendIndication" }, + { 16, "conferenceAssistanceIndication" }, + { 17, "textMessageIndication" }, + { 18, "nonStandardIndication" }, + { 0, NULL } +}; + +static const per_choice_t IndicationPDU_choice[] = { + { 0, &hf_t124_userIDIndication, ASN1_EXTENSION_ROOT , dissect_t124_UserIDIndication }, + { 1, &hf_t124_conferenceLockIndication, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceLockIndication }, + { 2, &hf_t124_conferenceUnlockIndication, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceUnlockIndication }, + { 3, &hf_t124_conferenceTerminateIndication, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceTerminateIndication }, + { 4, &hf_t124_conferenceEjectUserIndication, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceEjectUserIndication }, + { 5, &hf_t124_conferenceTransferIndication, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceTransferIndication }, + { 6, &hf_t124_rosterUpdateIndication, ASN1_EXTENSION_ROOT , dissect_t124_RosterUpdateIndication }, + { 7, &hf_t124_applicationInvokeIndication, ASN1_EXTENSION_ROOT , dissect_t124_ApplicationInvokeIndication }, + { 8, &hf_t124_registryMonitorEntryIndication, ASN1_EXTENSION_ROOT , dissect_t124_RegistryMonitorEntryIndication }, + { 9, &hf_t124_conductorAssignIndication, ASN1_EXTENSION_ROOT , dissect_t124_ConductorAssignIndication }, + { 10, &hf_t124_conductorReleaseIndication, ASN1_EXTENSION_ROOT , dissect_t124_ConductorReleaseIndication }, + { 11, &hf_t124_conductorPermissionAskIndication, ASN1_EXTENSION_ROOT , dissect_t124_ConductorPermissionAskIndication }, + { 12, &hf_t124_conductorPermissionGrantIndication, ASN1_EXTENSION_ROOT , dissect_t124_ConductorPermissionGrantIndication }, + { 13, &hf_t124_conferenceTimeRemainingIndication, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceTimeRemainingIndication }, + { 14, &hf_t124_conferenceTimeInquireIndication, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceTimeInquireIndication }, + { 15, &hf_t124_conferenceTimeExtendIndication, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceTimeExtendIndication }, + { 16, &hf_t124_conferenceAssistanceIndication, ASN1_EXTENSION_ROOT , dissect_t124_ConferenceAssistanceIndication }, + { 17, &hf_t124_textMessageIndication, ASN1_EXTENSION_ROOT , dissect_t124_TextMessageIndication }, + { 18, &hf_t124_nonStandardIndication, ASN1_EXTENSION_ROOT , dissect_t124_NonStandardPDU }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_IndicationPDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_IndicationPDU, IndicationPDU_choice, + NULL); + + return offset; +} + + + +static int +dissect_t124_ChannelId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 142 "../../asn1/t124/t124.cnf" + + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 65535U, &channelId, FALSE); + + + if(hf_index == hf_t124_channelId_03) + col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%d", channelId); + + + + + return offset; +} + + + +static int +dissect_t124_StaticChannelId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_t124_ChannelId(tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_t124_DynamicChannelId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_t124_ChannelId(tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_t124_UserId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_t124_DynamicChannelId(tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_t124_PrivateChannelId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_t124_DynamicChannelId(tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_t124_AssignedChannelId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_t124_DynamicChannelId(tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_t124_TokenId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 65535U, NULL, FALSE); + + return offset; +} + + +static const value_string t124_TokenStatus_vals[] = { + { 0, "notInUse" }, + { 1, "selfGrabbed" }, + { 2, "otherGrabbed" }, + { 3, "selfInhibited" }, + { 4, "otherInhibited" }, + { 5, "selfRecipient" }, + { 6, "selfGiving" }, + { 7, "otherGiving" }, + { 0, NULL } +}; + + +static int +dissect_t124_TokenStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 8, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string t124_DataPriority_vals[] = { + { 0, "top" }, + { 1, "high" }, + { 2, "medium" }, + { 3, "low" }, + { 0, NULL } +}; + + +static int +dissect_t124_DataPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_t124_Segmentation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 2, 2, FALSE, NULL); + + return offset; +} + + +static const per_sequence_t DomainParameters_sequence[] = { + { &hf_t124_maxChannelIds , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_INTEGER_0_MAX }, + { &hf_t124_maxUserIds , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_INTEGER_0_MAX }, + { &hf_t124_maxTokenIds , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_INTEGER_0_MAX }, + { &hf_t124_numPriorities , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_INTEGER_0_MAX }, + { &hf_t124_minThroughput , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_INTEGER_0_MAX }, + { &hf_t124_maxHeight , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_INTEGER_0_MAX }, + { &hf_t124_maxMCSPDUsize , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_INTEGER_0_MAX }, + { &hf_t124_protocolVersion, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_INTEGER_0_MAX }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_DomainParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_DomainParameters, DomainParameters_sequence); + + return offset; +} + + +static const per_sequence_t Connect_Initial_sequence[] = { + { &hf_t124_callingDomainSelector, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_OCTET_STRING }, + { &hf_t124_calledDomainSelector, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_OCTET_STRING }, + { &hf_t124_upwardFlag , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_targetParameters, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_DomainParameters }, + { &hf_t124_minimumParameters, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_DomainParameters }, + { &hf_t124_maximumParameters, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_DomainParameters }, + { &hf_t124_userData_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_OCTET_STRING }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_Connect_Initial(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_Connect_Initial, Connect_Initial_sequence); + + return offset; +} + + +static const value_string t124_Result_vals[] = { + { 0, "rt-successful" }, + { 1, "rt-domain-merging" }, + { 2, "rt-domain-not-hierarchical" }, + { 3, "rt-no-such-channel" }, + { 4, "rt-no-such-domain" }, + { 5, "rt-no-such-user" }, + { 6, "rt-not-admitted" }, + { 7, "rt-other-user-id" }, + { 8, "rt-parameters-unacceptable" }, + { 9, "rt-token-not-available" }, + { 10, "rt-token-not-possessed" }, + { 11, "rt-too-many-channels" }, + { 12, "rt-too-many-tokens" }, + { 13, "rt-too-many-users" }, + { 14, "rt-unspecified-failure" }, + { 15, "rt-user-rejected" }, + { 0, NULL } +}; + + +static int +dissect_t124_Result(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 16, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t Connect_Response_sequence[] = { + { &hf_t124_result_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Result }, + { &hf_t124_calledConnectId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_INTEGER_0_MAX }, + { &hf_t124_domainParameters, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_DomainParameters }, + { &hf_t124_userData_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_OCTET_STRING }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_Connect_Response(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_Connect_Response, Connect_Response_sequence); + + return offset; +} + + +static const per_sequence_t Connect_Additional_sequence[] = { + { &hf_t124_calledConnectId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_INTEGER_0_MAX }, + { &hf_t124_dataPriority , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_DataPriority }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_Connect_Additional(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_Connect_Additional, Connect_Additional_sequence); + + return offset; +} + + +static const per_sequence_t Connect_Result_sequence[] = { + { &hf_t124_result_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Result }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_Connect_Result(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_Connect_Result, Connect_Result_sequence); + + return offset; +} + + +static const per_sequence_t PlumbDomainIndication_sequence[] = { + { &hf_t124_heightLimit , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_INTEGER_0_MAX }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_PlumbDomainIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_PlumbDomainIndication, PlumbDomainIndication_sequence); + + return offset; +} + + +static const per_sequence_t ErectDomainRequest_sequence[] = { + { &hf_t124_subHeight , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_INTEGER_0_MAX }, + { &hf_t124_subInterval , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_INTEGER_0_MAX }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ErectDomainRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ErectDomainRequest, ErectDomainRequest_sequence); + + return offset; +} + + +static const per_sequence_t T_static_sequence[] = { + { &hf_t124_channelId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_StaticChannelId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_T_static(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_T_static, T_static_sequence); + + return offset; +} + + +static const per_sequence_t T_userId_sequence[] = { + { &hf_t124_joined , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_userId_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_T_userId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_T_userId, T_userId_sequence); + + return offset; +} + + +static const per_sequence_t SET_OF_UserId_set_of[1] = { + { &hf_t124_admitted_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId }, +}; + +static int +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_) { + offset = dissect_per_set_of(tvb, offset, actx, tree, hf_index, + ett_t124_SET_OF_UserId, SET_OF_UserId_set_of); + + return offset; +} + + +static const per_sequence_t T_private_sequence[] = { + { &hf_t124_joined , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_BOOLEAN }, + { &hf_t124_channelId_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_PrivateChannelId }, + { &hf_t124_manager , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId }, + { &hf_t124_admitted , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_UserId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_T_private(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_T_private, T_private_sequence); + + return offset; +} + + +static const per_sequence_t T_assigned_sequence[] = { + { &hf_t124_channelId_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_AssignedChannelId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_T_assigned(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_T_assigned, T_assigned_sequence); + + return offset; +} + + +static const value_string t124_ChannelAttributes_vals[] = { + { 0, "static" }, + { 1, "userId" }, + { 2, "private" }, + { 3, "assigned" }, + { 0, NULL } +}; + +static const per_choice_t ChannelAttributes_choice[] = { + { 0, &hf_t124_static , ASN1_NO_EXTENSIONS , dissect_t124_T_static }, + { 1, &hf_t124_userId , ASN1_NO_EXTENSIONS , dissect_t124_T_userId }, + { 2, &hf_t124_private , ASN1_NO_EXTENSIONS , dissect_t124_T_private }, + { 3, &hf_t124_assigned , ASN1_NO_EXTENSIONS , dissect_t124_T_assigned }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_ChannelAttributes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_ChannelAttributes, ChannelAttributes_choice, + NULL); + + return offset; +} + + +static const per_sequence_t SET_OF_ChannelAttributes_set_of[1] = { + { &hf_t124_mergeChannels_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_ChannelAttributes }, +}; + +static int +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_) { + offset = dissect_per_set_of(tvb, offset, actx, tree, hf_index, + ett_t124_SET_OF_ChannelAttributes, SET_OF_ChannelAttributes_set_of); + + return offset; +} + + +static const per_sequence_t SET_OF_ChannelId_set_of[1] = { + { &hf_t124_purgeChannelIds_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_ChannelId }, +}; + +static int +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_) { + offset = dissect_per_set_of(tvb, offset, actx, tree, hf_index, + ett_t124_SET_OF_ChannelId, SET_OF_ChannelId_set_of); + + return offset; +} + + +static const per_sequence_t MergeChannelsRequest_sequence[] = { + { &hf_t124_mergeChannels , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_ChannelAttributes }, + { &hf_t124_purgeChannelIds, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_ChannelId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_MergeChannelsRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_MergeChannelsRequest, MergeChannelsRequest_sequence); + + return offset; +} + + +static const per_sequence_t MergeChannelsConfirm_sequence[] = { + { &hf_t124_mergeChannels , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_ChannelAttributes }, + { &hf_t124_purgeChannelIds, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_ChannelId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_MergeChannelsConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_MergeChannelsConfirm, MergeChannelsConfirm_sequence); + + return offset; +} + + +static const per_sequence_t PurgeChannelsIndication_sequence[] = { + { &hf_t124_detachUserIds , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_UserId }, + { &hf_t124_purgeChannelIds, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_ChannelId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_PurgeChannelsIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_PurgeChannelsIndication, PurgeChannelsIndication_sequence); + + return offset; +} + + +static const per_sequence_t T_grabbed_sequence[] = { + { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId }, + { &hf_t124_grabber , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_T_grabbed(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_T_grabbed, T_grabbed_sequence); + + return offset; +} + + +static const per_sequence_t T_inhibited_sequence[] = { + { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId }, + { &hf_t124_inhibitors , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_UserId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_T_inhibited(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_T_inhibited, T_inhibited_sequence); + + return offset; +} + + +static const per_sequence_t T_giving_sequence[] = { + { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId }, + { &hf_t124_grabber , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId }, + { &hf_t124_recipient , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_T_giving(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_T_giving, T_giving_sequence); + + return offset; +} + + +static const per_sequence_t T_ungivable_sequence[] = { + { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId }, + { &hf_t124_grabber , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_T_ungivable(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_T_ungivable, T_ungivable_sequence); + + return offset; +} + + +static const per_sequence_t T_given_sequence[] = { + { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId }, + { &hf_t124_recipient , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_T_given(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_T_given, T_given_sequence); + + return offset; +} + + +static const value_string t124_TokenAttributes_vals[] = { + { 0, "grabbed" }, + { 1, "inhibited" }, + { 2, "giving" }, + { 3, "ungivable" }, + { 4, "given" }, + { 0, NULL } +}; + +static const per_choice_t TokenAttributes_choice[] = { + { 0, &hf_t124_grabbed , ASN1_NO_EXTENSIONS , dissect_t124_T_grabbed }, + { 1, &hf_t124_inhibited , ASN1_NO_EXTENSIONS , dissect_t124_T_inhibited }, + { 2, &hf_t124_giving , ASN1_NO_EXTENSIONS , dissect_t124_T_giving }, + { 3, &hf_t124_ungivable , ASN1_NO_EXTENSIONS , dissect_t124_T_ungivable }, + { 4, &hf_t124_given , ASN1_NO_EXTENSIONS , dissect_t124_T_given }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_TokenAttributes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_TokenAttributes, TokenAttributes_choice, + NULL); + + return offset; +} + + +static const per_sequence_t SET_OF_TokenAttributes_set_of[1] = { + { &hf_t124_mergeTokens_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenAttributes }, +}; + +static int +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_) { + offset = dissect_per_set_of(tvb, offset, actx, tree, hf_index, + ett_t124_SET_OF_TokenAttributes, SET_OF_TokenAttributes_set_of); + + return offset; +} + + +static const per_sequence_t SET_OF_TokenId_set_of[1] = { + { &hf_t124_purgeTokenIds_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId }, +}; + +static int +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_) { + offset = dissect_per_set_of(tvb, offset, actx, tree, hf_index, + ett_t124_SET_OF_TokenId, SET_OF_TokenId_set_of); + + return offset; +} + + +static const per_sequence_t MergeTokensRequest_sequence[] = { + { &hf_t124_mergeTokens , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_TokenAttributes }, + { &hf_t124_purgeTokenIds , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_TokenId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_MergeTokensRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_MergeTokensRequest, MergeTokensRequest_sequence); + + return offset; +} + + +static const per_sequence_t MergeTokensConfirm_sequence[] = { + { &hf_t124_mergeTokens , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_TokenAttributes }, + { &hf_t124_purgeTokenIds , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_TokenId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_MergeTokensConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_MergeTokensConfirm, MergeTokensConfirm_sequence); + + return offset; +} + + +static const per_sequence_t PurgeTokensIndication_sequence[] = { + { &hf_t124_purgeTokenIds , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_TokenId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_PurgeTokensIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_PurgeTokensIndication, PurgeTokensIndication_sequence); + + return offset; +} + + +static const value_string t124_Reason_vals[] = { + { 0, "rn-domain-disconnected" }, + { 1, "rn-provider-initiated" }, + { 2, "rn-token-purged" }, + { 3, "rn-user-requested" }, + { 4, "rn-channel-purged" }, + { 0, NULL } +}; + + +static int +dissect_t124_Reason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 5, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t DisconnectProviderUltimatum_sequence[] = { + { &hf_t124_reason_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Reason }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_DisconnectProviderUltimatum(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_DisconnectProviderUltimatum, DisconnectProviderUltimatum_sequence); + + return offset; +} + + +static const value_string t124_Diagnostic_vals[] = { + { 0, "dc-inconsistent-merge" }, + { 1, "dc-forbidden-PDU-downward" }, + { 2, "dc-forbidden-PDU-upward" }, + { 3, "dc-invalid-BER-encoding" }, + { 4, "dc-invalid-PER-encoding" }, + { 5, "dc-misrouted-user" }, + { 6, "dc-unrequested-confirm" }, + { 7, "dc-wrong-transport-priority" }, + { 8, "dc-channel-id-conflict" }, + { 9, "dc-token-id-conflict" }, + { 10, "dc-not-user-id-channel" }, + { 11, "dc-too-many-channels" }, + { 12, "dc-too-many-tokens" }, + { 13, "dc-too-many-users" }, + { 0, NULL } +}; + + +static int +dissect_t124_Diagnostic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 14, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t RejectMCSPDUUltimatum_sequence[] = { + { &hf_t124_diagnostic , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Diagnostic }, + { &hf_t124_initialOctets , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_OCTET_STRING }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_RejectMCSPDUUltimatum(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_RejectMCSPDUUltimatum, RejectMCSPDUUltimatum_sequence); + + return offset; +} + + +static const per_sequence_t AttachUserRequest_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_AttachUserRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_AttachUserRequest, AttachUserRequest_sequence); + + return offset; +} + + +static const per_sequence_t AttachUserConfirm_sequence[] = { + { &hf_t124_result_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Result }, + { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_t124_UserId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_AttachUserConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_AttachUserConfirm, AttachUserConfirm_sequence); + + return offset; +} + + +static const per_sequence_t DetachUserRequest_sequence[] = { + { &hf_t124_reason_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Reason }, + { &hf_t124_userIds , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_UserId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_DetachUserRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_DetachUserRequest, DetachUserRequest_sequence); + + return offset; +} + + +static const per_sequence_t DetachUserIndication_sequence[] = { + { &hf_t124_reason_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Reason }, + { &hf_t124_userIds , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_UserId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_DetachUserIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_DetachUserIndication, DetachUserIndication_sequence); + + return offset; +} + + +static const per_sequence_t ChannelJoinRequest_sequence[] = { + { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId }, + { &hf_t124_channelId_03 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_ChannelId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ChannelJoinRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ChannelJoinRequest, ChannelJoinRequest_sequence); + + return offset; +} + + +static const per_sequence_t ChannelJoinConfirm_sequence[] = { + { &hf_t124_result_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Result }, + { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId }, + { &hf_t124_requested , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_ChannelId }, + { &hf_t124_channelId_03 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_t124_ChannelId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ChannelJoinConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ChannelJoinConfirm, ChannelJoinConfirm_sequence); + + return offset; +} + + +static const per_sequence_t ChannelLeaveRequest_sequence[] = { + { &hf_t124_channelIds , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_ChannelId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ChannelLeaveRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ChannelLeaveRequest, ChannelLeaveRequest_sequence); + + return offset; +} + + +static const per_sequence_t ChannelConveneRequest_sequence[] = { + { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ChannelConveneRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ChannelConveneRequest, ChannelConveneRequest_sequence); + + return offset; +} + + +static const per_sequence_t ChannelConveneConfirm_sequence[] = { + { &hf_t124_result_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Result }, + { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId }, + { &hf_t124_channelId_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_t124_PrivateChannelId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ChannelConveneConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ChannelConveneConfirm, ChannelConveneConfirm_sequence); + + return offset; +} + + +static const per_sequence_t ChannelDisbandRequest_sequence[] = { + { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId }, + { &hf_t124_channelId_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_PrivateChannelId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ChannelDisbandRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ChannelDisbandRequest, ChannelDisbandRequest_sequence); + + return offset; +} + + +static const per_sequence_t ChannelDisbandIndication_sequence[] = { + { &hf_t124_channelId_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_PrivateChannelId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ChannelDisbandIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ChannelDisbandIndication, ChannelDisbandIndication_sequence); + + return offset; +} + + +static const per_sequence_t ChannelAdmitRequest_sequence[] = { + { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId }, + { &hf_t124_channelId_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_PrivateChannelId }, + { &hf_t124_userIds , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_UserId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ChannelAdmitRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ChannelAdmitRequest, ChannelAdmitRequest_sequence); + + return offset; +} + + +static const per_sequence_t ChannelAdmitIndication_sequence[] = { + { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId }, + { &hf_t124_channelId_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_PrivateChannelId }, + { &hf_t124_userIds , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_UserId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ChannelAdmitIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ChannelAdmitIndication, ChannelAdmitIndication_sequence); + + return offset; +} + + +static const per_sequence_t ChannelExpelRequest_sequence[] = { + { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId }, + { &hf_t124_channelId_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_PrivateChannelId }, + { &hf_t124_userIds , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_UserId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ChannelExpelRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ChannelExpelRequest, ChannelExpelRequest_sequence); + + return offset; +} + + +static const per_sequence_t ChannelExpelIndication_sequence[] = { + { &hf_t124_channelId_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_PrivateChannelId }, + { &hf_t124_userIds , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_SET_OF_UserId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_ChannelExpelIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_ChannelExpelIndication, ChannelExpelIndication_sequence); + + return offset; +} + + + +static int +dissect_t124_T_userData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 85 "../../asn1/t124/t124.cnf" + tvbuff_t *next_tvb = NULL; + + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &next_tvb); + + + if(next_tvb) { + + dissector_try_uint(t124_sd_dissector_table, channelId, next_tvb, actx->pinfo, top_tree); + + } + + + + return offset; +} + + +static const per_sequence_t SendDataRequest_sequence[] = { + { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId }, + { &hf_t124_channelId_03 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_ChannelId }, + { &hf_t124_dataPriority , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_DataPriority }, + { &hf_t124_segmentation , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Segmentation }, + { &hf_t124_userData_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_T_userData }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_SendDataRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_SendDataRequest, SendDataRequest_sequence); + + return offset; +} + + + +static int +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_) { +#line 98 "../../asn1/t124/t124.cnf" + tvbuff_t *next_tvb = NULL; + + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &next_tvb); + + + if(next_tvb) { + + dissector_try_uint(t124_sd_dissector_table, channelId, next_tvb, actx->pinfo, top_tree); + + } + + + + return offset; +} + + +static const per_sequence_t SendDataIndication_sequence[] = { + { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId }, + { &hf_t124_channelId_03 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_ChannelId }, + { &hf_t124_dataPriority , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_DataPriority }, + { &hf_t124_segmentation , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Segmentation }, + { &hf_t124_userData_03 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_T_userData_01 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_SendDataIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_SendDataIndication, SendDataIndication_sequence); + + return offset; +} + + +static const per_sequence_t UniformSendDataRequest_sequence[] = { + { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId }, + { &hf_t124_channelId_03 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_ChannelId }, + { &hf_t124_dataPriority , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_DataPriority }, + { &hf_t124_segmentation , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Segmentation }, + { &hf_t124_userData_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_OCTET_STRING }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_UniformSendDataRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_UniformSendDataRequest, UniformSendDataRequest_sequence); + + return offset; +} + + +static const per_sequence_t UniformSendDataIndication_sequence[] = { + { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId }, + { &hf_t124_channelId_03 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_ChannelId }, + { &hf_t124_dataPriority , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_DataPriority }, + { &hf_t124_segmentation , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Segmentation }, + { &hf_t124_userData_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_OCTET_STRING }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_UniformSendDataIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_UniformSendDataIndication, UniformSendDataIndication_sequence); + + return offset; +} + + +static const per_sequence_t TokenGrabRequest_sequence[] = { + { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId }, + { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_TokenGrabRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_TokenGrabRequest, TokenGrabRequest_sequence); + + return offset; +} + + +static const per_sequence_t TokenGrabConfirm_sequence[] = { + { &hf_t124_result_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Result }, + { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId }, + { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId }, + { &hf_t124_tokenStatus , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenStatus }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_TokenGrabConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_TokenGrabConfirm, TokenGrabConfirm_sequence); + + return offset; +} + + +static const per_sequence_t TokenInhibitRequest_sequence[] = { + { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId }, + { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_TokenInhibitRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_TokenInhibitRequest, TokenInhibitRequest_sequence); + + return offset; +} + + +static const per_sequence_t TokenInhibitConfirm_sequence[] = { + { &hf_t124_result_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Result }, + { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId }, + { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId }, + { &hf_t124_tokenStatus , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenStatus }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_TokenInhibitConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_TokenInhibitConfirm, TokenInhibitConfirm_sequence); + + return offset; +} + + +static const per_sequence_t TokenGiveRequest_sequence[] = { + { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId }, + { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId }, + { &hf_t124_recipient , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_TokenGiveRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_TokenGiveRequest, TokenGiveRequest_sequence); + + return offset; +} + + +static const per_sequence_t TokenGiveIndication_sequence[] = { + { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId }, + { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId }, + { &hf_t124_recipient , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_TokenGiveIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_TokenGiveIndication, TokenGiveIndication_sequence); + + return offset; +} + + +static const per_sequence_t TokenGiveResponse_sequence[] = { + { &hf_t124_result_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Result }, + { &hf_t124_recipient , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId }, + { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_TokenGiveResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_TokenGiveResponse, TokenGiveResponse_sequence); + + return offset; +} + + +static const per_sequence_t TokenGiveConfirm_sequence[] = { + { &hf_t124_result_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Result }, + { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId }, + { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId }, + { &hf_t124_tokenStatus , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenStatus }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_TokenGiveConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_TokenGiveConfirm, TokenGiveConfirm_sequence); + + return offset; +} + + +static const per_sequence_t TokenPleaseRequest_sequence[] = { + { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId }, + { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_TokenPleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_TokenPleaseRequest, TokenPleaseRequest_sequence); + + return offset; +} + + +static const per_sequence_t TokenPleaseIndication_sequence[] = { + { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId }, + { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_TokenPleaseIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_TokenPleaseIndication, TokenPleaseIndication_sequence); + + return offset; +} + + +static const per_sequence_t TokenReleaseRequest_sequence[] = { + { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId }, + { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_TokenReleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_TokenReleaseRequest, TokenReleaseRequest_sequence); + + return offset; +} + + +static const per_sequence_t TokenReleaseConfirm_sequence[] = { + { &hf_t124_result_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Result }, + { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId }, + { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId }, + { &hf_t124_tokenStatus , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenStatus }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_TokenReleaseConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_TokenReleaseConfirm, TokenReleaseConfirm_sequence); + + return offset; +} + + +static const per_sequence_t TokenTestRequest_sequence[] = { + { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId }, + { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_TokenTestRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_TokenTestRequest, TokenTestRequest_sequence); + + return offset; +} + + +static const per_sequence_t TokenTestConfirm_sequence[] = { + { &hf_t124_initiator , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_UserId }, + { &hf_t124_tokenId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenId }, + { &hf_t124_tokenStatus , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_TokenStatus }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_t124_TokenTestConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_t124_TokenTestConfirm, TokenTestConfirm_sequence); + + return offset; +} + + +static const value_string t124_ConnectMCSPDU_vals[] = { + { 0, "connect-initial" }, + { 1, "connect-response" }, + { 2, "connect-additional" }, + { 3, "connect-result" }, + { 0, NULL } +}; + +static const per_choice_t ConnectMCSPDU_choice[] = { + { 0, &hf_t124_connect_initial, ASN1_NO_EXTENSIONS , dissect_t124_Connect_Initial }, + { 1, &hf_t124_connect_response, ASN1_NO_EXTENSIONS , dissect_t124_Connect_Response }, + { 2, &hf_t124_connect_additional, ASN1_NO_EXTENSIONS , dissect_t124_Connect_Additional }, + { 3, &hf_t124_connect_result , ASN1_NO_EXTENSIONS , dissect_t124_Connect_Result }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_ConnectMCSPDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_ConnectMCSPDU, ConnectMCSPDU_choice, + NULL); + + return offset; +} + + +static const value_string t124_DomainMCSPDU_vals[] = { + { 0, "plumbDomainIndication" }, + { 1, "erectDomainRequest" }, + { 2, "mergeChannelsRequest" }, + { 3, "mergeChannelsConfirm" }, + { 4, "purgeChannelsIndication" }, + { 5, "mergeTokensRequest" }, + { 6, "mergeTokensConfirm" }, + { 7, "purgeTokensIndication" }, + { 8, "disconnectProviderUltimatum" }, + { 9, "rejectMCSPDUUltimatum" }, + { 10, "attachUserRequest" }, + { 11, "attachUserConfirm" }, + { 12, "detachUserRequest" }, + { 13, "detachUserIndication" }, + { 14, "channelJoinRequest" }, + { 15, "channelJoinConfirm" }, + { 16, "channelLeaveRequest" }, + { 17, "channelConveneRequest" }, + { 18, "channelConveneConfirm" }, + { 19, "channelDisbandRequest" }, + { 20, "channelDisbandIndication" }, + { 21, "channelAdmitRequest" }, + { 22, "channelAdmitIndication" }, + { 23, "channelExpelRequest" }, + { 24, "channelExpelIndication" }, + { 25, "sendDataRequest" }, + { 26, "sendDataIndication" }, + { 27, "uniformSendDataRequest" }, + { 28, "uniformSendDataIndication" }, + { 29, "tokenGrabRequest" }, + { 30, "tokenGrabConfirm" }, + { 31, "tokenInhibitRequest" }, + { 32, "tokenInhibitConfirm" }, + { 33, "tokenGiveRequest" }, + { 34, "tokenGiveIndication" }, + { 35, "tokenGiveResponse" }, + { 36, "tokenGiveConfirm" }, + { 37, "tokenPleaseRequest" }, + { 38, "tokenPleaseIndication" }, + { 39, "tokenReleaseRequest" }, + { 40, "tokenReleaseConfirm" }, + { 41, "tokenTestRequest" }, + { 42, "tokenTestConfirm" }, + { 0, NULL } +}; + +static const per_choice_t DomainMCSPDU_choice[] = { + { 0, &hf_t124_plumbDomainIndication, ASN1_NO_EXTENSIONS , dissect_t124_PlumbDomainIndication }, + { 1, &hf_t124_erectDomainRequest, ASN1_NO_EXTENSIONS , dissect_t124_ErectDomainRequest }, + { 2, &hf_t124_mergeChannelsRequest, ASN1_NO_EXTENSIONS , dissect_t124_MergeChannelsRequest }, + { 3, &hf_t124_mergeChannelsConfirm, ASN1_NO_EXTENSIONS , dissect_t124_MergeChannelsConfirm }, + { 4, &hf_t124_purgeChannelsIndication, ASN1_NO_EXTENSIONS , dissect_t124_PurgeChannelsIndication }, + { 5, &hf_t124_mergeTokensRequest, ASN1_NO_EXTENSIONS , dissect_t124_MergeTokensRequest }, + { 6, &hf_t124_mergeTokensConfirm, ASN1_NO_EXTENSIONS , dissect_t124_MergeTokensConfirm }, + { 7, &hf_t124_purgeTokensIndication, ASN1_NO_EXTENSIONS , dissect_t124_PurgeTokensIndication }, + { 8, &hf_t124_disconnectProviderUltimatum, ASN1_NO_EXTENSIONS , dissect_t124_DisconnectProviderUltimatum }, + { 9, &hf_t124_rejectMCSPDUUltimatum, ASN1_NO_EXTENSIONS , dissect_t124_RejectMCSPDUUltimatum }, + { 10, &hf_t124_attachUserRequest, ASN1_NO_EXTENSIONS , dissect_t124_AttachUserRequest }, + { 11, &hf_t124_attachUserConfirm, ASN1_NO_EXTENSIONS , dissect_t124_AttachUserConfirm }, + { 12, &hf_t124_detachUserRequest, ASN1_NO_EXTENSIONS , dissect_t124_DetachUserRequest }, + { 13, &hf_t124_detachUserIndication, ASN1_NO_EXTENSIONS , dissect_t124_DetachUserIndication }, + { 14, &hf_t124_channelJoinRequest, ASN1_NO_EXTENSIONS , dissect_t124_ChannelJoinRequest }, + { 15, &hf_t124_channelJoinConfirm, ASN1_NO_EXTENSIONS , dissect_t124_ChannelJoinConfirm }, + { 16, &hf_t124_channelLeaveRequest, ASN1_NO_EXTENSIONS , dissect_t124_ChannelLeaveRequest }, + { 17, &hf_t124_channelConveneRequest, ASN1_NO_EXTENSIONS , dissect_t124_ChannelConveneRequest }, + { 18, &hf_t124_channelConveneConfirm, ASN1_NO_EXTENSIONS , dissect_t124_ChannelConveneConfirm }, + { 19, &hf_t124_channelDisbandRequest, ASN1_NO_EXTENSIONS , dissect_t124_ChannelDisbandRequest }, + { 20, &hf_t124_channelDisbandIndication, ASN1_NO_EXTENSIONS , dissect_t124_ChannelDisbandIndication }, + { 21, &hf_t124_channelAdmitRequest, ASN1_NO_EXTENSIONS , dissect_t124_ChannelAdmitRequest }, + { 22, &hf_t124_channelAdmitIndication, ASN1_NO_EXTENSIONS , dissect_t124_ChannelAdmitIndication }, + { 23, &hf_t124_channelExpelRequest, ASN1_NO_EXTENSIONS , dissect_t124_ChannelExpelRequest }, + { 24, &hf_t124_channelExpelIndication, ASN1_NO_EXTENSIONS , dissect_t124_ChannelExpelIndication }, + { 25, &hf_t124_sendDataRequest, ASN1_NO_EXTENSIONS , dissect_t124_SendDataRequest }, + { 26, &hf_t124_sendDataIndication, ASN1_NO_EXTENSIONS , dissect_t124_SendDataIndication }, + { 27, &hf_t124_uniformSendDataRequest, ASN1_NO_EXTENSIONS , dissect_t124_UniformSendDataRequest }, + { 28, &hf_t124_uniformSendDataIndication, ASN1_NO_EXTENSIONS , dissect_t124_UniformSendDataIndication }, + { 29, &hf_t124_tokenGrabRequest, ASN1_NO_EXTENSIONS , dissect_t124_TokenGrabRequest }, + { 30, &hf_t124_tokenGrabConfirm, ASN1_NO_EXTENSIONS , dissect_t124_TokenGrabConfirm }, + { 31, &hf_t124_tokenInhibitRequest, ASN1_NO_EXTENSIONS , dissect_t124_TokenInhibitRequest }, + { 32, &hf_t124_tokenInhibitConfirm, ASN1_NO_EXTENSIONS , dissect_t124_TokenInhibitConfirm }, + { 33, &hf_t124_tokenGiveRequest, ASN1_NO_EXTENSIONS , dissect_t124_TokenGiveRequest }, + { 34, &hf_t124_tokenGiveIndication, ASN1_NO_EXTENSIONS , dissect_t124_TokenGiveIndication }, + { 35, &hf_t124_tokenGiveResponse, ASN1_NO_EXTENSIONS , dissect_t124_TokenGiveResponse }, + { 36, &hf_t124_tokenGiveConfirm, ASN1_NO_EXTENSIONS , dissect_t124_TokenGiveConfirm }, + { 37, &hf_t124_tokenPleaseRequest, ASN1_NO_EXTENSIONS , dissect_t124_TokenPleaseRequest }, + { 38, &hf_t124_tokenPleaseIndication, ASN1_NO_EXTENSIONS , dissect_t124_TokenPleaseIndication }, + { 39, &hf_t124_tokenReleaseRequest, ASN1_NO_EXTENSIONS , dissect_t124_TokenReleaseRequest }, + { 40, &hf_t124_tokenReleaseConfirm, ASN1_NO_EXTENSIONS , dissect_t124_TokenReleaseConfirm }, + { 41, &hf_t124_tokenTestRequest, ASN1_NO_EXTENSIONS , dissect_t124_TokenTestRequest }, + { 42, &hf_t124_tokenTestConfirm, ASN1_NO_EXTENSIONS , dissect_t124_TokenTestConfirm }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_t124_DomainMCSPDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 112 "../../asn1/t124/t124.cnf" + gint domainmcs_value; + + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_t124_DomainMCSPDU, DomainMCSPDU_choice, + &domainmcs_value); + + switch(domainmcs_value) { + case 25: /* sendDataRequest */ + case 26: /* sendDataIndication */ + case 27: /* uniformSendDataRequest */ + case 28: /* uniformSendDataIndication */ + /* Do nothing */ + break; + default: + col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "%s ", val_to_str(domainmcs_value, t124_DomainMCSPDU_vals, "Unknown")); + break; + } + + + + return offset; +} + + +/*--- End of included file: packet-t124-fn.c ---*/ +#line 68 "../../asn1/t124/packet-t124-template.c" + +static const per_sequence_t t124Heur_sequence[] = { + { &hf_t124_t124Identifier , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_t124_Key }, + { NULL, 0, 0, NULL } +}; + +void +register_t124_ns_dissector(const char *nsKey, dissector_t dissector, int proto) +{ + dissector_handle_t dissector_handle; + + dissector_handle=create_dissector_handle(dissector, proto); + dissector_add_string("t124.ns", nsKey, dissector_handle); +} + +void register_t124_sd_dissector(packet_info *pinfo _U_, guint32 channelId, dissector_t dissector, int proto) +{ + /* XXX: we should keep the sub-dissectors list per conversation + as the same channels may be used. + While we are just using RDP over T.124, then we can get away with it. + */ + + dissector_handle_t dissector_handle; + + dissector_handle=create_dissector_handle(dissector, proto); + dissector_add_uint("t124.sd", channelId, dissector_handle); + +} + +guint32 t124_get_last_channelId(void) +{ + return channelId; +} + +void t124_set_top_tree(proto_tree *tree) +{ + top_tree = tree; +} + +int dissect_DomainMCSPDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + + offset = dissect_t124_DomainMCSPDU(tvb, offset, &asn1_ctx, tree, hf_t124_DomainMCSPDU_PDU); + offset += 7; offset >>= 3; + return offset; +} + +static int +dissect_t124(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *parent_tree) +{ + proto_item *item = NULL; + proto_tree *tree = NULL; + asn1_ctx_t asn1_ctx; + + top_tree = parent_tree; + + col_set_str(pinfo->cinfo, COL_PROTOCOL, "T.125"); + col_clear(pinfo->cinfo, COL_INFO); + + item = proto_tree_add_item(parent_tree, proto_t124, tvb, 0, tvb_length(tvb), FALSE); + tree = proto_item_add_subtree(item, ett_t124); + + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + dissect_t124_ConnectData(tvb, 0, &asn1_ctx, tree, hf_t124_ConnectData); + + return tvb_length(tvb); +} + +static gboolean +dissect_t124_heur(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *parent_tree) +{ + asn1_ctx_t asn1_ctx; + + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + + t124Identifier = NULL; + + (void) dissect_per_sequence(tvb, 0, &asn1_ctx, NULL, -1, -1, t124Heur_sequence); + + if((t124Identifier != NULL) && + (strcmp(t124Identifier, "0.0.20.124.0.1") == 0)) { + + dissect_t124(tvb, pinfo, parent_tree); + + } + + return FALSE; +} + +/*--- proto_register_t124 -------------------------------------------*/ +void proto_register_t124(void) { + + /* List of fields */ + static hf_register_info hf[] = { + { &hf_t124_ConnectData, + { "ConnectData", "t124.ConnectData", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_connectGCCPDU, + { "connectGCCPDU", "t124.connectGCCPDU", + FT_UINT32, BASE_DEC, VALS(t124_ConnectGCCPDU_vals), 0, + NULL, HFILL }}, + { &hf_t124_DomainMCSPDU_PDU, + { "DomainMCSPDU", "t124.DomainMCSPDU", + FT_UINT32, BASE_DEC, VALS(t124_DomainMCSPDU_vals), 0, + NULL, HFILL }}, + +/*--- Included file: packet-t124-hfarr.c ---*/ +#line 1 "../../asn1/t124/packet-t124-hfarr.c" + { &hf_t124_object, + { "object", "t124.object", + FT_OID, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_h221NonStandard, + { "h221NonStandard", "t124.h221NonStandard", + FT_BYTES, BASE_NONE, NULL, 0, + "H221NonStandardIdentifier", HFILL }}, + { &hf_t124_key, + { "key", "t124.key", + FT_UINT32, BASE_DEC, VALS(t124_Key_vals), 0, + NULL, HFILL }}, + { &hf_t124_data, + { "data", "t124.data", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING", HFILL }}, + { &hf_t124_UserData_item, + { "UserData item", "t124.UserData_item", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_value, + { "value", "t124.value", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_numeric, + { "numeric", "t124.numeric", + FT_STRING, BASE_NONE, NULL, 0, + "SimpleNumericString", HFILL }}, + { &hf_t124_text, + { "text", "t124.text", + FT_STRING, BASE_NONE, NULL, 0, + "SimpleTextString", HFILL }}, + { &hf_t124_unicodeText, + { "unicodeText", "t124.unicodeText", + FT_STRING, BASE_NONE, NULL, 0, + "TextString", HFILL }}, + { &hf_t124_passwordString, + { "passwordString", "t124.passwordString", + FT_UINT32, BASE_DEC, VALS(t124_PasswordSelector_vals), 0, + "PasswordSelector", HFILL }}, + { &hf_t124_responseData, + { "responseData", "t124.responseData", + FT_UINT32, BASE_DEC, NULL, 0, + "UserData", HFILL }}, + { &hf_t124_passwordInTheClear, + { "passwordInTheClear", "t124.passwordInTheClear", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_nonStandardAlgorithm, + { "nonStandardAlgorithm", "t124.nonStandardAlgorithm", + FT_NONE, BASE_NONE, NULL, 0, + "NonStandardParameter", HFILL }}, + { &hf_t124_responseAlgorithm, + { "responseAlgorithm", "t124.responseAlgorithm", + FT_UINT32, BASE_DEC, VALS(t124_ChallengeResponseAlgorithm_vals), 0, + "ChallengeResponseAlgorithm", HFILL }}, + { &hf_t124_challengeData, + { "challengeData", "t124.challengeData", + FT_UINT32, BASE_DEC, NULL, 0, + "UserData", HFILL }}, + { &hf_t124_challengeTag, + { "challengeTag", "t124.challengeTag", + FT_INT32, BASE_DEC, NULL, 0, + "INTEGER", HFILL }}, + { &hf_t124_challengeSet, + { "challengeSet", "t124.challengeSet", + FT_UINT32, BASE_DEC, NULL, 0, + "SET_OF_ChallengeItem", HFILL }}, + { &hf_t124_challengeSet_item, + { "ChallengeItem", "t124.ChallengeItem", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_responseItem, + { "responseItem", "t124.responseItem", + FT_UINT32, BASE_DEC, VALS(t124_ChallengeResponseItem_vals), 0, + "ChallengeResponseItem", HFILL }}, + { &hf_t124_passwordInTheClear_01, + { "passwordInTheClear", "t124.passwordInTheClear", + FT_UINT32, BASE_DEC, VALS(t124_PasswordSelector_vals), 0, + "PasswordSelector", HFILL }}, + { &hf_t124_challengeRequestResponse, + { "challengeRequestResponse", "t124.challengeRequestResponse", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_challengeRequest, + { "challengeRequest", "t124.challengeRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_challengeResponse, + { "challengeResponse", "t124.challengeResponse", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_nonStandardScheme, + { "nonStandardScheme", "t124.nonStandardScheme", + FT_NONE, BASE_NONE, NULL, 0, + "NonStandardParameter", HFILL }}, + { &hf_t124_priority, + { "priority", "t124.priority", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_65535", HFILL }}, + { &hf_t124_scheme, + { "scheme", "t124.scheme", + FT_UINT32, BASE_DEC, VALS(t124_ConferencePriorityScheme_vals), 0, + "ConferencePriorityScheme", HFILL }}, + { &hf_t124_conventional, + { "conventional", "t124.conventional", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_counted, + { "counted", "t124.counted", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_anonymous, + { "anonymous", "t124.anonymous", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_nonStandardCategory, + { "nonStandardCategory", "t124.nonStandardCategory", + FT_NONE, BASE_NONE, NULL, 0, + "NonStandardParameter", HFILL }}, + { &hf_t124_conventional_only, + { "conventional-only", "t124.conventional_only", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_counted_only, + { "counted-only", "t124.counted_only", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_anonymous_only, + { "anonymous-only", "t124.anonymous_only", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_conventional_control, + { "conventional-control", "t124.conventional_control", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_unrestricted_mode, + { "unrestricted-mode", "t124.unrestricted_mode", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_non_standard_mode, + { "non-standard-mode", "t124.non_standard_mode", + FT_NONE, BASE_NONE, NULL, 0, + "NonStandardParameter", HFILL }}, + { &hf_t124_NetworkAddress_item, + { "NetworkAddress item", "t124.NetworkAddress_item", + FT_UINT32, BASE_DEC, VALS(t124_NetworkAddress_item_vals), 0, + NULL, HFILL }}, + { &hf_t124_aggregatedChannel, + { "aggregatedChannel", "t124.aggregatedChannel", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_transferModes, + { "transferModes", "t124.transferModes", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_speech, + { "speech", "t124.speech", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_voice_band, + { "voice-band", "t124.voice_band", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_digital_56k, + { "digital-56k", "t124.digital_56k", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_digital_64k, + { "digital-64k", "t124.digital_64k", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_digital_128k, + { "digital-128k", "t124.digital_128k", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_digital_192k, + { "digital-192k", "t124.digital_192k", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_digital_256k, + { "digital-256k", "t124.digital_256k", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_digital_320k, + { "digital-320k", "t124.digital_320k", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_digital_384k, + { "digital-384k", "t124.digital_384k", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_digital_512k, + { "digital-512k", "t124.digital_512k", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_digital_768k, + { "digital-768k", "t124.digital_768k", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_digital_1152k, + { "digital-1152k", "t124.digital_1152k", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_digital_1472k, + { "digital-1472k", "t124.digital_1472k", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_digital_1536k, + { "digital-1536k", "t124.digital_1536k", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_digital_1920k, + { "digital-1920k", "t124.digital_1920k", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_packet_mode, + { "packet-mode", "t124.packet_mode", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_frame_mode, + { "frame-mode", "t124.frame_mode", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_atm, + { "atm", "t124.atm", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_internationalNumber, + { "internationalNumber", "t124.internationalNumber", + FT_STRING, BASE_NONE, NULL, 0, + "DiallingString", HFILL }}, + { &hf_t124_subAddress, + { "subAddress", "t124.subAddress", + FT_STRING, BASE_NONE, NULL, 0, + "SubAddressString", HFILL }}, + { &hf_t124_extraDialling, + { "extraDialling", "t124.extraDialling", + FT_STRING, BASE_NONE, NULL, 0, + "ExtraDiallingString", HFILL }}, + { &hf_t124_highLayerCompatibility, + { "highLayerCompatibility", "t124.highLayerCompatibility", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_telephony3kHz, + { "telephony3kHz", "t124.telephony3kHz", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_telephony7kHz, + { "telephony7kHz", "t124.telephony7kHz", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_videotelephony, + { "videotelephony", "t124.videotelephony", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_videoconference, + { "videoconference", "t124.videoconference", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_audiographic, + { "audiographic", "t124.audiographic", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_audiovisual, + { "audiovisual", "t124.audiovisual", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_multimedia, + { "multimedia", "t124.multimedia", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_transportConnection, + { "transportConnection", "t124.transportConnection", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_nsapAddress, + { "nsapAddress", "t124.nsapAddress", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING_SIZE_1_20", HFILL }}, + { &hf_t124_transportSelector, + { "transportSelector", "t124.transportSelector", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING", HFILL }}, + { &hf_t124_nonStandard, + { "nonStandard", "t124.nonStandard", + FT_NONE, BASE_NONE, NULL, 0, + "NonStandardParameter", HFILL }}, + { &hf_t124_audio, + { "audio", "t124.audio", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_video, + { "video", "t124.video", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_data_01, + { "data", "t124.data", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_h221, + { "h221", "t124.h221", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_h244, + { "h244", "t124.h244", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_iso_iec_13871, + { "iso-iec-13871", "t124.iso_iec_13871", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_simpleProfile, + { "simpleProfile", "t124.simpleProfile", + FT_UINT32, BASE_DEC, VALS(t124_T_simpleProfile_vals), 0, + NULL, HFILL }}, + { &hf_t124_speech_01, + { "speech", "t124.speech", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_telephony_3kHz, + { "telephony-3kHz", "t124.telephony_3kHz", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_telephony_7kHz, + { "telephony-7kHz", "t124.telephony_7kHz", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_voice_band_01, + { "voice-band", "t124.voice_band", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_frameRelay, + { "frameRelay", "t124.frameRelay", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_t123_pstn_basic, + { "t123-pstn-basic", "t124.t123_pstn_basic", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_t123_psdn_basic, + { "t123-psdn-basic", "t124.t123_psdn_basic", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_t123_b_isdn_basic, + { "t123-b-isdn-basic", "t124.t123_b_isdn_basic", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_multimediaProfile, + { "multimediaProfile", "t124.multimediaProfile", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_profile, + { "profile", "t124.profile", + FT_UINT32, BASE_DEC, VALS(t124_T_profile_vals), 0, + NULL, HFILL }}, + { &hf_t124_h310, + { "h310", "t124.h310", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_h320, + { "h320", "t124.h320", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_h321, + { "h321", "t124.h321", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_h322, + { "h322", "t124.h322", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_h323, + { "h323", "t124.h323", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_h324, + { "h324", "t124.h324", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_h324m, + { "h324m", "t124.h324m", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_asvd, + { "asvd", "t124.asvd", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_dsvd, + { "dsvd", "t124.dsvd", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_t120Data, + { "t120Data", "t124.t120Data", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_dsmccDownloadProfile, + { "dsmccDownloadProfile", "t124.dsmccDownloadProfile", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_networkAddress, + { "networkAddress", "t124.networkAddress", + FT_NONE, BASE_NONE, NULL, 0, + "ExtendedE164NetworkAddress", HFILL }}, + { &hf_t124_iSDNCircuitTypes, + { "circuitTypes", "t124.circuitTypes", + FT_UINT32, BASE_DEC, NULL, 0, + "ISDNCircuitTypes", HFILL }}, + { &hf_t124_iSDNCircuitTypes_item, + { "circuitTypes item", "t124.circuitTypes_item", + FT_UINT32, BASE_DEC, VALS(t124_ISDNCircuitTypes_item_vals), 0, + "ISDNCircuitTypes_item", HFILL }}, + { &hf_t124_digital_64k_01, + { "digital-64k", "t124.digital_64k", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_digital_2x64k, + { "digital-2x64k", "t124.digital_2x64k", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_digital_384k_01, + { "digital-384k", "t124.digital_384k", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_digital_1536, + { "digital-1536", "t124.digital_1536", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_digital_1920k_01, + { "digital-1920k", "t124.digital_1920k", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_multirate_base_64k, + { "multirate-base-64k", "t124.multirate_base_64k", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_30", HFILL }}, + { &hf_t124_iSDNHighLayerCompatibility, + { "highLayerCompatibility", "t124.highLayerCompatibility", + FT_NONE, BASE_NONE, NULL, 0, + "ISDNHighLayerCompatibility", HFILL }}, + { &hf_t124_circuitTypes, + { "circuitTypes", "t124.circuitTypes", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_t124_circuitTypes_item, + { "circuitTypes item", "t124.circuitTypes_item", + FT_UINT32, BASE_DEC, VALS(t124_T_circuitTypes_item_vals), 0, + NULL, HFILL }}, + { &hf_t124_digital_56k_01, + { "digital-56k", "t124.digital_56k", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_pSDNNetworkAddress, + { "networkAddress", "t124.networkAddress", + FT_UINT32, BASE_DEC, VALS(t124_PSDNNetworkAddress_vals), 0, + "PSDNNetworkAddress", HFILL }}, + { &hf_t124_extendedE164NetworkAddress, + { "extendedE164NetworkAddress", "t124.extendedE164NetworkAddress", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_transportAddress, + { "transportAddress", "t124.transportAddress", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_networkAddress_01, + { "networkAddress", "t124.networkAddress", + FT_UINT32, BASE_DEC, VALS(t124_T_networkAddress_vals), 0, + NULL, HFILL }}, + { &hf_t124_extendedE164, + { "extendedE164", "t124.extendedE164", + FT_NONE, BASE_NONE, NULL, 0, + "ExtendedE164NetworkAddress", HFILL }}, + { &hf_t124_nsapAddress_01, + { "nsapAddress", "t124.nsapAddress", + FT_NONE, BASE_NONE, NULL, 0, + "TransportAddress", HFILL }}, + { &hf_t124_maxTransferRate, + { "maxTransferRate", "t124.maxTransferRate", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_MAX", HFILL }}, + { &hf_t124_gstnConnection, + { "gstnConnection", "t124.gstnConnection", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_isdnConnection, + { "isdnConnection", "t124.isdnConnection", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_csdnConnection, + { "csdnConnection", "t124.csdnConnection", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_psdnConnection, + { "psdnConnection", "t124.psdnConnection", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_atmConnection, + { "atmConnection", "t124.atmConnection", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_NetworkAddressV2_item, + { "NetworkAddressV2 item", "t124.NetworkAddressV2_item", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_networkConnection, + { "networkConnection", "t124.networkConnection", + FT_UINT32, BASE_DEC, VALS(t124_T_networkConnection_vals), 0, + NULL, HFILL }}, + { &hf_t124_singleConnection, + { "singleConnection", "t124.singleConnection", + FT_UINT32, BASE_DEC, VALS(t124_NetworkConnection_vals), 0, + "NetworkConnection", HFILL }}, + { &hf_t124_aggregatedConnections, + { "aggregatedConnections", "t124.aggregatedConnections", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_connectionList, + { "connectionList", "t124.connectionList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_t124_connectionList_item, + { "connectionList item", "t124.connectionList_item", + FT_UINT32, BASE_DEC, VALS(t124_T_connectionList_item_vals), 0, + "T_connectionList_item", HFILL }}, + { &hf_t124_aggregationMethods, + { "aggregationMethods", "t124.aggregationMethods", + FT_UINT32, BASE_DEC, NULL, 0, + "SET_OF_ChannelAggregationMethod", HFILL }}, + { &hf_t124_aggregationMethods_item, + { "ChannelAggregationMethod", "t124.ChannelAggregationMethod", + FT_UINT32, BASE_DEC, VALS(t124_ChannelAggregationMethod_vals), 0, + NULL, HFILL }}, + { &hf_t124_profiles, + { "profiles", "t124.profiles", + FT_UINT32, BASE_DEC, NULL, 0, + "SET_OF_Profile", HFILL }}, + { &hf_t124_profiles_item, + { "Profile", "t124.Profile", + FT_UINT32, BASE_DEC, VALS(t124_Profile_vals), 0, + NULL, HFILL }}, + { &hf_t124_mediaConcerned, + { "mediaConcerned", "t124.mediaConcerned", + FT_NONE, BASE_NONE, NULL, 0, + "MediaList", HFILL }}, + { &hf_t124_managementDevice, + { "managementDevice", "t124.managementDevice", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_peripheralDevice, + { "peripheralDevice", "t124.peripheralDevice", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_callingNode, + { "callingNode", "t124.callingNode", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_calledNode, + { "calledNode", "t124.calledNode", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_unknown, + { "unknown", "t124.unknown", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_4294967295", HFILL }}, + { &hf_t124_h243NodeID, + { "h243NodeID", "t124.h243NodeID", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING_SIZE_2", HFILL }}, + { &hf_t124_conferenceName, + { "conferenceName", "t124.conferenceName", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_conferenceNameModifier, + { "conferenceNameModifier", "t124.conferenceNameModifier", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_conferenceDescription, + { "conferenceDescription", "t124.conferenceDescription", + FT_STRING, BASE_NONE, NULL, 0, + "TextString", HFILL }}, + { &hf_t124_lockedConference, + { "lockedConference", "t124.lockedConference", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_passwordInTheClearRequired, + { "passwordInTheClearRequired", "t124.passwordInTheClearRequired", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_networkAddress_02, + { "networkAddress", "t124.networkAddress", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_t124_defaultConferenceFlag, + { "defaultConferenceFlag", "t124.defaultConferenceFlag", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_conferenceMode, + { "conferenceMode", "t124.conferenceMode", + FT_UINT32, BASE_DEC, VALS(t124_ConferenceMode_vals), 0, + NULL, HFILL }}, + { &hf_t124_superiorNode, + { "superiorNode", "t124.superiorNode", + FT_UINT32, BASE_DEC, NULL, 0, + "UserID", HFILL }}, + { &hf_t124_nodeType, + { "nodeType", "t124.nodeType", + FT_UINT32, BASE_DEC, VALS(t124_NodeType_vals), 0, + NULL, HFILL }}, + { &hf_t124_nodeProperties, + { "nodeProperties", "t124.nodeProperties", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_nodeName, + { "nodeName", "t124.nodeName", + FT_STRING, BASE_NONE, NULL, 0, + "TextString", HFILL }}, + { &hf_t124_participantsList, + { "participantsList", "t124.participantsList", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_OF_TextString", HFILL }}, + { &hf_t124_participantsList_item, + { "TextString", "t124.TextString", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_siteInformation, + { "siteInformation", "t124.siteInformation", + FT_STRING, BASE_NONE, NULL, 0, + "TextString", HFILL }}, + { &hf_t124_alternativeNodeID, + { "alternativeNodeID", "t124.alternativeNodeID", + FT_UINT32, BASE_DEC, VALS(t124_AlternativeNodeID_vals), 0, + NULL, HFILL }}, + { &hf_t124_userData, + { "userData", "t124.userData", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_t124_nodeCategory, + { "nodeCategory", "t124.nodeCategory", + FT_UINT32, BASE_DEC, VALS(t124_NodeCategory_vals), 0, + NULL, HFILL }}, + { &hf_t124_networkAddressV2, + { "networkAddressV2", "t124.networkAddressV2", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_t124_applicationProtocolKey, + { "applicationProtocolKey", "t124.applicationProtocolKey", + FT_UINT32, BASE_DEC, VALS(t124_Key_vals), 0, + "Key", HFILL }}, + { &hf_t124_sessionID, + { "sessionID", "t124.sessionID", + FT_UINT32, BASE_DEC, NULL, 0, + "ChannelID", HFILL }}, + { &hf_t124_applicationActive, + { "applicationActive", "t124.applicationActive", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_conductingOperationCapable, + { "conductingOperationCapable", "t124.conductingOperationCapable", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_startupChannel, + { "startupChannel", "t124.startupChannel", + FT_UINT32, BASE_DEC, VALS(t124_ChannelType_vals), 0, + "ChannelType", HFILL }}, + { &hf_t124_applicationUserID, + { "applicationUserID", "t124.applicationUserID", + FT_UINT32, BASE_DEC, NULL, 0, + "UserID", HFILL }}, + { &hf_t124_nonCollapsingCapabilities, + { "nonCollapsingCapabilities", "t124.nonCollapsingCapabilities", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_t124_nonCollapsingCapabilities_item, + { "nonCollapsingCapabilities item", "t124.nonCollapsingCapabilities_item", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_capabilityID, + { "capabilityID", "t124.capabilityID", + FT_UINT32, BASE_DEC, VALS(t124_CapabilityID_vals), 0, + NULL, HFILL }}, + { &hf_t124_applicationData, + { "applicationData", "t124.applicationData", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING", HFILL }}, + { &hf_t124_standard, + { "standard", "t124.standard", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_65535", HFILL }}, + { &hf_t124_nonStandard_01, + { "nonStandard", "t124.nonStandard", + FT_UINT32, BASE_DEC, VALS(t124_Key_vals), 0, + "Key", HFILL }}, + { &hf_t124_logical, + { "logical", "t124.logical", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_unsignedMin, + { "unsignedMin", "t124.unsignedMin", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_MAX", HFILL }}, + { &hf_t124_unsignedMax, + { "unsignedMax", "t124.unsignedMax", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_MAX", HFILL }}, + { &hf_t124_sessionKey, + { "sessionKey", "t124.sessionKey", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_expectedCapabilitySet, + { "expectedCapabilitySet", "t124.expectedCapabilitySet", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_t124_expectedCapabilitySet_item, + { "expectedCapabilitySet item", "t124.expectedCapabilitySet_item", + FT_NONE, BASE_NONE, NULL, 0, + "T_expectedCapabilitySet_item", HFILL }}, + { &hf_t124_capabilityClass, + { "capabilityClass", "t124.capabilityClass", + FT_UINT32, BASE_DEC, VALS(t124_CapabilityClass_vals), 0, + NULL, HFILL }}, + { &hf_t124_mandatoryFlag, + { "mandatoryFlag", "t124.mandatoryFlag", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_resourceID, + { "resourceID", "t124.resourceID", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING_SIZE_0_64", HFILL }}, + { &hf_t124_channelID, + { "channelID", "t124.channelID", + FT_UINT32, BASE_DEC, NULL, 0, + "DynamicChannelID", HFILL }}, + { &hf_t124_tokenID, + { "tokenID", "t124.tokenID", + FT_UINT32, BASE_DEC, NULL, 0, + "DynamicTokenID", HFILL }}, + { &hf_t124_parameter, + { "parameter", "t124.parameter", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING_SIZE_0_64", HFILL }}, + { &hf_t124_vacant, + { "vacant", "t124.vacant", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_owned, + { "owned", "t124.owned", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_nodeID, + { "nodeID", "t124.nodeID", + FT_UINT32, BASE_DEC, NULL, 0, + "UserID", HFILL }}, + { &hf_t124_entityID, + { "entityID", "t124.entityID", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_t124_notOwned, + { "notOwned", "t124.notOwned", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_tag, + { "tag", "t124.tag", + FT_INT32, BASE_DEC, NULL, 0, + "INTEGER", HFILL }}, + { &hf_t124_convenerPassword, + { "convenerPassword", "t124.convenerPassword", + FT_NONE, BASE_NONE, NULL, 0, + "Password", HFILL }}, + { &hf_t124_password, + { "password", "t124.password", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_listedConference, + { "listedConference", "t124.listedConference", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_conductibleConference, + { "conductibleConference", "t124.conductibleConference", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_terminationMethod, + { "terminationMethod", "t124.terminationMethod", + FT_UINT32, BASE_DEC, VALS(t124_TerminationMethod_vals), 0, + NULL, HFILL }}, + { &hf_t124_conductorPrivileges, + { "conductorPrivileges", "t124.conductorPrivileges", + FT_UINT32, BASE_DEC, NULL, 0, + "SET_OF_Privilege", HFILL }}, + { &hf_t124_conductorPrivileges_item, + { "Privilege", "t124.Privilege", + FT_UINT32, BASE_DEC, VALS(t124_Privilege_vals), 0, + NULL, HFILL }}, + { &hf_t124_conductedPrivileges, + { "conductedPrivileges", "t124.conductedPrivileges", + FT_UINT32, BASE_DEC, NULL, 0, + "SET_OF_Privilege", HFILL }}, + { &hf_t124_conductedPrivileges_item, + { "Privilege", "t124.Privilege", + FT_UINT32, BASE_DEC, VALS(t124_Privilege_vals), 0, + NULL, HFILL }}, + { &hf_t124_nonConductedPrivileges, + { "nonConductedPrivileges", "t124.nonConductedPrivileges", + FT_UINT32, BASE_DEC, NULL, 0, + "SET_OF_Privilege", HFILL }}, + { &hf_t124_nonConductedPrivileges_item, + { "Privilege", "t124.Privilege", + FT_UINT32, BASE_DEC, VALS(t124_Privilege_vals), 0, + NULL, HFILL }}, + { &hf_t124_callerIdentifier, + { "callerIdentifier", "t124.callerIdentifier", + FT_STRING, BASE_NONE, NULL, 0, + "TextString", HFILL }}, + { &hf_t124_conferencePriority, + { "conferencePriority", "t124.conferencePriority", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_result, + { "result", "t124.result", + FT_UINT32, BASE_DEC, VALS(t124_T_result_vals), 0, + NULL, HFILL }}, + { &hf_t124_asymmetryIndicator, + { "asymmetryIndicator", "t124.asymmetryIndicator", + FT_UINT32, BASE_DEC, VALS(t124_AsymmetryIndicator_vals), 0, + NULL, HFILL }}, + { &hf_t124_conferenceList, + { "conferenceList", "t124.conferenceList", + FT_UINT32, BASE_DEC, NULL, 0, + "SET_OF_ConferenceDescriptor", HFILL }}, + { &hf_t124_conferenceList_item, + { "ConferenceDescriptor", "t124.ConferenceDescriptor", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_queryResponseResult, + { "result", "t124.result", + FT_UINT32, BASE_DEC, VALS(t124_QueryResponseResult_vals), 0, + "QueryResponseResult", HFILL }}, + { &hf_t124_waitForInvitationFlag, + { "waitForInvitationFlag", "t124.waitForInvitationFlag", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_noUnlistedConferenceFlag, + { "noUnlistedConferenceFlag", "t124.noUnlistedConferenceFlag", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_conferenceName_01, + { "conferenceName", "t124.conferenceName", + FT_UINT32, BASE_DEC, VALS(t124_ConferenceNameSelector_vals), 0, + "ConferenceNameSelector", HFILL }}, + { &hf_t124_password_01, + { "password", "t124.password", + FT_UINT32, BASE_DEC, VALS(t124_PasswordChallengeRequestResponse_vals), 0, + "PasswordChallengeRequestResponse", HFILL }}, + { &hf_t124_convenerPassword_01, + { "convenerPassword", "t124.convenerPassword", + FT_UINT32, BASE_DEC, VALS(t124_PasswordSelector_vals), 0, + "PasswordSelector", HFILL }}, + { &hf_t124_topNodeID, + { "topNodeID", "t124.topNodeID", + FT_UINT32, BASE_DEC, NULL, 0, + "UserID", HFILL }}, + { &hf_t124_conferenceNameAlias, + { "conferenceNameAlias", "t124.conferenceNameAlias", + FT_UINT32, BASE_DEC, VALS(t124_ConferenceNameSelector_vals), 0, + "ConferenceNameSelector", HFILL }}, + { &hf_t124_joinResponseResult, + { "result", "t124.result", + FT_UINT32, BASE_DEC, VALS(t124_JoinResponseResult_vals), 0, + "JoinResponseResult", HFILL }}, + { &hf_t124_inviteResponseResult, + { "result", "t124.result", + FT_UINT32, BASE_DEC, VALS(t124_InviteResponseResult_vals), 0, + "InviteResponseResult", HFILL }}, + { &hf_t124_requestingNode, + { "requestingNode", "t124.requestingNode", + FT_UINT32, BASE_DEC, NULL, 0, + "UserID", HFILL }}, + { &hf_t124_addingMCU, + { "addingMCU", "t124.addingMCU", + FT_UINT32, BASE_DEC, NULL, 0, + "UserID", HFILL }}, + { &hf_t124_addResponseResult, + { "result", "t124.result", + FT_UINT32, BASE_DEC, VALS(t124_AddResponseResult_vals), 0, + "AddResponseResult", HFILL }}, + { &hf_t124_lockResponseResult, + { "result", "t124.result", + FT_UINT32, BASE_DEC, VALS(t124_LockResponseResult_vals), 0, + "LockResponseResult", HFILL }}, + { &hf_t124_unlockResponseResult, + { "result", "t124.result", + FT_UINT32, BASE_DEC, VALS(t124_UnlockResponseResult_vals), 0, + "UnlockResponseResult", HFILL }}, + { &hf_t124_terminateRequestReason, + { "reason", "t124.reason", + FT_UINT32, BASE_DEC, VALS(t124_TerminateRequestReason_vals), 0, + "TerminateRequestReason", HFILL }}, + { &hf_t124_terminateResponseResult, + { "result", "t124.result", + FT_UINT32, BASE_DEC, VALS(t124_TerminateResponseResult_vals), 0, + "TerminateResponseResult", HFILL }}, + { &hf_t124_terminateIndicationReason, + { "reason", "t124.reason", + FT_UINT32, BASE_DEC, VALS(t124_TerminateIndicationReason_vals), 0, + "TerminateIndicationReason", HFILL }}, + { &hf_t124_nodeToEject, + { "nodeToEject", "t124.nodeToEject", + FT_UINT32, BASE_DEC, NULL, 0, + "UserID", HFILL }}, + { &hf_t124_ejectUserRequestReason, + { "reason", "t124.reason", + FT_UINT32, BASE_DEC, VALS(t124_EjectUserRequestReason_vals), 0, + "EjectUserRequestReason", HFILL }}, + { &hf_t124_ejectUserResponseResult, + { "result", "t124.result", + FT_UINT32, BASE_DEC, VALS(t124_EjectUserResponseResult_vals), 0, + "EjectUserResponseResult", HFILL }}, + { &hf_t124_reason, + { "reason", "t124.reason", + FT_UINT32, BASE_DEC, VALS(t124_T_reason_vals), 0, + NULL, HFILL }}, + { &hf_t124_transferringNodes, + { "transferringNodes", "t124.transferringNodes", + FT_UINT32, BASE_DEC, NULL, 0, + "SET_SIZE_1_65536_OF_UserID", HFILL }}, + { &hf_t124_transferringNodes_item, + { "UserID", "t124.UserID", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_t124_password_02, + { "password", "t124.password", + FT_UINT32, BASE_DEC, VALS(t124_PasswordSelector_vals), 0, + "PasswordSelector", HFILL }}, + { &hf_t124_transferResponseResult, + { "result", "t124.result", + FT_UINT32, BASE_DEC, VALS(t124_TransferResponseResult_vals), 0, + "TransferResponseResult", HFILL }}, + { &hf_t124_fullRefresh, + { "fullRefresh", "t124.fullRefresh", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_nodeInformation, + { "nodeInformation", "t124.nodeInformation", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_nodeRecordList, + { "nodeRecordList", "t124.nodeRecordList", + FT_UINT32, BASE_DEC, VALS(t124_T_nodeRecordList_vals), 0, + NULL, HFILL }}, + { &hf_t124_noChange, + { "noChange", "t124.noChange", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_nodeRefresh, + { "refresh", "t124.refresh", + FT_UINT32, BASE_DEC, NULL, 0, + "NodeRefresh", HFILL }}, + { &hf_t124_nodeRefresh_item, + { "refresh item", "t124.refresh_item", + FT_NONE, BASE_NONE, NULL, 0, + "T_nodeRefresh_item", HFILL }}, + { &hf_t124_nodeRecord, + { "nodeRecord", "t124.nodeRecord", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_update, + { "update", "t124.update", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_t124_update_item, + { "update item", "t124.update_item", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_nodeUpdate, + { "nodeUpdate", "t124.nodeUpdate", + FT_UINT32, BASE_DEC, VALS(t124_T_nodeUpdate_vals), 0, + NULL, HFILL }}, + { &hf_t124_addRecord, + { "addRecord", "t124.addRecord", + FT_NONE, BASE_NONE, NULL, 0, + "NodeRecord", HFILL }}, + { &hf_t124_replaceRecord, + { "replaceRecord", "t124.replaceRecord", + FT_NONE, BASE_NONE, NULL, 0, + "NodeRecord", HFILL }}, + { &hf_t124_removeRecord, + { "removeRecord", "t124.removeRecord", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_rosterInstanceNumber, + { "rosterInstanceNumber", "t124.rosterInstanceNumber", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_65535", HFILL }}, + { &hf_t124_nodesAdded, + { "nodesAdded", "t124.nodesAdded", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_nodesRemoved, + { "nodesRemoved", "t124.nodesRemoved", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_applicationInformation, + { "applicationInformation", "t124.applicationInformation", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_t124_applicationInformation_item, + { "applicationInformation item", "t124.applicationInformation_item", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_applicationRecordList, + { "applicationRecordList", "t124.applicationRecordList", + FT_UINT32, BASE_DEC, VALS(t124_T_applicationRecordList_vals), 0, + NULL, HFILL }}, + { &hf_t124_applicationRefresh, + { "refresh", "t124.refresh", + FT_UINT32, BASE_DEC, NULL, 0, + "ApplicationRefresh", HFILL }}, + { &hf_t124_applicationRefresh_item, + { "refresh item", "t124.refresh_item", + FT_NONE, BASE_NONE, NULL, 0, + "T_applicationRefresh_item", HFILL }}, + { &hf_t124_applicationRecord, + { "applicationRecord", "t124.applicationRecord", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_applicationUpdate, + { "update", "t124.update", + FT_UINT32, BASE_DEC, NULL, 0, + "ApplicationUpdate", HFILL }}, + { &hf_t124_applicationUpdateItem, + { "update item", "t124.update_item", + FT_NONE, BASE_NONE, NULL, 0, + "ApplicationUpdateItem", HFILL }}, + { &hf_t124_applicationUpdate_01, + { "applicationUpdate", "t124.applicationUpdate", + FT_UINT32, BASE_DEC, VALS(t124_T_applicationUpdate_vals), 0, + NULL, HFILL }}, + { &hf_t124_addRecord_01, + { "addRecord", "t124.addRecord", + FT_NONE, BASE_NONE, NULL, 0, + "ApplicationRecord", HFILL }}, + { &hf_t124_replaceRecord_01, + { "replaceRecord", "t124.replaceRecord", + FT_NONE, BASE_NONE, NULL, 0, + "ApplicationRecord", HFILL }}, + { &hf_t124_applicationCapabilitiesList, + { "applicationCapabilitiesList", "t124.applicationCapabilitiesList", + FT_UINT32, BASE_DEC, VALS(t124_T_applicationCapabilitiesList_vals), 0, + NULL, HFILL }}, + { &hf_t124_refresh, + { "refresh", "t124.refresh", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_t124_refresh_item, + { "refresh item", "t124.refresh_item", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_numberOfEntities, + { "numberOfEntities", "t124.numberOfEntities", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_65536", HFILL }}, + { &hf_t124_peerEntitiesAdded, + { "peerEntitiesAdded", "t124.peerEntitiesAdded", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_peerEntitiesRemoved, + { "peerEntitiesRemoved", "t124.peerEntitiesRemoved", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_applicationProtocolEntiyList, + { "applicationProtocolEntiyList", "t124.applicationProtocolEntiyList", + FT_UINT32, BASE_DEC, NULL, 0, + "SET_SIZE_1_65536_OF_ApplicationInvokeSpecifier", HFILL }}, + { &hf_t124_applicationProtocolEntiyList_item, + { "ApplicationInvokeSpecifier", "t124.ApplicationInvokeSpecifier", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_destinationNodes, + { "destinationNodes", "t124.destinationNodes", + FT_UINT32, BASE_DEC, NULL, 0, + "SET_SIZE_1_65536_OF_UserID", HFILL }}, + { &hf_t124_destinationNodes_item, + { "UserID", "t124.UserID", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_t124_key_01, + { "key", "t124.key", + FT_NONE, BASE_NONE, NULL, 0, + "RegistryKey", HFILL }}, + { &hf_t124_modificationRights, + { "modificationRights", "t124.modificationRights", + FT_UINT32, BASE_DEC, VALS(t124_RegistryModificationRights_vals), 0, + "RegistryModificationRights", HFILL }}, + { &hf_t124_item, + { "item", "t124.item", + FT_UINT32, BASE_DEC, VALS(t124_RegistryItem_vals), 0, + "RegistryItem", HFILL }}, + { &hf_t124_owner, + { "owner", "t124.owner", + FT_UINT32, BASE_DEC, VALS(t124_RegistryEntryOwner_vals), 0, + "RegistryEntryOwner", HFILL }}, + { &hf_t124_numberOfHandles, + { "numberOfHandles", "t124.numberOfHandles", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_1024", HFILL }}, + { &hf_t124_firstHandle, + { "firstHandle", "t124.firstHandle", + FT_UINT32, BASE_DEC, NULL, 0, + "Handle", HFILL }}, + { &hf_t124_allocateHandleResponseResult, + { "result", "t124.result", + FT_UINT32, BASE_DEC, VALS(t124_AllocateHandleResponseResult_vals), 0, + "AllocateHandleResponseResult", HFILL }}, + { &hf_t124_primitiveType, + { "primitiveType", "t124.primitiveType", + FT_UINT32, BASE_DEC, VALS(t124_T_primitiveType_vals), 0, + NULL, HFILL }}, + { &hf_t124_result_01, + { "result", "t124.result", + FT_UINT32, BASE_DEC, VALS(t124_T_result_01_vals), 0, + "T_result_01", HFILL }}, + { &hf_t124_conductingNode, + { "conductingNode", "t124.conductingNode", + FT_UINT32, BASE_DEC, NULL, 0, + "UserID", HFILL }}, + { &hf_t124_grantFlag, + { "grantFlag", "t124.grantFlag", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_permissionList, + { "permissionList", "t124.permissionList", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_0_65535_OF_UserID", HFILL }}, + { &hf_t124_permissionList_item, + { "UserID", "t124.UserID", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_t124_waitingList, + { "waitingList", "t124.waitingList", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_65536_OF_UserID", HFILL }}, + { &hf_t124_waitingList_item, + { "UserID", "t124.UserID", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_t124_timeRemaining, + { "timeRemaining", "t124.timeRemaining", + FT_INT32, BASE_DEC, NULL, 0, + "Time", HFILL }}, + { &hf_t124_nodeSpecificTimeFlag, + { "nodeSpecificTimeFlag", "t124.nodeSpecificTimeFlag", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_timeToExtend, + { "timeToExtend", "t124.timeToExtend", + FT_INT32, BASE_DEC, NULL, 0, + "Time", HFILL }}, + { &hf_t124_message, + { "message", "t124.message", + FT_STRING, BASE_NONE, NULL, 0, + "TextString", HFILL }}, + { &hf_t124_request, + { "request", "t124.request", + FT_UINT32, BASE_DEC, VALS(t124_RequestPDU_vals), 0, + "RequestPDU", HFILL }}, + { &hf_t124_data_02, + { "data", "t124.data", + FT_NONE, BASE_NONE, NULL, 0, + "NonStandardParameter", HFILL }}, + { &hf_t124_t124Identifier, + { "t124Identifier", "t124.t124Identifier", + FT_UINT32, BASE_DEC, VALS(t124_Key_vals), 0, + "Key", HFILL }}, + { &hf_t124_connectPDU, + { "connectPDU", "t124.connectPDU", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_conferenceCreateRequest, + { "conferenceCreateRequest", "t124.conferenceCreateRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_conferenceCreateResponse, + { "conferenceCreateResponse", "t124.conferenceCreateResponse", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_conferenceQueryRequest, + { "conferenceQueryRequest", "t124.conferenceQueryRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_conferenceQueryResponse, + { "conferenceQueryResponse", "t124.conferenceQueryResponse", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_conferenceJoinRequest, + { "conferenceJoinRequest", "t124.conferenceJoinRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_conferenceJoinResponse, + { "conferenceJoinResponse", "t124.conferenceJoinResponse", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_conferenceInviteRequest, + { "conferenceInviteRequest", "t124.conferenceInviteRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_conferenceInviteResponse, + { "conferenceInviteResponse", "t124.conferenceInviteResponse", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_conferenceAddRequest, + { "conferenceAddRequest", "t124.conferenceAddRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_conferenceLockRequest, + { "conferenceLockRequest", "t124.conferenceLockRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_conferenceUnlockRequest, + { "conferenceUnlockRequest", "t124.conferenceUnlockRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_conferenceTerminateRequest, + { "conferenceTerminateRequest", "t124.conferenceTerminateRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_conferenceEjectUserRequest, + { "conferenceEjectUserRequest", "t124.conferenceEjectUserRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_conferenceTransferRequest, + { "conferenceTransferRequest", "t124.conferenceTransferRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_registryRegisterChannelRequest, + { "registryRegisterChannelRequest", "t124.registryRegisterChannelRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_registryAssignTokenRequest, + { "registryAssignTokenRequest", "t124.registryAssignTokenRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_registrySetParameterRequest, + { "registrySetParameterRequest", "t124.registrySetParameterRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_registryRetrieveEntryRequest, + { "registryRetrieveEntryRequest", "t124.registryRetrieveEntryRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_registryDeleteEntryRequest, + { "registryDeleteEntryRequest", "t124.registryDeleteEntryRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_registryMonitorEntryRequest, + { "registryMonitorEntryRequest", "t124.registryMonitorEntryRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_registryAllocateHandleRequest, + { "registryAllocateHandleRequest", "t124.registryAllocateHandleRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_nonStandardRequest, + { "nonStandardRequest", "t124.nonStandardRequest", + FT_NONE, BASE_NONE, NULL, 0, + "NonStandardPDU", HFILL }}, + { &hf_t124_conferenceAddResponse, + { "conferenceAddResponse", "t124.conferenceAddResponse", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_conferenceLockResponse, + { "conferenceLockResponse", "t124.conferenceLockResponse", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_conferenceUnlockResponse, + { "conferenceUnlockResponse", "t124.conferenceUnlockResponse", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_conferenceTerminateResponse, + { "conferenceTerminateResponse", "t124.conferenceTerminateResponse", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_conferenceEjectUserResponse, + { "conferenceEjectUserResponse", "t124.conferenceEjectUserResponse", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_conferenceTransferResponse, + { "conferenceTransferResponse", "t124.conferenceTransferResponse", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_registryResponse, + { "registryResponse", "t124.registryResponse", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_registryAllocateHandleResponse, + { "registryAllocateHandleResponse", "t124.registryAllocateHandleResponse", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_functionNotSupportedResponse, + { "functionNotSupportedResponse", "t124.functionNotSupportedResponse", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_nonStandardResponse, + { "nonStandardResponse", "t124.nonStandardResponse", + FT_NONE, BASE_NONE, NULL, 0, + "NonStandardPDU", HFILL }}, + { &hf_t124_userIDIndication, + { "userIDIndication", "t124.userIDIndication", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_conferenceLockIndication, + { "conferenceLockIndication", "t124.conferenceLockIndication", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_conferenceUnlockIndication, + { "conferenceUnlockIndication", "t124.conferenceUnlockIndication", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_conferenceTerminateIndication, + { "conferenceTerminateIndication", "t124.conferenceTerminateIndication", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_conferenceEjectUserIndication, + { "conferenceEjectUserIndication", "t124.conferenceEjectUserIndication", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_conferenceTransferIndication, + { "conferenceTransferIndication", "t124.conferenceTransferIndication", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_rosterUpdateIndication, + { "rosterUpdateIndication", "t124.rosterUpdateIndication", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_applicationInvokeIndication, + { "applicationInvokeIndication", "t124.applicationInvokeIndication", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_registryMonitorEntryIndication, + { "registryMonitorEntryIndication", "t124.registryMonitorEntryIndication", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_conductorAssignIndication, + { "conductorAssignIndication", "t124.conductorAssignIndication", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_conductorReleaseIndication, + { "conductorReleaseIndication", "t124.conductorReleaseIndication", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_conductorPermissionAskIndication, + { "conductorPermissionAskIndication", "t124.conductorPermissionAskIndication", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_conductorPermissionGrantIndication, + { "conductorPermissionGrantIndication", "t124.conductorPermissionGrantIndication", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_conferenceTimeRemainingIndication, + { "conferenceTimeRemainingIndication", "t124.conferenceTimeRemainingIndication", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_conferenceTimeInquireIndication, + { "conferenceTimeInquireIndication", "t124.conferenceTimeInquireIndication", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_conferenceTimeExtendIndication, + { "conferenceTimeExtendIndication", "t124.conferenceTimeExtendIndication", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_conferenceAssistanceIndication, + { "conferenceAssistanceIndication", "t124.conferenceAssistanceIndication", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_textMessageIndication, + { "textMessageIndication", "t124.textMessageIndication", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_nonStandardIndication, + { "nonStandardIndication", "t124.nonStandardIndication", + FT_NONE, BASE_NONE, NULL, 0, + "NonStandardPDU", HFILL }}, + { &hf_t124_maxChannelIds, + { "maxChannelIds", "t124.maxChannelIds", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_MAX", HFILL }}, + { &hf_t124_maxUserIds, + { "maxUserIds", "t124.maxUserIds", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_MAX", HFILL }}, + { &hf_t124_maxTokenIds, + { "maxTokenIds", "t124.maxTokenIds", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_MAX", HFILL }}, + { &hf_t124_numPriorities, + { "numPriorities", "t124.numPriorities", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_MAX", HFILL }}, + { &hf_t124_minThroughput, + { "minThroughput", "t124.minThroughput", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_MAX", HFILL }}, + { &hf_t124_maxHeight, + { "maxHeight", "t124.maxHeight", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_MAX", HFILL }}, + { &hf_t124_maxMCSPDUsize, + { "maxMCSPDUsize", "t124.maxMCSPDUsize", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_MAX", HFILL }}, + { &hf_t124_protocolVersion, + { "protocolVersion", "t124.protocolVersion", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_MAX", HFILL }}, + { &hf_t124_callingDomainSelector, + { "callingDomainSelector", "t124.callingDomainSelector", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING", HFILL }}, + { &hf_t124_calledDomainSelector, + { "calledDomainSelector", "t124.calledDomainSelector", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING", HFILL }}, + { &hf_t124_upwardFlag, + { "upwardFlag", "t124.upwardFlag", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_targetParameters, + { "targetParameters", "t124.targetParameters", + FT_NONE, BASE_NONE, NULL, 0, + "DomainParameters", HFILL }}, + { &hf_t124_minimumParameters, + { "minimumParameters", "t124.minimumParameters", + FT_NONE, BASE_NONE, NULL, 0, + "DomainParameters", HFILL }}, + { &hf_t124_maximumParameters, + { "maximumParameters", "t124.maximumParameters", + FT_NONE, BASE_NONE, NULL, 0, + "DomainParameters", HFILL }}, + { &hf_t124_userData_01, + { "userData", "t124.userData", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING", HFILL }}, + { &hf_t124_result_02, + { "result", "t124.result", + FT_UINT32, BASE_DEC, VALS(t124_Result_vals), 0, + NULL, HFILL }}, + { &hf_t124_calledConnectId, + { "calledConnectId", "t124.calledConnectId", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_MAX", HFILL }}, + { &hf_t124_domainParameters, + { "domainParameters", "t124.domainParameters", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_dataPriority, + { "dataPriority", "t124.dataPriority", + FT_UINT32, BASE_DEC, VALS(t124_DataPriority_vals), 0, + NULL, HFILL }}, + { &hf_t124_heightLimit, + { "heightLimit", "t124.heightLimit", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_MAX", HFILL }}, + { &hf_t124_subHeight, + { "subHeight", "t124.subHeight", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_MAX", HFILL }}, + { &hf_t124_subInterval, + { "subInterval", "t124.subInterval", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_MAX", HFILL }}, + { &hf_t124_static, + { "static", "t124.static", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_channelId, + { "channelId", "t124.channelId", + FT_UINT32, BASE_DEC, NULL, 0, + "StaticChannelId", HFILL }}, + { &hf_t124_userId, + { "userId", "t124.userId", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_joined, + { "joined", "t124.joined", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_t124_userId_01, + { "userId", "t124.userId", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_t124_private, + { "private", "t124.private", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_channelId_01, + { "channelId", "t124.channelId", + FT_UINT32, BASE_DEC, NULL, 0, + "PrivateChannelId", HFILL }}, + { &hf_t124_manager, + { "manager", "t124.manager", + FT_UINT32, BASE_DEC, NULL, 0, + "UserId", HFILL }}, + { &hf_t124_admitted, + { "admitted", "t124.admitted", + FT_UINT32, BASE_DEC, NULL, 0, + "SET_OF_UserId", HFILL }}, + { &hf_t124_admitted_item, + { "UserId", "t124.UserId", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_t124_assigned, + { "assigned", "t124.assigned", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_channelId_02, + { "channelId", "t124.channelId", + FT_UINT32, BASE_DEC, NULL, 0, + "AssignedChannelId", HFILL }}, + { &hf_t124_mergeChannels, + { "mergeChannels", "t124.mergeChannels", + FT_UINT32, BASE_DEC, NULL, 0, + "SET_OF_ChannelAttributes", HFILL }}, + { &hf_t124_mergeChannels_item, + { "ChannelAttributes", "t124.ChannelAttributes", + FT_UINT32, BASE_DEC, VALS(t124_ChannelAttributes_vals), 0, + NULL, HFILL }}, + { &hf_t124_purgeChannelIds, + { "purgeChannelIds", "t124.purgeChannelIds", + FT_UINT32, BASE_DEC, NULL, 0, + "SET_OF_ChannelId", HFILL }}, + { &hf_t124_purgeChannelIds_item, + { "ChannelId", "t124.ChannelId", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_t124_detachUserIds, + { "detachUserIds", "t124.detachUserIds", + FT_UINT32, BASE_DEC, NULL, 0, + "SET_OF_UserId", HFILL }}, + { &hf_t124_detachUserIds_item, + { "UserId", "t124.UserId", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_t124_grabbed, + { "grabbed", "t124.grabbed", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_tokenId, + { "tokenId", "t124.tokenId", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_t124_grabber, + { "grabber", "t124.grabber", + FT_UINT32, BASE_DEC, NULL, 0, + "UserId", HFILL }}, + { &hf_t124_inhibited, + { "inhibited", "t124.inhibited", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_inhibitors, + { "inhibitors", "t124.inhibitors", + FT_UINT32, BASE_DEC, NULL, 0, + "SET_OF_UserId", HFILL }}, + { &hf_t124_inhibitors_item, + { "UserId", "t124.UserId", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_t124_giving, + { "giving", "t124.giving", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_recipient, + { "recipient", "t124.recipient", + FT_UINT32, BASE_DEC, NULL, 0, + "UserId", HFILL }}, + { &hf_t124_ungivable, + { "ungivable", "t124.ungivable", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_given, + { "given", "t124.given", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_mergeTokens, + { "mergeTokens", "t124.mergeTokens", + FT_UINT32, BASE_DEC, NULL, 0, + "SET_OF_TokenAttributes", HFILL }}, + { &hf_t124_mergeTokens_item, + { "TokenAttributes", "t124.TokenAttributes", + FT_UINT32, BASE_DEC, VALS(t124_TokenAttributes_vals), 0, + NULL, HFILL }}, + { &hf_t124_purgeTokenIds, + { "purgeTokenIds", "t124.purgeTokenIds", + FT_UINT32, BASE_DEC, NULL, 0, + "SET_OF_TokenId", HFILL }}, + { &hf_t124_purgeTokenIds_item, + { "TokenId", "t124.TokenId", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_t124_reason_01, + { "reason", "t124.reason", + FT_UINT32, BASE_DEC, VALS(t124_Reason_vals), 0, + NULL, HFILL }}, + { &hf_t124_diagnostic, + { "diagnostic", "t124.diagnostic", + FT_UINT32, BASE_DEC, VALS(t124_Diagnostic_vals), 0, + NULL, HFILL }}, + { &hf_t124_initialOctets, + { "initialOctets", "t124.initialOctets", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING", HFILL }}, + { &hf_t124_initiator, + { "initiator", "t124.initiator", + FT_UINT32, BASE_DEC, NULL, 0, + "UserId", HFILL }}, + { &hf_t124_userIds, + { "userIds", "t124.userIds", + FT_UINT32, BASE_DEC, NULL, 0, + "SET_OF_UserId", HFILL }}, + { &hf_t124_userIds_item, + { "UserId", "t124.UserId", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_t124_channelId_03, + { "channelId", "t124.channelId", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_t124_requested, + { "requested", "t124.requested", + FT_UINT32, BASE_DEC, NULL, 0, + "ChannelId", HFILL }}, + { &hf_t124_channelIds, + { "channelIds", "t124.channelIds", + FT_UINT32, BASE_DEC, NULL, 0, + "SET_OF_ChannelId", HFILL }}, + { &hf_t124_channelIds_item, + { "ChannelId", "t124.ChannelId", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_t124_segmentation, + { "segmentation", "t124.segmentation", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_userData_02, + { "userData", "t124.userData", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_userData_03, + { "userData", "t124.userData", + FT_BYTES, BASE_NONE, NULL, 0, + "T_userData_01", HFILL }}, + { &hf_t124_tokenStatus, + { "tokenStatus", "t124.tokenStatus", + FT_UINT32, BASE_DEC, VALS(t124_TokenStatus_vals), 0, + NULL, HFILL }}, + { &hf_t124_connect_initial, + { "connect-initial", "t124.connect_initial", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_connect_response, + { "connect-response", "t124.connect_response", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_connect_additional, + { "connect-additional", "t124.connect_additional", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_connect_result, + { "connect-result", "t124.connect_result", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_plumbDomainIndication, + { "plumbDomainIndication", "t124.plumbDomainIndication", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_erectDomainRequest, + { "erectDomainRequest", "t124.erectDomainRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_mergeChannelsRequest, + { "mergeChannelsRequest", "t124.mergeChannelsRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_mergeChannelsConfirm, + { "mergeChannelsConfirm", "t124.mergeChannelsConfirm", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_purgeChannelsIndication, + { "purgeChannelsIndication", "t124.purgeChannelsIndication", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_mergeTokensRequest, + { "mergeTokensRequest", "t124.mergeTokensRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_mergeTokensConfirm, + { "mergeTokensConfirm", "t124.mergeTokensConfirm", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_purgeTokensIndication, + { "purgeTokensIndication", "t124.purgeTokensIndication", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_disconnectProviderUltimatum, + { "disconnectProviderUltimatum", "t124.disconnectProviderUltimatum", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_rejectMCSPDUUltimatum, + { "rejectMCSPDUUltimatum", "t124.rejectMCSPDUUltimatum", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_attachUserRequest, + { "attachUserRequest", "t124.attachUserRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_attachUserConfirm, + { "attachUserConfirm", "t124.attachUserConfirm", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_detachUserRequest, + { "detachUserRequest", "t124.detachUserRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_detachUserIndication, + { "detachUserIndication", "t124.detachUserIndication", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_channelJoinRequest, + { "channelJoinRequest", "t124.channelJoinRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_channelJoinConfirm, + { "channelJoinConfirm", "t124.channelJoinConfirm", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_channelLeaveRequest, + { "channelLeaveRequest", "t124.channelLeaveRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_channelConveneRequest, + { "channelConveneRequest", "t124.channelConveneRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_channelConveneConfirm, + { "channelConveneConfirm", "t124.channelConveneConfirm", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_channelDisbandRequest, + { "channelDisbandRequest", "t124.channelDisbandRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_channelDisbandIndication, + { "channelDisbandIndication", "t124.channelDisbandIndication", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_channelAdmitRequest, + { "channelAdmitRequest", "t124.channelAdmitRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_channelAdmitIndication, + { "channelAdmitIndication", "t124.channelAdmitIndication", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_channelExpelRequest, + { "channelExpelRequest", "t124.channelExpelRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_channelExpelIndication, + { "channelExpelIndication", "t124.channelExpelIndication", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_sendDataRequest, + { "sendDataRequest", "t124.sendDataRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_sendDataIndication, + { "sendDataIndication", "t124.sendDataIndication", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_uniformSendDataRequest, + { "uniformSendDataRequest", "t124.uniformSendDataRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_uniformSendDataIndication, + { "uniformSendDataIndication", "t124.uniformSendDataIndication", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_tokenGrabRequest, + { "tokenGrabRequest", "t124.tokenGrabRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_tokenGrabConfirm, + { "tokenGrabConfirm", "t124.tokenGrabConfirm", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_tokenInhibitRequest, + { "tokenInhibitRequest", "t124.tokenInhibitRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_tokenInhibitConfirm, + { "tokenInhibitConfirm", "t124.tokenInhibitConfirm", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_tokenGiveRequest, + { "tokenGiveRequest", "t124.tokenGiveRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_tokenGiveIndication, + { "tokenGiveIndication", "t124.tokenGiveIndication", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_tokenGiveResponse, + { "tokenGiveResponse", "t124.tokenGiveResponse", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_tokenGiveConfirm, + { "tokenGiveConfirm", "t124.tokenGiveConfirm", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_tokenPleaseRequest, + { "tokenPleaseRequest", "t124.tokenPleaseRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_tokenPleaseIndication, + { "tokenPleaseIndication", "t124.tokenPleaseIndication", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_tokenReleaseRequest, + { "tokenReleaseRequest", "t124.tokenReleaseRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_tokenReleaseConfirm, + { "tokenReleaseConfirm", "t124.tokenReleaseConfirm", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_tokenTestRequest, + { "tokenTestRequest", "t124.tokenTestRequest", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_tokenTestConfirm, + { "tokenTestConfirm", "t124.tokenTestConfirm", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_t124_Segmentation_begin, + { "begin", "t124.begin", + FT_BOOLEAN, 8, NULL, 0x80, + NULL, HFILL }}, + { &hf_t124_Segmentation_end, + { "end", "t124.end", + FT_BOOLEAN, 8, NULL, 0x40, + NULL, HFILL }}, + +/*--- End of included file: packet-t124-hfarr.c ---*/ +#line 177 "../../asn1/t124/packet-t124-template.c" + }; + + /* List of subtrees */ + static gint *ett[] = { + &ett_t124, + &ett_t124_connectGCCPDU, + +/*--- Included file: packet-t124-ettarr.c ---*/ +#line 1 "../../asn1/t124/packet-t124-ettarr.c" + &ett_t124_Key, + &ett_t124_NonStandardParameter, + &ett_t124_UserData, + &ett_t124_UserData_item, + &ett_t124_Password, + &ett_t124_PasswordSelector, + &ett_t124_ChallengeResponseItem, + &ett_t124_ChallengeResponseAlgorithm, + &ett_t124_ChallengeItem, + &ett_t124_ChallengeRequest, + &ett_t124_SET_OF_ChallengeItem, + &ett_t124_ChallengeResponse, + &ett_t124_PasswordChallengeRequestResponse, + &ett_t124_T_challengeRequestResponse, + &ett_t124_ConferenceName, + &ett_t124_ConferenceNameSelector, + &ett_t124_ConferencePriorityScheme, + &ett_t124_ConferencePriority, + &ett_t124_NodeCategory, + &ett_t124_ConferenceMode, + &ett_t124_NetworkAddress, + &ett_t124_NetworkAddress_item, + &ett_t124_T_aggregatedChannel, + &ett_t124_T_transferModes, + &ett_t124_T_highLayerCompatibility, + &ett_t124_T_transportConnection, + &ett_t124_MediaList, + &ett_t124_ChannelAggregationMethod, + &ett_t124_Profile, + &ett_t124_T_simpleProfile, + &ett_t124_T_multimediaProfile, + &ett_t124_T_profile, + &ett_t124_ExtendedE164NetworkAddress, + &ett_t124_TransportAddress, + &ett_t124_GSTNConnection, + &ett_t124_ISDNConnection, + &ett_t124_ISDNCircuitTypes, + &ett_t124_ISDNCircuitTypes_item, + &ett_t124_ISDNHighLayerCompatibility, + &ett_t124_CSDNConnection, + &ett_t124_T_circuitTypes, + &ett_t124_T_circuitTypes_item, + &ett_t124_PSDNConnection, + &ett_t124_PSDNNetworkAddress, + &ett_t124_ATMConnection, + &ett_t124_T_networkAddress, + &ett_t124_NetworkConnection, + &ett_t124_NetworkAddressV2, + &ett_t124_NetworkAddressV2_item, + &ett_t124_T_networkConnection, + &ett_t124_T_aggregatedConnections, + &ett_t124_T_connectionList, + &ett_t124_T_connectionList_item, + &ett_t124_SET_OF_ChannelAggregationMethod, + &ett_t124_SET_OF_Profile, + &ett_t124_NodeProperties, + &ett_t124_AsymmetryIndicator, + &ett_t124_AlternativeNodeID, + &ett_t124_ConferenceDescriptor, + &ett_t124_NodeRecord, + &ett_t124_SEQUENCE_OF_TextString, + &ett_t124_SessionKey, + &ett_t124_ApplicationRecord, + &ett_t124_T_nonCollapsingCapabilities, + &ett_t124_T_nonCollapsingCapabilities_item, + &ett_t124_CapabilityID, + &ett_t124_CapabilityClass, + &ett_t124_ApplicationInvokeSpecifier, + &ett_t124_T_expectedCapabilitySet, + &ett_t124_T_expectedCapabilitySet_item, + &ett_t124_RegistryKey, + &ett_t124_RegistryItem, + &ett_t124_RegistryEntryOwner, + &ett_t124_T_owned, + &ett_t124_UserIDIndication, + &ett_t124_ConferenceCreateRequest, + &ett_t124_SET_OF_Privilege, + &ett_t124_ConferenceCreateResponse, + &ett_t124_ConferenceQueryRequest, + &ett_t124_ConferenceQueryResponse, + &ett_t124_SET_OF_ConferenceDescriptor, + &ett_t124_ConferenceJoinRequest, + &ett_t124_ConferenceJoinResponse, + &ett_t124_ConferenceInviteRequest, + &ett_t124_ConferenceInviteResponse, + &ett_t124_ConferenceAddRequest, + &ett_t124_ConferenceAddResponse, + &ett_t124_ConferenceLockRequest, + &ett_t124_ConferenceLockResponse, + &ett_t124_ConferenceLockIndication, + &ett_t124_ConferenceUnlockRequest, + &ett_t124_ConferenceUnlockResponse, + &ett_t124_ConferenceUnlockIndication, + &ett_t124_ConferenceTerminateRequest, + &ett_t124_ConferenceTerminateResponse, + &ett_t124_ConferenceTerminateIndication, + &ett_t124_ConferenceEjectUserRequest, + &ett_t124_ConferenceEjectUserResponse, + &ett_t124_ConferenceEjectUserIndication, + &ett_t124_ConferenceTransferRequest, + &ett_t124_SET_SIZE_1_65536_OF_UserID, + &ett_t124_ConferenceTransferResponse, + &ett_t124_ConferenceTransferIndication, + &ett_t124_RosterUpdateIndication, + &ett_t124_T_nodeInformation, + &ett_t124_T_nodeRecordList, + &ett_t124_NodeRefresh, + &ett_t124_T_nodeRefresh_item, + &ett_t124_T_update, + &ett_t124_T_update_item, + &ett_t124_T_nodeUpdate, + &ett_t124_T_applicationInformation, + &ett_t124_T_applicationInformation_item, + &ett_t124_T_applicationRecordList, + &ett_t124_ApplicationRefresh, + &ett_t124_T_applicationRefresh_item, + &ett_t124_ApplicationUpdate, + &ett_t124_ApplicationUpdateItem, + &ett_t124_T_applicationUpdate, + &ett_t124_T_applicationCapabilitiesList, + &ett_t124_T_refresh, + &ett_t124_T_refresh_item, + &ett_t124_ApplicationInvokeIndication, + &ett_t124_SET_SIZE_1_65536_OF_ApplicationInvokeSpecifier, + &ett_t124_RegistryRegisterChannelRequest, + &ett_t124_RegistryAssignTokenRequest, + &ett_t124_RegistrySetParameterRequest, + &ett_t124_RegistryRetrieveEntryRequest, + &ett_t124_RegistryDeleteEntryRequest, + &ett_t124_RegistryMonitorEntryRequest, + &ett_t124_RegistryMonitorEntryIndication, + &ett_t124_RegistryAllocateHandleRequest, + &ett_t124_RegistryAllocateHandleResponse, + &ett_t124_RegistryResponse, + &ett_t124_ConductorAssignIndication, + &ett_t124_ConductorReleaseIndication, + &ett_t124_ConductorPermissionAskIndication, + &ett_t124_ConductorPermissionGrantIndication, + &ett_t124_SEQUENCE_SIZE_0_65535_OF_UserID, + &ett_t124_SEQUENCE_SIZE_1_65536_OF_UserID, + &ett_t124_ConferenceTimeRemainingIndication, + &ett_t124_ConferenceTimeInquireIndication, + &ett_t124_ConferenceTimeExtendIndication, + &ett_t124_ConferenceAssistanceIndication, + &ett_t124_TextMessageIndication, + &ett_t124_FunctionNotSupportedResponse, + &ett_t124_NonStandardPDU, + &ett_t124_ConnectData, + &ett_t124_ConnectGCCPDU, + &ett_t124_RequestPDU, + &ett_t124_ResponsePDU, + &ett_t124_IndicationPDU, + &ett_t124_Segmentation, + &ett_t124_DomainParameters, + &ett_t124_Connect_Initial, + &ett_t124_Connect_Response, + &ett_t124_Connect_Additional, + &ett_t124_Connect_Result, + &ett_t124_PlumbDomainIndication, + &ett_t124_ErectDomainRequest, + &ett_t124_ChannelAttributes, + &ett_t124_T_static, + &ett_t124_T_userId, + &ett_t124_T_private, + &ett_t124_SET_OF_UserId, + &ett_t124_T_assigned, + &ett_t124_MergeChannelsRequest, + &ett_t124_SET_OF_ChannelAttributes, + &ett_t124_SET_OF_ChannelId, + &ett_t124_MergeChannelsConfirm, + &ett_t124_PurgeChannelsIndication, + &ett_t124_TokenAttributes, + &ett_t124_T_grabbed, + &ett_t124_T_inhibited, + &ett_t124_T_giving, + &ett_t124_T_ungivable, + &ett_t124_T_given, + &ett_t124_MergeTokensRequest, + &ett_t124_SET_OF_TokenAttributes, + &ett_t124_SET_OF_TokenId, + &ett_t124_MergeTokensConfirm, + &ett_t124_PurgeTokensIndication, + &ett_t124_DisconnectProviderUltimatum, + &ett_t124_RejectMCSPDUUltimatum, + &ett_t124_AttachUserRequest, + &ett_t124_AttachUserConfirm, + &ett_t124_DetachUserRequest, + &ett_t124_DetachUserIndication, + &ett_t124_ChannelJoinRequest, + &ett_t124_ChannelJoinConfirm, + &ett_t124_ChannelLeaveRequest, + &ett_t124_ChannelConveneRequest, + &ett_t124_ChannelConveneConfirm, + &ett_t124_ChannelDisbandRequest, + &ett_t124_ChannelDisbandIndication, + &ett_t124_ChannelAdmitRequest, + &ett_t124_ChannelAdmitIndication, + &ett_t124_ChannelExpelRequest, + &ett_t124_ChannelExpelIndication, + &ett_t124_SendDataRequest, + &ett_t124_SendDataIndication, + &ett_t124_UniformSendDataRequest, + &ett_t124_UniformSendDataIndication, + &ett_t124_TokenGrabRequest, + &ett_t124_TokenGrabConfirm, + &ett_t124_TokenInhibitRequest, + &ett_t124_TokenInhibitConfirm, + &ett_t124_TokenGiveRequest, + &ett_t124_TokenGiveIndication, + &ett_t124_TokenGiveResponse, + &ett_t124_TokenGiveConfirm, + &ett_t124_TokenPleaseRequest, + &ett_t124_TokenPleaseIndication, + &ett_t124_TokenReleaseRequest, + &ett_t124_TokenReleaseConfirm, + &ett_t124_TokenTestRequest, + &ett_t124_TokenTestConfirm, + &ett_t124_ConnectMCSPDU, + &ett_t124_DomainMCSPDU, + +/*--- End of included file: packet-t124-ettarr.c ---*/ +#line 184 "../../asn1/t124/packet-t124-template.c" + }; + + /* Register protocol */ + proto_t124 = proto_register_protocol(PNAME, PSNAME, PFNAME); + /* Register fields and subtrees */ + proto_register_field_array(proto_t124, hf, array_length(hf)); + proto_register_subtree_array(ett, array_length(ett)); + + t124_ns_dissector_table = register_dissector_table("t124.ns", "T.124 H.221 Non Standard Dissectors", FT_STRING, BASE_NONE); + t124_sd_dissector_table = register_dissector_table("t124.sd", "T.124 H.221 Send Data Dissectors", FT_UINT32, BASE_NONE); + + new_register_dissector("t124", dissect_t124, proto_t124); +} + +proto_reg_handoff_t124(void) { + + register_ber_oid_dissector("0.0.20.124.0.1", dissect_t124, proto_t124, "Generic Conference Control"); + + heur_dissector_add("t125", dissect_t124_heur, proto_t124); + +} |