wireshark/epan/dissectors/packet-h501.c
Michael Mann 2eb7b05b8c Convert most UDP dissectors to use "auto" preferences.
Similar to the "tcp.port" changes in I99604f95d426ad345f4b494598d94178b886eb67,
convert dissectors that use "udp.port".

More cleanup done on dissectors that use both TCP and UDP dissector
tables, so that less preference callbacks exist.

Change-Id: If07be9b9e850c244336a7069599cd554ce312dd3
Reviewed-on: https://code.wireshark.org/review/18120
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-10-13 02:51:18 +00:00

3699 lines
153 KiB
C

/* Do not modify this file. Changes will be overwritten. */
/* Generated automatically by the ASN.1 to Wireshark dissector compiler */
/* packet-h501.c */
/* asn2wrs.py -p h501 -c ./h501.cnf -s ./packet-h501-template -D . -O ../.. H501-MESSAGES.asn */
/* Input file: packet-h501-template.c */
#line 1 "./asn1/h501/packet-h501-template.c"
/* packet-h501.c
* Routines for H.501 packet dissection
* 2007 Tomas Kukosa
*
* 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include "config.h"
#include <epan/packet.h>
#include <epan/prefs.h>
#include <epan/oids.h>
#include <epan/asn1.h>
#include "packet-tpkt.h"
#include "packet-per.h"
#include "packet-h225.h"
#include "packet-h235.h"
#define PNAME "H.501 Mobility"
#define PSNAME "H.501"
#define PFNAME "h501"
void proto_register_h501(void);
/* Initialize the protocol and registered fields */
static int proto_h501 = -1;
/*--- Included file: packet-h501-hf.c ---*/
#line 1 "./asn1/h501/packet-h501-hf.c"
static int hf_h501_Message_PDU = -1; /* Message */
static int hf_h501_body = -1; /* MessageBody */
static int hf_h501_common = -1; /* MessageCommonInfo */
static int hf_h501_serviceRequest = -1; /* ServiceRequest */
static int hf_h501_serviceConfirmation = -1; /* ServiceConfirmation */
static int hf_h501_serviceRejection = -1; /* ServiceRejection */
static int hf_h501_serviceRelease = -1; /* ServiceRelease */
static int hf_h501_descriptorRequest = -1; /* DescriptorRequest */
static int hf_h501_descriptorConfirmation = -1; /* DescriptorConfirmation */
static int hf_h501_descriptorRejection = -1; /* DescriptorRejection */
static int hf_h501_descriptorIDRequest = -1; /* DescriptorIDRequest */
static int hf_h501_descriptorIDConfirmation = -1; /* DescriptorIDConfirmation */
static int hf_h501_descriptorIDRejection = -1; /* DescriptorIDRejection */
static int hf_h501_descriptorUpdate = -1; /* DescriptorUpdate */
static int hf_h501_descriptorUpdateAck = -1; /* DescriptorUpdateAck */
static int hf_h501_accessRequest = -1; /* AccessRequest */
static int hf_h501_accessConfirmation = -1; /* AccessConfirmation */
static int hf_h501_accessRejection = -1; /* AccessRejection */
static int hf_h501_requestInProgress = -1; /* RequestInProgress */
static int hf_h501_nonStandardRequest = -1; /* NonStandardRequest */
static int hf_h501_nonStandardConfirmation = -1; /* NonStandardConfirmation */
static int hf_h501_nonStandardRejection = -1; /* NonStandardRejection */
static int hf_h501_unknownMessageResponse = -1; /* UnknownMessageResponse */
static int hf_h501_usageRequest = -1; /* UsageRequest */
static int hf_h501_usageConfirmation = -1; /* UsageConfirmation */
static int hf_h501_usageIndication = -1; /* UsageIndication */
static int hf_h501_usageIndicationConfirmation = -1; /* UsageIndicationConfirmation */
static int hf_h501_usageIndicationRejection = -1; /* UsageIndicationRejection */
static int hf_h501_usageRejection = -1; /* UsageRejection */
static int hf_h501_validationRequest = -1; /* ValidationRequest */
static int hf_h501_validationConfirmation = -1; /* ValidationConfirmation */
static int hf_h501_validationRejection = -1; /* ValidationRejection */
static int hf_h501_authenticationRequest = -1; /* AuthenticationRequest */
static int hf_h501_authenticationConfirmation = -1; /* AuthenticationConfirmation */
static int hf_h501_authenticationRejection = -1; /* AuthenticationRejection */
static int hf_h501_sequenceNumber = -1; /* INTEGER_0_65535 */
static int hf_h501_annexGversion = -1; /* ProtocolVersion */
static int hf_h501_hopCount = -1; /* INTEGER_1_255 */
static int hf_h501_replyAddress = -1; /* SEQUENCE_OF_TransportAddress */
static int hf_h501_replyAddress_item = -1; /* TransportAddress */
static int hf_h501_integrityCheckValue = -1; /* ICV */
static int hf_h501_tokens = -1; /* SEQUENCE_OF_ClearToken */
static int hf_h501_tokens_item = -1; /* ClearToken */
static int hf_h501_cryptoTokens = -1; /* SEQUENCE_OF_CryptoH323Token */
static int hf_h501_cryptoTokens_item = -1; /* CryptoH323Token */
static int hf_h501_nonStandard = -1; /* SEQUENCE_OF_NonStandardParameter */
static int hf_h501_nonStandard_item = -1; /* NonStandardParameter */
static int hf_h501_serviceID = -1; /* ServiceID */
static int hf_h501_genericData = -1; /* SEQUENCE_OF_GenericData */
static int hf_h501_genericData_item = -1; /* GenericData */
static int hf_h501_featureSet = -1; /* FeatureSet */
static int hf_h501_version = -1; /* ProtocolVersion */
static int hf_h501_elementIdentifier = -1; /* ElementIdentifier */
static int hf_h501_domainIdentifier = -1; /* AliasAddress */
static int hf_h501_securityMode = -1; /* SEQUENCE_OF_SecurityMode */
static int hf_h501_securityMode_item = -1; /* SecurityMode */
static int hf_h501_timeToLive = -1; /* INTEGER_1_4294967295 */
static int hf_h501_usageSpec = -1; /* UsageSpecification */
static int hf_h501_authentication = -1; /* AuthenticationMechanism */
static int hf_h501_integrity = -1; /* IntegrityMechanism */
static int hf_h501_algorithmOIDs = -1; /* T_algorithmOIDs */
static int hf_h501_algorithmOIDs_item = -1; /* OBJECT_IDENTIFIER */
static int hf_h501_alternates = -1; /* AlternatePEInfo */
static int hf_h501_securityMode_01 = -1; /* SecurityMode */
static int hf_h501_reason = -1; /* ServiceRejectionReason */
static int hf_h501_serviceUnavailable = -1; /* NULL */
static int hf_h501_serviceRedirected = -1; /* NULL */
static int hf_h501_security = -1; /* NULL */
static int hf_h501_continue = -1; /* NULL */
static int hf_h501_undefined = -1; /* NULL */
static int hf_h501_unknownServiceID = -1; /* NULL */
static int hf_h501_cannotSupportUsageSpec = -1; /* NULL */
static int hf_h501_neededFeature = -1; /* NULL */
static int hf_h501_genericDataReason = -1; /* NULL */
static int hf_h501_usageUnavailable = -1; /* NULL */
static int hf_h501_unknownUsageSendTo = -1; /* NULL */
static int hf_h501_reason_01 = -1; /* ServiceReleaseReason */
static int hf_h501_outOfService = -1; /* NULL */
static int hf_h501_maintenance = -1; /* NULL */
static int hf_h501_terminated = -1; /* NULL */
static int hf_h501_expired = -1; /* NULL */
static int hf_h501_descriptorID = -1; /* SEQUENCE_OF_DescriptorID */
static int hf_h501_descriptorID_item = -1; /* DescriptorID */
static int hf_h501_descriptor = -1; /* SEQUENCE_OF_Descriptor */
static int hf_h501_descriptor_item = -1; /* Descriptor */
static int hf_h501_reason_02 = -1; /* DescriptorRejectionReason */
static int hf_h501_descriptorID_01 = -1; /* DescriptorID */
static int hf_h501_packetSizeExceeded = -1; /* NULL */
static int hf_h501_illegalID = -1; /* NULL */
static int hf_h501_hopCountExceeded = -1; /* NULL */
static int hf_h501_noServiceRelationship = -1; /* NULL */
static int hf_h501_descriptorInfo = -1; /* SEQUENCE_OF_DescriptorInfo */
static int hf_h501_descriptorInfo_item = -1; /* DescriptorInfo */
static int hf_h501_reason_03 = -1; /* DescriptorIDRejectionReason */
static int hf_h501_noDescriptors = -1; /* NULL */
static int hf_h501_sender = -1; /* AliasAddress */
static int hf_h501_updateInfo = -1; /* SEQUENCE_OF_UpdateInformation */
static int hf_h501_updateInfo_item = -1; /* UpdateInformation */
static int hf_h501_descriptorInfo_01 = -1; /* T_descriptorInfo */
static int hf_h501_descriptor_01 = -1; /* Descriptor */
static int hf_h501_updateType = -1; /* T_updateType */
static int hf_h501_added = -1; /* NULL */
static int hf_h501_deleted = -1; /* NULL */
static int hf_h501_changed = -1; /* NULL */
static int hf_h501_destinationInfo = -1; /* PartyInformation */
static int hf_h501_sourceInfo = -1; /* PartyInformation */
static int hf_h501_callInfo = -1; /* CallInformation */
static int hf_h501_desiredProtocols = -1; /* SEQUENCE_OF_SupportedProtocols */
static int hf_h501_desiredProtocols_item = -1; /* SupportedProtocols */
static int hf_h501_templates = -1; /* SEQUENCE_OF_AddressTemplate */
static int hf_h501_templates_item = -1; /* AddressTemplate */
static int hf_h501_partialResponse = -1; /* BOOLEAN */
static int hf_h501_supportedProtocols = -1; /* SEQUENCE_OF_SupportedProtocols */
static int hf_h501_supportedProtocols_item = -1; /* SupportedProtocols */
static int hf_h501_serviceControl = -1; /* SEQUENCE_OF_ServiceControlSession */
static int hf_h501_serviceControl_item = -1; /* ServiceControlSession */
static int hf_h501_reason_04 = -1; /* AccessRejectionReason */
static int hf_h501_noMatch = -1; /* NULL */
static int hf_h501_needCallInformation = -1; /* NULL */
static int hf_h501_destinationUnavailable = -1; /* NULL */
static int hf_h501_aliasesInconsistent = -1; /* NULL */
static int hf_h501_resourceUnavailable = -1; /* NULL */
static int hf_h501_incompleteAddress = -1; /* NULL */
static int hf_h501_reason_05 = -1; /* UsageRejectReason */
static int hf_h501_accessTokens = -1; /* SEQUENCE_OF_AccessToken */
static int hf_h501_accessTokens_item = -1; /* AccessToken */
static int hf_h501_senderRole = -1; /* Role */
static int hf_h501_usageCallStatus = -1; /* UsageCallStatus */
static int hf_h501_srcInfo = -1; /* PartyInformation */
static int hf_h501_destAddress = -1; /* PartyInformation */
static int hf_h501_startTime = -1; /* TimeStamp */
static int hf_h501_endTime = -1; /* TimeStamp */
static int hf_h501_terminationCause = -1; /* TerminationCause */
static int hf_h501_usageFields = -1; /* SEQUENCE_OF_UsageField */
static int hf_h501_usageFields_item = -1; /* UsageField */
static int hf_h501_id = -1; /* OBJECT_IDENTIFIER */
static int hf_h501_value = -1; /* OCTET_STRING */
static int hf_h501_invalidCall = -1; /* NULL */
static int hf_h501_unavailable = -1; /* NULL */
static int hf_h501_reason_06 = -1; /* UsageIndicationRejectionReason */
static int hf_h501_unknownCall = -1; /* NULL */
static int hf_h501_incomplete = -1; /* NULL */
static int hf_h501_accessToken = -1; /* SEQUENCE_OF_AccessToken */
static int hf_h501_accessToken_item = -1; /* AccessToken */
static int hf_h501_reason_07 = -1; /* ValidationRejectionReason */
static int hf_h501_tokenNotValid = -1; /* NULL */
static int hf_h501_missingSourceInfo = -1; /* NULL */
static int hf_h501_missingDestInfo = -1; /* NULL */
static int hf_h501_delay = -1; /* INTEGER_1_65535 */
static int hf_h501_reason_08 = -1; /* NonStandardRejectionReason */
static int hf_h501_notSupported = -1; /* NULL */
static int hf_h501_unknownMessage = -1; /* OCTET_STRING */
static int hf_h501_reason_09 = -1; /* UnknownMessageReason */
static int hf_h501_notUnderstood = -1; /* NULL */
static int hf_h501_applicationMessage = -1; /* ApplicationMessage */
static int hf_h501_reason_10 = -1; /* AuthenticationRejectionReason */
static int hf_h501_securityWrongSyncTime = -1; /* NULL */
static int hf_h501_securityReplay = -1; /* NULL */
static int hf_h501_securityWrongGeneralID = -1; /* NULL */
static int hf_h501_securityWrongSendersID = -1; /* NULL */
static int hf_h501_securityIntegrityFailed = -1; /* NULL */
static int hf_h501_securityWrongOID = -1; /* NULL */
static int hf_h501_pattern = -1; /* SEQUENCE_OF_Pattern */
static int hf_h501_pattern_item = -1; /* Pattern */
static int hf_h501_routeInfo = -1; /* SEQUENCE_OF_RouteInformation */
static int hf_h501_routeInfo_item = -1; /* RouteInformation */
static int hf_h501_specific = -1; /* AliasAddress */
static int hf_h501_wildcard = -1; /* AliasAddress */
static int hf_h501_range = -1; /* T_range */
static int hf_h501_startOfRange = -1; /* PartyNumber */
static int hf_h501_endOfRange = -1; /* PartyNumber */
static int hf_h501_messageType = -1; /* T_messageType */
static int hf_h501_sendAccessRequest = -1; /* NULL */
static int hf_h501_sendSetup = -1; /* NULL */
static int hf_h501_nonExistent = -1; /* NULL */
static int hf_h501_callSpecific = -1; /* BOOLEAN */
static int hf_h501_priceInfo = -1; /* SEQUENCE_OF_PriceInfoSpec */
static int hf_h501_priceInfo_item = -1; /* PriceInfoSpec */
static int hf_h501_contacts = -1; /* SEQUENCE_OF_ContactInformation */
static int hf_h501_contacts_item = -1; /* ContactInformation */
static int hf_h501_type = -1; /* EndpointType */
static int hf_h501_circuitID = -1; /* CircuitInfo */
static int hf_h501_supportedCircuits = -1; /* SEQUENCE_OF_CircuitIdentifier */
static int hf_h501_supportedCircuits_item = -1; /* CircuitIdentifier */
static int hf_h501_transportAddress = -1; /* AliasAddress */
static int hf_h501_priority = -1; /* INTEGER_0_127 */
static int hf_h501_transportQoS = -1; /* TransportQOS */
static int hf_h501_security_01 = -1; /* SEQUENCE_OF_SecurityMode */
static int hf_h501_security_item = -1; /* SecurityMode */
static int hf_h501_multipleCalls = -1; /* BOOLEAN */
static int hf_h501_currency = -1; /* IA5String_SIZE_3 */
static int hf_h501_currencyScale = -1; /* INTEGER_M127_127 */
static int hf_h501_validFrom = -1; /* GlobalTimeStamp */
static int hf_h501_validUntil = -1; /* GlobalTimeStamp */
static int hf_h501_hoursFrom = -1; /* IA5String_SIZE_6 */
static int hf_h501_hoursUntil = -1; /* IA5String_SIZE_6 */
static int hf_h501_priceElement = -1; /* SEQUENCE_OF_PriceElement */
static int hf_h501_priceElement_item = -1; /* PriceElement */
static int hf_h501_priceFormula = -1; /* IA5String_SIZE_1_2048 */
static int hf_h501_amount = -1; /* INTEGER_0_4294967295 */
static int hf_h501_quantum = -1; /* INTEGER_0_4294967295 */
static int hf_h501_units = -1; /* T_units */
static int hf_h501_seconds = -1; /* NULL */
static int hf_h501_packets = -1; /* NULL */
static int hf_h501_bytes = -1; /* NULL */
static int hf_h501_initial = -1; /* NULL */
static int hf_h501_minimum = -1; /* NULL */
static int hf_h501_maximum = -1; /* NULL */
static int hf_h501_descriptorInfo_02 = -1; /* DescriptorInfo */
static int hf_h501_gatekeeperID = -1; /* GatekeeperIdentifier */
static int hf_h501_lastChanged = -1; /* GlobalTimeStamp */
static int hf_h501_alternatePE = -1; /* SEQUENCE_OF_AlternatePE */
static int hf_h501_alternatePE_item = -1; /* AlternatePE */
static int hf_h501_alternateIsPermanent = -1; /* BOOLEAN */
static int hf_h501_contactAddress = -1; /* AliasAddress */
static int hf_h501_priority_01 = -1; /* INTEGER_1_127 */
static int hf_h501_token = -1; /* ClearToken */
static int hf_h501_cryptoToken = -1; /* CryptoH323Token */
static int hf_h501_genericData_01 = -1; /* GenericData */
static int hf_h501_callIdentifier = -1; /* CallIdentifier */
static int hf_h501_conferenceID = -1; /* ConferenceIdentifier */
static int hf_h501_preConnect = -1; /* NULL */
static int hf_h501_callInProgress = -1; /* NULL */
static int hf_h501_callEnded = -1; /* NULL */
static int hf_h501_registrationLost = -1; /* NULL */
static int hf_h501_userIdentifier = -1; /* AliasAddress */
static int hf_h501_userAuthenticator = -1; /* SEQUENCE_OF_CryptoH323Token */
static int hf_h501_userAuthenticator_item = -1; /* CryptoH323Token */
static int hf_h501_sendTo = -1; /* ElementIdentifier */
static int hf_h501_when = -1; /* T_when */
static int hf_h501_never = -1; /* NULL */
static int hf_h501_start = -1; /* NULL */
static int hf_h501_end = -1; /* NULL */
static int hf_h501_period = -1; /* INTEGER_1_65535 */
static int hf_h501_failures = -1; /* NULL */
static int hf_h501_required = -1; /* T_required */
static int hf_h501_required_item = -1; /* OBJECT_IDENTIFIER */
static int hf_h501_preferred = -1; /* T_preferred */
static int hf_h501_preferred_item = -1; /* OBJECT_IDENTIFIER */
static int hf_h501_sendToPEAddress = -1; /* AliasAddress */
static int hf_h501_logicalAddresses = -1; /* SEQUENCE_OF_AliasAddress */
static int hf_h501_logicalAddresses_item = -1; /* AliasAddress */
static int hf_h501_endpointType = -1; /* EndpointType */
static int hf_h501_userInfo = -1; /* UserInformation */
static int hf_h501_timeZone = -1; /* TimeZone */
static int hf_h501_originator = -1; /* NULL */
static int hf_h501_destination = -1; /* NULL */
static int hf_h501_nonStandardData = -1; /* NonStandardParameter */
static int hf_h501_releaseCompleteReason = -1; /* ReleaseCompleteReason */
static int hf_h501_causeIE = -1; /* INTEGER_1_65535 */
/*--- End of included file: packet-h501-hf.c ---*/
#line 45 "./asn1/h501/packet-h501-template.c"
/* Initialize the subtree pointers */
static int ett_h501 = -1;
/*--- Included file: packet-h501-ett.c ---*/
#line 1 "./asn1/h501/packet-h501-ett.c"
static gint ett_h501_Message = -1;
static gint ett_h501_MessageBody = -1;
static gint ett_h501_MessageCommonInfo = -1;
static gint ett_h501_SEQUENCE_OF_TransportAddress = -1;
static gint ett_h501_SEQUENCE_OF_ClearToken = -1;
static gint ett_h501_SEQUENCE_OF_CryptoH323Token = -1;
static gint ett_h501_SEQUENCE_OF_NonStandardParameter = -1;
static gint ett_h501_SEQUENCE_OF_GenericData = -1;
static gint ett_h501_ServiceRequest = -1;
static gint ett_h501_SEQUENCE_OF_SecurityMode = -1;
static gint ett_h501_SecurityMode = -1;
static gint ett_h501_T_algorithmOIDs = -1;
static gint ett_h501_ServiceConfirmation = -1;
static gint ett_h501_ServiceRejection = -1;
static gint ett_h501_ServiceRejectionReason = -1;
static gint ett_h501_ServiceRelease = -1;
static gint ett_h501_ServiceReleaseReason = -1;
static gint ett_h501_DescriptorRequest = -1;
static gint ett_h501_SEQUENCE_OF_DescriptorID = -1;
static gint ett_h501_DescriptorConfirmation = -1;
static gint ett_h501_SEQUENCE_OF_Descriptor = -1;
static gint ett_h501_DescriptorRejection = -1;
static gint ett_h501_DescriptorRejectionReason = -1;
static gint ett_h501_DescriptorIDRequest = -1;
static gint ett_h501_DescriptorIDConfirmation = -1;
static gint ett_h501_SEQUENCE_OF_DescriptorInfo = -1;
static gint ett_h501_DescriptorIDRejection = -1;
static gint ett_h501_DescriptorIDRejectionReason = -1;
static gint ett_h501_DescriptorUpdate = -1;
static gint ett_h501_SEQUENCE_OF_UpdateInformation = -1;
static gint ett_h501_UpdateInformation = -1;
static gint ett_h501_T_descriptorInfo = -1;
static gint ett_h501_T_updateType = -1;
static gint ett_h501_DescriptorUpdateAck = -1;
static gint ett_h501_AccessRequest = -1;
static gint ett_h501_SEQUENCE_OF_SupportedProtocols = -1;
static gint ett_h501_AccessConfirmation = -1;
static gint ett_h501_SEQUENCE_OF_AddressTemplate = -1;
static gint ett_h501_SEQUENCE_OF_ServiceControlSession = -1;
static gint ett_h501_AccessRejection = -1;
static gint ett_h501_AccessRejectionReason = -1;
static gint ett_h501_UsageRequest = -1;
static gint ett_h501_UsageConfirmation = -1;
static gint ett_h501_UsageRejection = -1;
static gint ett_h501_UsageIndication = -1;
static gint ett_h501_SEQUENCE_OF_AccessToken = -1;
static gint ett_h501_SEQUENCE_OF_UsageField = -1;
static gint ett_h501_UsageField = -1;
static gint ett_h501_UsageRejectReason = -1;
static gint ett_h501_UsageIndicationConfirmation = -1;
static gint ett_h501_UsageIndicationRejection = -1;
static gint ett_h501_UsageIndicationRejectionReason = -1;
static gint ett_h501_ValidationRequest = -1;
static gint ett_h501_ValidationConfirmation = -1;
static gint ett_h501_ValidationRejection = -1;
static gint ett_h501_ValidationRejectionReason = -1;
static gint ett_h501_RequestInProgress = -1;
static gint ett_h501_NonStandardRequest = -1;
static gint ett_h501_NonStandardConfirmation = -1;
static gint ett_h501_NonStandardRejection = -1;
static gint ett_h501_NonStandardRejectionReason = -1;
static gint ett_h501_UnknownMessageResponse = -1;
static gint ett_h501_UnknownMessageReason = -1;
static gint ett_h501_AuthenticationRequest = -1;
static gint ett_h501_AuthenticationConfirmation = -1;
static gint ett_h501_AuthenticationRejection = -1;
static gint ett_h501_AuthenticationRejectionReason = -1;
static gint ett_h501_AddressTemplate = -1;
static gint ett_h501_SEQUENCE_OF_Pattern = -1;
static gint ett_h501_SEQUENCE_OF_RouteInformation = -1;
static gint ett_h501_Pattern = -1;
static gint ett_h501_T_range = -1;
static gint ett_h501_RouteInformation = -1;
static gint ett_h501_T_messageType = -1;
static gint ett_h501_SEQUENCE_OF_PriceInfoSpec = -1;
static gint ett_h501_SEQUENCE_OF_ContactInformation = -1;
static gint ett_h501_SEQUENCE_OF_CircuitIdentifier = -1;
static gint ett_h501_ContactInformation = -1;
static gint ett_h501_PriceInfoSpec = -1;
static gint ett_h501_SEQUENCE_OF_PriceElement = -1;
static gint ett_h501_PriceElement = -1;
static gint ett_h501_T_units = -1;
static gint ett_h501_Descriptor = -1;
static gint ett_h501_DescriptorInfo = -1;
static gint ett_h501_AlternatePEInfo = -1;
static gint ett_h501_SEQUENCE_OF_AlternatePE = -1;
static gint ett_h501_AlternatePE = -1;
static gint ett_h501_AccessToken = -1;
static gint ett_h501_CallInformation = -1;
static gint ett_h501_UsageCallStatus = -1;
static gint ett_h501_UserInformation = -1;
static gint ett_h501_UsageSpecification = -1;
static gint ett_h501_T_when = -1;
static gint ett_h501_T_required = -1;
static gint ett_h501_T_preferred = -1;
static gint ett_h501_PartyInformation = -1;
static gint ett_h501_SEQUENCE_OF_AliasAddress = -1;
static gint ett_h501_Role = -1;
static gint ett_h501_TerminationCause = -1;
/*--- End of included file: packet-h501-ett.c ---*/
#line 49 "./asn1/h501/packet-h501-template.c"
/* Dissectors */
static dissector_handle_t h501_pdu_handle;
/* Preferences */
#define H501_PORT 2099
static gboolean h501_desegment_tcp = TRUE;
void proto_reg_handoff_h501(void);
/*--- Included file: packet-h501-fn.c ---*/
#line 1 "./asn1/h501/packet-h501-fn.c"
static int
dissect_h501_ElementIdentifier(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,
1, 128, FALSE);
return offset;
}
static int
dissect_h501_OBJECT_IDENTIFIER(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(tvb, offset, actx, tree, hf_index, NULL);
return offset;
}
static const per_sequence_t T_algorithmOIDs_sequence_of[1] = {
{ &hf_h501_algorithmOIDs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h501_OBJECT_IDENTIFIER },
};
static int
dissect_h501_T_algorithmOIDs(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_h501_T_algorithmOIDs, T_algorithmOIDs_sequence_of);
return offset;
}
static const per_sequence_t SecurityMode_sequence[] = {
{ &hf_h501_authentication , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h235_AuthenticationMechanism },
{ &hf_h501_integrity , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_IntegrityMechanism },
{ &hf_h501_algorithmOIDs , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_T_algorithmOIDs },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_SecurityMode(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_h501_SecurityMode, SecurityMode_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_OF_SecurityMode_sequence_of[1] = {
{ &hf_h501_securityMode_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h501_SecurityMode },
};
static int
dissect_h501_SEQUENCE_OF_SecurityMode(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_h501_SEQUENCE_OF_SecurityMode, SEQUENCE_OF_SecurityMode_sequence_of);
return offset;
}
static int
dissect_h501_INTEGER_1_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,
1U, 4294967295U, NULL, FALSE);
return offset;
}
static int
dissect_h501_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 int
dissect_h501_INTEGER_1_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,
1U, 65535U, NULL, FALSE);
return offset;
}
static const per_sequence_t T_when_sequence[] = {
{ &hf_h501_never , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_NULL },
{ &hf_h501_start , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_NULL },
{ &hf_h501_end , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_NULL },
{ &hf_h501_period , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_INTEGER_1_65535 },
{ &hf_h501_failures , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_NULL },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_T_when(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_h501_T_when, T_when_sequence);
return offset;
}
static const per_sequence_t T_required_sequence_of[1] = {
{ &hf_h501_required_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h501_OBJECT_IDENTIFIER },
};
static int
dissect_h501_T_required(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_h501_T_required, T_required_sequence_of);
return offset;
}
static const per_sequence_t T_preferred_sequence_of[1] = {
{ &hf_h501_preferred_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h501_OBJECT_IDENTIFIER },
};
static int
dissect_h501_T_preferred(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_h501_T_preferred, T_preferred_sequence_of);
return offset;
}
static const per_sequence_t UsageSpecification_sequence[] = {
{ &hf_h501_sendTo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_ElementIdentifier },
{ &hf_h501_when , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_T_when },
{ &hf_h501_required , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_T_required },
{ &hf_h501_preferred , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_T_preferred },
{ &hf_h501_sendToPEAddress, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_AliasAddress },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_UsageSpecification(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_h501_UsageSpecification, UsageSpecification_sequence);
return offset;
}
static const per_sequence_t ServiceRequest_sequence[] = {
{ &hf_h501_elementIdentifier, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_ElementIdentifier },
{ &hf_h501_domainIdentifier, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_AliasAddress },
{ &hf_h501_securityMode , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_SEQUENCE_OF_SecurityMode },
{ &hf_h501_timeToLive , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_INTEGER_1_4294967295 },
{ &hf_h501_usageSpec , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h501_UsageSpecification },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_ServiceRequest(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_h501_ServiceRequest, ServiceRequest_sequence);
return offset;
}
static int
dissect_h501_INTEGER_1_127(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, 127U, NULL, FALSE);
return offset;
}
static const per_sequence_t AlternatePE_sequence[] = {
{ &hf_h501_contactAddress , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_AliasAddress },
{ &hf_h501_priority_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_INTEGER_1_127 },
{ &hf_h501_elementIdentifier, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_ElementIdentifier },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_AlternatePE(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_h501_AlternatePE, AlternatePE_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_OF_AlternatePE_sequence_of[1] = {
{ &hf_h501_alternatePE_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h501_AlternatePE },
};
static int
dissect_h501_SEQUENCE_OF_AlternatePE(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_h501_SEQUENCE_OF_AlternatePE, SEQUENCE_OF_AlternatePE_sequence_of);
return offset;
}
static int
dissect_h501_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 AlternatePEInfo_sequence[] = {
{ &hf_h501_alternatePE , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_SEQUENCE_OF_AlternatePE },
{ &hf_h501_alternateIsPermanent, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_AlternatePEInfo(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_h501_AlternatePEInfo, AlternatePEInfo_sequence);
return offset;
}
static const per_sequence_t ServiceConfirmation_sequence[] = {
{ &hf_h501_elementIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_ElementIdentifier },
{ &hf_h501_domainIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_AliasAddress },
{ &hf_h501_alternates , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_AlternatePEInfo },
{ &hf_h501_securityMode_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_SecurityMode },
{ &hf_h501_timeToLive , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_INTEGER_1_4294967295 },
{ &hf_h501_usageSpec , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h501_UsageSpecification },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_ServiceConfirmation(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_h501_ServiceConfirmation, ServiceConfirmation_sequence);
return offset;
}
static const value_string h501_ServiceRejectionReason_vals[] = {
{ 0, "serviceUnavailable" },
{ 1, "serviceRedirected" },
{ 2, "security" },
{ 3, "continue" },
{ 4, "undefined" },
{ 5, "unknownServiceID" },
{ 6, "cannotSupportUsageSpec" },
{ 7, "neededFeature" },
{ 8, "genericDataReason" },
{ 9, "usageUnavailable" },
{ 10, "unknownUsageSendTo" },
{ 0, NULL }
};
static const per_choice_t ServiceRejectionReason_choice[] = {
{ 0, &hf_h501_serviceUnavailable, ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 1, &hf_h501_serviceRedirected, ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 2, &hf_h501_security , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 3, &hf_h501_continue , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 4, &hf_h501_undefined , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 5, &hf_h501_unknownServiceID, ASN1_NOT_EXTENSION_ROOT, dissect_h501_NULL },
{ 6, &hf_h501_cannotSupportUsageSpec, ASN1_NOT_EXTENSION_ROOT, dissect_h501_NULL },
{ 7, &hf_h501_neededFeature , ASN1_NOT_EXTENSION_ROOT, dissect_h501_NULL },
{ 8, &hf_h501_genericDataReason, ASN1_NOT_EXTENSION_ROOT, dissect_h501_NULL },
{ 9, &hf_h501_usageUnavailable, ASN1_NOT_EXTENSION_ROOT, dissect_h501_NULL },
{ 10, &hf_h501_unknownUsageSendTo, ASN1_NOT_EXTENSION_ROOT, dissect_h501_NULL },
{ 0, NULL, 0, NULL }
};
static int
dissect_h501_ServiceRejectionReason(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_h501_ServiceRejectionReason, ServiceRejectionReason_choice,
NULL);
return offset;
}
static const per_sequence_t ServiceRejection_sequence[] = {
{ &hf_h501_reason , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_ServiceRejectionReason },
{ &hf_h501_alternates , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_AlternatePEInfo },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_ServiceRejection(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_h501_ServiceRejection, ServiceRejection_sequence);
return offset;
}
static const value_string h501_ServiceReleaseReason_vals[] = {
{ 0, "outOfService" },
{ 1, "maintenance" },
{ 2, "terminated" },
{ 3, "expired" },
{ 0, NULL }
};
static const per_choice_t ServiceReleaseReason_choice[] = {
{ 0, &hf_h501_outOfService , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 1, &hf_h501_maintenance , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 2, &hf_h501_terminated , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 3, &hf_h501_expired , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 0, NULL, 0, NULL }
};
static int
dissect_h501_ServiceReleaseReason(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_h501_ServiceReleaseReason, ServiceReleaseReason_choice,
NULL);
return offset;
}
static const per_sequence_t ServiceRelease_sequence[] = {
{ &hf_h501_reason_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_ServiceReleaseReason },
{ &hf_h501_alternates , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_AlternatePEInfo },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_ServiceRelease(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_h501_ServiceRelease, ServiceRelease_sequence);
return offset;
}
static int
dissect_h501_DescriptorID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_h225_GloballyUniqueID(tvb, offset, actx, tree, hf_index);
return offset;
}
static const per_sequence_t SEQUENCE_OF_DescriptorID_sequence_of[1] = {
{ &hf_h501_descriptorID_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h501_DescriptorID },
};
static int
dissect_h501_SEQUENCE_OF_DescriptorID(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_h501_SEQUENCE_OF_DescriptorID, SEQUENCE_OF_DescriptorID_sequence_of);
return offset;
}
static const per_sequence_t DescriptorRequest_sequence[] = {
{ &hf_h501_descriptorID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_SEQUENCE_OF_DescriptorID },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_DescriptorRequest(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_h501_DescriptorRequest, DescriptorRequest_sequence);
return offset;
}
static int
dissect_h501_GlobalTimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
14, 14, FALSE);
return offset;
}
static const per_sequence_t DescriptorInfo_sequence[] = {
{ &hf_h501_descriptorID_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_DescriptorID },
{ &hf_h501_lastChanged , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_GlobalTimeStamp },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_DescriptorInfo(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_h501_DescriptorInfo, DescriptorInfo_sequence);
return offset;
}
static const per_sequence_t T_range_sequence[] = {
{ &hf_h501_startOfRange , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_PartyNumber },
{ &hf_h501_endOfRange , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_PartyNumber },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_T_range(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_h501_T_range, T_range_sequence);
return offset;
}
static const value_string h501_Pattern_vals[] = {
{ 0, "specific" },
{ 1, "wildcard" },
{ 2, "range" },
{ 0, NULL }
};
static const per_choice_t Pattern_choice[] = {
{ 0, &hf_h501_specific , ASN1_EXTENSION_ROOT , dissect_h225_AliasAddress },
{ 1, &hf_h501_wildcard , ASN1_EXTENSION_ROOT , dissect_h225_AliasAddress },
{ 2, &hf_h501_range , ASN1_EXTENSION_ROOT , dissect_h501_T_range },
{ 0, NULL, 0, NULL }
};
static int
dissect_h501_Pattern(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_h501_Pattern, Pattern_choice,
NULL);
return offset;
}
static const per_sequence_t SEQUENCE_OF_Pattern_sequence_of[1] = {
{ &hf_h501_pattern_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h501_Pattern },
};
static int
dissect_h501_SEQUENCE_OF_Pattern(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_h501_SEQUENCE_OF_Pattern, SEQUENCE_OF_Pattern_sequence_of);
return offset;
}
static const value_string h501_T_messageType_vals[] = {
{ 0, "sendAccessRequest" },
{ 1, "sendSetup" },
{ 2, "nonExistent" },
{ 0, NULL }
};
static const per_choice_t T_messageType_choice[] = {
{ 0, &hf_h501_sendAccessRequest, ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 1, &hf_h501_sendSetup , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 2, &hf_h501_nonExistent , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 0, NULL, 0, NULL }
};
static int
dissect_h501_T_messageType(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_h501_T_messageType, T_messageType_choice,
NULL);
return offset;
}
static int
dissect_h501_IA5String_SIZE_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
3, 3, FALSE);
return offset;
}
static int
dissect_h501_INTEGER_M127_127(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,
-127, 127U, NULL, FALSE);
return offset;
}
static int
dissect_h501_IA5String_SIZE_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
6, 6, FALSE);
return offset;
}
static int
dissect_h501_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 h501_T_units_vals[] = {
{ 0, "seconds" },
{ 1, "packets" },
{ 2, "bytes" },
{ 3, "initial" },
{ 4, "minimum" },
{ 5, "maximum" },
{ 0, NULL }
};
static const per_choice_t T_units_choice[] = {
{ 0, &hf_h501_seconds , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 1, &hf_h501_packets , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 2, &hf_h501_bytes , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 3, &hf_h501_initial , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 4, &hf_h501_minimum , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 5, &hf_h501_maximum , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 0, NULL, 0, NULL }
};
static int
dissect_h501_T_units(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_h501_T_units, T_units_choice,
NULL);
return offset;
}
static const per_sequence_t PriceElement_sequence[] = {
{ &hf_h501_amount , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_INTEGER_0_4294967295 },
{ &hf_h501_quantum , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_INTEGER_0_4294967295 },
{ &hf_h501_units , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_T_units },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_PriceElement(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_h501_PriceElement, PriceElement_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_OF_PriceElement_sequence_of[1] = {
{ &hf_h501_priceElement_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h501_PriceElement },
};
static int
dissect_h501_SEQUENCE_OF_PriceElement(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_h501_SEQUENCE_OF_PriceElement, SEQUENCE_OF_PriceElement_sequence_of);
return offset;
}
static int
dissect_h501_IA5String_SIZE_1_2048(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
1, 2048, FALSE);
return offset;
}
static const per_sequence_t PriceInfoSpec_sequence[] = {
{ &hf_h501_currency , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_IA5String_SIZE_3 },
{ &hf_h501_currencyScale , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_INTEGER_M127_127 },
{ &hf_h501_validFrom , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_GlobalTimeStamp },
{ &hf_h501_validUntil , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_GlobalTimeStamp },
{ &hf_h501_hoursFrom , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_IA5String_SIZE_6 },
{ &hf_h501_hoursUntil , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_IA5String_SIZE_6 },
{ &hf_h501_priceElement , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_SEQUENCE_OF_PriceElement },
{ &hf_h501_priceFormula , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_IA5String_SIZE_1_2048 },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_PriceInfoSpec(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_h501_PriceInfoSpec, PriceInfoSpec_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_OF_PriceInfoSpec_sequence_of[1] = {
{ &hf_h501_priceInfo_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h501_PriceInfoSpec },
};
static int
dissect_h501_SEQUENCE_OF_PriceInfoSpec(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_h501_SEQUENCE_OF_PriceInfoSpec, SEQUENCE_OF_PriceInfoSpec_sequence_of);
return offset;
}
static int
dissect_h501_INTEGER_0_127(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, 127U, NULL, FALSE);
return offset;
}
static const value_string h501_AccessToken_vals[] = {
{ 0, "token" },
{ 1, "cryptoToken" },
{ 2, "genericData" },
{ 0, NULL }
};
static const per_choice_t AccessToken_choice[] = {
{ 0, &hf_h501_token , ASN1_EXTENSION_ROOT , dissect_h235_ClearToken },
{ 1, &hf_h501_cryptoToken , ASN1_EXTENSION_ROOT , dissect_h225_CryptoH323Token },
{ 2, &hf_h501_genericData_01 , ASN1_NOT_EXTENSION_ROOT, dissect_h225_GenericData },
{ 0, NULL, 0, NULL }
};
static int
dissect_h501_AccessToken(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_h501_AccessToken, AccessToken_choice,
NULL);
return offset;
}
static const per_sequence_t SEQUENCE_OF_AccessToken_sequence_of[1] = {
{ &hf_h501_accessTokens_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h501_AccessToken },
};
static int
dissect_h501_SEQUENCE_OF_AccessToken(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_h501_SEQUENCE_OF_AccessToken, SEQUENCE_OF_AccessToken_sequence_of);
return offset;
}
static const per_sequence_t SEQUENCE_OF_CircuitIdentifier_sequence_of[1] = {
{ &hf_h501_supportedCircuits_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_CircuitIdentifier },
};
static int
dissect_h501_SEQUENCE_OF_CircuitIdentifier(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_h501_SEQUENCE_OF_CircuitIdentifier, SEQUENCE_OF_CircuitIdentifier_sequence_of);
return offset;
}
static const per_sequence_t ContactInformation_sequence[] = {
{ &hf_h501_transportAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_AliasAddress },
{ &hf_h501_priority , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_INTEGER_0_127 },
{ &hf_h501_transportQoS , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_TransportQOS },
{ &hf_h501_security_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_SEQUENCE_OF_SecurityMode },
{ &hf_h501_accessTokens , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_SEQUENCE_OF_AccessToken },
{ &hf_h501_multipleCalls , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h501_BOOLEAN },
{ &hf_h501_featureSet , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_FeatureSet },
{ &hf_h501_circuitID , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CircuitInfo },
{ &hf_h501_supportedCircuits, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h501_SEQUENCE_OF_CircuitIdentifier },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_ContactInformation(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_h501_ContactInformation, ContactInformation_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_OF_ContactInformation_sequence_of[1] = {
{ &hf_h501_contacts_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h501_ContactInformation },
};
static int
dissect_h501_SEQUENCE_OF_ContactInformation(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_h501_SEQUENCE_OF_ContactInformation, SEQUENCE_OF_ContactInformation_sequence_of);
return offset;
}
static const per_sequence_t RouteInformation_sequence[] = {
{ &hf_h501_messageType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_T_messageType },
{ &hf_h501_callSpecific , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_BOOLEAN },
{ &hf_h501_usageSpec , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_UsageSpecification },
{ &hf_h501_priceInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_SEQUENCE_OF_PriceInfoSpec },
{ &hf_h501_contacts , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_SEQUENCE_OF_ContactInformation },
{ &hf_h501_type , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_EndpointType },
{ &hf_h501_featureSet , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_FeatureSet },
{ &hf_h501_circuitID , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CircuitInfo },
{ &hf_h501_supportedCircuits, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h501_SEQUENCE_OF_CircuitIdentifier },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_RouteInformation(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_h501_RouteInformation, RouteInformation_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_OF_RouteInformation_sequence_of[1] = {
{ &hf_h501_routeInfo_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h501_RouteInformation },
};
static int
dissect_h501_SEQUENCE_OF_RouteInformation(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_h501_SEQUENCE_OF_RouteInformation, SEQUENCE_OF_RouteInformation_sequence_of);
return offset;
}
static const per_sequence_t SEQUENCE_OF_SupportedProtocols_sequence_of[1] = {
{ &hf_h501_desiredProtocols_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_SupportedProtocols },
};
static int
dissect_h501_SEQUENCE_OF_SupportedProtocols(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_h501_SEQUENCE_OF_SupportedProtocols, SEQUENCE_OF_SupportedProtocols_sequence_of);
return offset;
}
static const per_sequence_t AddressTemplate_sequence[] = {
{ &hf_h501_pattern , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_SEQUENCE_OF_Pattern },
{ &hf_h501_routeInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_SEQUENCE_OF_RouteInformation },
{ &hf_h501_timeToLive , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_INTEGER_1_4294967295 },
{ &hf_h501_supportedProtocols, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h501_SEQUENCE_OF_SupportedProtocols },
{ &hf_h501_featureSet , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_FeatureSet },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_AddressTemplate(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_h501_AddressTemplate, AddressTemplate_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_OF_AddressTemplate_sequence_of[1] = {
{ &hf_h501_templates_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h501_AddressTemplate },
};
static int
dissect_h501_SEQUENCE_OF_AddressTemplate(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_h501_SEQUENCE_OF_AddressTemplate, SEQUENCE_OF_AddressTemplate_sequence_of);
return offset;
}
static const per_sequence_t Descriptor_sequence[] = {
{ &hf_h501_descriptorInfo_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_DescriptorInfo },
{ &hf_h501_templates , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_SEQUENCE_OF_AddressTemplate },
{ &hf_h501_gatekeeperID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_GatekeeperIdentifier },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_Descriptor(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_h501_Descriptor, Descriptor_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_OF_Descriptor_sequence_of[1] = {
{ &hf_h501_descriptor_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h501_Descriptor },
};
static int
dissect_h501_SEQUENCE_OF_Descriptor(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_h501_SEQUENCE_OF_Descriptor, SEQUENCE_OF_Descriptor_sequence_of);
return offset;
}
static const per_sequence_t DescriptorConfirmation_sequence[] = {
{ &hf_h501_descriptor , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_SEQUENCE_OF_Descriptor },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_DescriptorConfirmation(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_h501_DescriptorConfirmation, DescriptorConfirmation_sequence);
return offset;
}
static const value_string h501_DescriptorRejectionReason_vals[] = {
{ 0, "packetSizeExceeded" },
{ 1, "illegalID" },
{ 2, "security" },
{ 3, "hopCountExceeded" },
{ 4, "noServiceRelationship" },
{ 5, "undefined" },
{ 6, "neededFeature" },
{ 7, "genericDataReason" },
{ 8, "unknownServiceID" },
{ 0, NULL }
};
static const per_choice_t DescriptorRejectionReason_choice[] = {
{ 0, &hf_h501_packetSizeExceeded, ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 1, &hf_h501_illegalID , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 2, &hf_h501_security , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 3, &hf_h501_hopCountExceeded, ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 4, &hf_h501_noServiceRelationship, ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 5, &hf_h501_undefined , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 6, &hf_h501_neededFeature , ASN1_NOT_EXTENSION_ROOT, dissect_h501_NULL },
{ 7, &hf_h501_genericDataReason, ASN1_NOT_EXTENSION_ROOT, dissect_h501_NULL },
{ 8, &hf_h501_unknownServiceID, ASN1_NOT_EXTENSION_ROOT, dissect_h501_NULL },
{ 0, NULL, 0, NULL }
};
static int
dissect_h501_DescriptorRejectionReason(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_h501_DescriptorRejectionReason, DescriptorRejectionReason_choice,
NULL);
return offset;
}
static const per_sequence_t DescriptorRejection_sequence[] = {
{ &hf_h501_reason_02 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_DescriptorRejectionReason },
{ &hf_h501_descriptorID_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_DescriptorID },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_DescriptorRejection(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_h501_DescriptorRejection, DescriptorRejection_sequence);
return offset;
}
static const per_sequence_t DescriptorIDRequest_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_h501_DescriptorIDRequest(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_h501_DescriptorIDRequest, DescriptorIDRequest_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_OF_DescriptorInfo_sequence_of[1] = {
{ &hf_h501_descriptorInfo_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h501_DescriptorInfo },
};
static int
dissect_h501_SEQUENCE_OF_DescriptorInfo(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_h501_SEQUENCE_OF_DescriptorInfo, SEQUENCE_OF_DescriptorInfo_sequence_of);
return offset;
}
static const per_sequence_t DescriptorIDConfirmation_sequence[] = {
{ &hf_h501_descriptorInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_SEQUENCE_OF_DescriptorInfo },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_DescriptorIDConfirmation(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_h501_DescriptorIDConfirmation, DescriptorIDConfirmation_sequence);
return offset;
}
static const value_string h501_DescriptorIDRejectionReason_vals[] = {
{ 0, "noDescriptors" },
{ 1, "security" },
{ 2, "hopCountExceeded" },
{ 3, "noServiceRelationship" },
{ 4, "undefined" },
{ 5, "neededFeature" },
{ 6, "genericDataReason" },
{ 7, "unknownServiceID" },
{ 0, NULL }
};
static const per_choice_t DescriptorIDRejectionReason_choice[] = {
{ 0, &hf_h501_noDescriptors , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 1, &hf_h501_security , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 2, &hf_h501_hopCountExceeded, ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 3, &hf_h501_noServiceRelationship, ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 4, &hf_h501_undefined , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 5, &hf_h501_neededFeature , ASN1_NOT_EXTENSION_ROOT, dissect_h501_NULL },
{ 6, &hf_h501_genericDataReason, ASN1_NOT_EXTENSION_ROOT, dissect_h501_NULL },
{ 7, &hf_h501_unknownServiceID, ASN1_NOT_EXTENSION_ROOT, dissect_h501_NULL },
{ 0, NULL, 0, NULL }
};
static int
dissect_h501_DescriptorIDRejectionReason(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_h501_DescriptorIDRejectionReason, DescriptorIDRejectionReason_choice,
NULL);
return offset;
}
static const per_sequence_t DescriptorIDRejection_sequence[] = {
{ &hf_h501_reason_03 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_DescriptorIDRejectionReason },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_DescriptorIDRejection(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_h501_DescriptorIDRejection, DescriptorIDRejection_sequence);
return offset;
}
static const value_string h501_T_descriptorInfo_vals[] = {
{ 0, "descriptorID" },
{ 1, "descriptor" },
{ 0, NULL }
};
static const per_choice_t T_descriptorInfo_choice[] = {
{ 0, &hf_h501_descriptorID_01, ASN1_EXTENSION_ROOT , dissect_h501_DescriptorID },
{ 1, &hf_h501_descriptor_01 , ASN1_EXTENSION_ROOT , dissect_h501_Descriptor },
{ 0, NULL, 0, NULL }
};
static int
dissect_h501_T_descriptorInfo(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_h501_T_descriptorInfo, T_descriptorInfo_choice,
NULL);
return offset;
}
static const value_string h501_T_updateType_vals[] = {
{ 0, "added" },
{ 1, "deleted" },
{ 2, "changed" },
{ 0, NULL }
};
static const per_choice_t T_updateType_choice[] = {
{ 0, &hf_h501_added , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 1, &hf_h501_deleted , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 2, &hf_h501_changed , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 0, NULL, 0, NULL }
};
static int
dissect_h501_T_updateType(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_h501_T_updateType, T_updateType_choice,
NULL);
return offset;
}
static const per_sequence_t UpdateInformation_sequence[] = {
{ &hf_h501_descriptorInfo_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_T_descriptorInfo },
{ &hf_h501_updateType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_T_updateType },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_UpdateInformation(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_h501_UpdateInformation, UpdateInformation_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_OF_UpdateInformation_sequence_of[1] = {
{ &hf_h501_updateInfo_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h501_UpdateInformation },
};
static int
dissect_h501_SEQUENCE_OF_UpdateInformation(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_h501_SEQUENCE_OF_UpdateInformation, SEQUENCE_OF_UpdateInformation_sequence_of);
return offset;
}
static const per_sequence_t DescriptorUpdate_sequence[] = {
{ &hf_h501_sender , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_AliasAddress },
{ &hf_h501_updateInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_SEQUENCE_OF_UpdateInformation },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_DescriptorUpdate(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_h501_DescriptorUpdate, DescriptorUpdate_sequence);
return offset;
}
static const per_sequence_t DescriptorUpdateAck_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_h501_DescriptorUpdateAck(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_h501_DescriptorUpdateAck, DescriptorUpdateAck_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_OF_AliasAddress_sequence_of[1] = {
{ &hf_h501_logicalAddresses_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_AliasAddress },
};
static int
dissect_h501_SEQUENCE_OF_AliasAddress(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_h501_SEQUENCE_OF_AliasAddress, SEQUENCE_OF_AliasAddress_sequence_of);
return offset;
}
static const per_sequence_t SEQUENCE_OF_CryptoH323Token_sequence_of[1] = {
{ &hf_h501_cryptoTokens_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_CryptoH323Token },
};
static int
dissect_h501_SEQUENCE_OF_CryptoH323Token(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_h501_SEQUENCE_OF_CryptoH323Token, SEQUENCE_OF_CryptoH323Token_sequence_of);
return offset;
}
static const per_sequence_t UserInformation_sequence[] = {
{ &hf_h501_userIdentifier , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_AliasAddress },
{ &hf_h501_userAuthenticator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_SEQUENCE_OF_CryptoH323Token },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_UserInformation(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_h501_UserInformation, UserInformation_sequence);
return offset;
}
static int
dissect_h501_TimeZone(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,
-43200, 43200U, NULL, FALSE);
return offset;
}
static const per_sequence_t PartyInformation_sequence[] = {
{ &hf_h501_logicalAddresses, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_SEQUENCE_OF_AliasAddress },
{ &hf_h501_domainIdentifier, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_AliasAddress },
{ &hf_h501_transportAddress, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_AliasAddress },
{ &hf_h501_endpointType , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_EndpointType },
{ &hf_h501_userInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_UserInformation },
{ &hf_h501_timeZone , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_TimeZone },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_PartyInformation(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_h501_PartyInformation, PartyInformation_sequence);
return offset;
}
static const per_sequence_t CallInformation_sequence[] = {
{ &hf_h501_callIdentifier , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
{ &hf_h501_conferenceID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_ConferenceIdentifier },
{ &hf_h501_circuitID , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_CircuitInfo },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_CallInformation(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_h501_CallInformation, CallInformation_sequence);
return offset;
}
static const per_sequence_t AccessRequest_sequence[] = {
{ &hf_h501_destinationInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_PartyInformation },
{ &hf_h501_sourceInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_PartyInformation },
{ &hf_h501_callInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_CallInformation },
{ &hf_h501_usageSpec , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_UsageSpecification },
{ &hf_h501_desiredProtocols, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h501_SEQUENCE_OF_SupportedProtocols },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_AccessRequest(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_h501_AccessRequest, AccessRequest_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_OF_ServiceControlSession_sequence_of[1] = {
{ &hf_h501_serviceControl_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_ServiceControlSession },
};
static int
dissect_h501_SEQUENCE_OF_ServiceControlSession(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_h501_SEQUENCE_OF_ServiceControlSession, SEQUENCE_OF_ServiceControlSession_sequence_of);
return offset;
}
static const per_sequence_t AccessConfirmation_sequence[] = {
{ &hf_h501_templates , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_SEQUENCE_OF_AddressTemplate },
{ &hf_h501_partialResponse, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_BOOLEAN },
{ &hf_h501_supportedProtocols, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h501_SEQUENCE_OF_SupportedProtocols },
{ &hf_h501_serviceControl , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h501_SEQUENCE_OF_ServiceControlSession },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_AccessConfirmation(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_h501_AccessConfirmation, AccessConfirmation_sequence);
return offset;
}
static const value_string h501_AccessRejectionReason_vals[] = {
{ 0, "noMatch" },
{ 1, "packetSizeExceeded" },
{ 2, "security" },
{ 3, "hopCountExceeded" },
{ 4, "needCallInformation" },
{ 5, "noServiceRelationship" },
{ 6, "undefined" },
{ 7, "neededFeature" },
{ 8, "genericDataReason" },
{ 9, "destinationUnavailable" },
{ 10, "aliasesInconsistent" },
{ 11, "resourceUnavailable" },
{ 12, "incompleteAddress" },
{ 13, "unknownServiceID" },
{ 14, "usageUnavailable" },
{ 15, "cannotSupportUsageSpec" },
{ 16, "unknownUsageSendTo" },
{ 0, NULL }
};
static const per_choice_t AccessRejectionReason_choice[] = {
{ 0, &hf_h501_noMatch , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 1, &hf_h501_packetSizeExceeded, ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 2, &hf_h501_security , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 3, &hf_h501_hopCountExceeded, ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 4, &hf_h501_needCallInformation, ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 5, &hf_h501_noServiceRelationship, ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 6, &hf_h501_undefined , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 7, &hf_h501_neededFeature , ASN1_NOT_EXTENSION_ROOT, dissect_h501_NULL },
{ 8, &hf_h501_genericDataReason, ASN1_NOT_EXTENSION_ROOT, dissect_h501_NULL },
{ 9, &hf_h501_destinationUnavailable, ASN1_NOT_EXTENSION_ROOT, dissect_h501_NULL },
{ 10, &hf_h501_aliasesInconsistent, ASN1_NOT_EXTENSION_ROOT, dissect_h501_NULL },
{ 11, &hf_h501_resourceUnavailable, ASN1_NOT_EXTENSION_ROOT, dissect_h501_NULL },
{ 12, &hf_h501_incompleteAddress, ASN1_NOT_EXTENSION_ROOT, dissect_h501_NULL },
{ 13, &hf_h501_unknownServiceID, ASN1_NOT_EXTENSION_ROOT, dissect_h501_NULL },
{ 14, &hf_h501_usageUnavailable, ASN1_NOT_EXTENSION_ROOT, dissect_h501_NULL },
{ 15, &hf_h501_cannotSupportUsageSpec, ASN1_NOT_EXTENSION_ROOT, dissect_h501_NULL },
{ 16, &hf_h501_unknownUsageSendTo, ASN1_NOT_EXTENSION_ROOT, dissect_h501_NULL },
{ 0, NULL, 0, NULL }
};
static int
dissect_h501_AccessRejectionReason(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_h501_AccessRejectionReason, AccessRejectionReason_choice,
NULL);
return offset;
}
static const per_sequence_t AccessRejection_sequence[] = {
{ &hf_h501_reason_04 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_AccessRejectionReason },
{ &hf_h501_serviceControl , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h501_SEQUENCE_OF_ServiceControlSession },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_AccessRejection(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_h501_AccessRejection, AccessRejection_sequence);
return offset;
}
static const per_sequence_t RequestInProgress_sequence[] = {
{ &hf_h501_delay , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_INTEGER_1_65535 },
{ &hf_h501_serviceControl , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h501_SEQUENCE_OF_ServiceControlSession },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_RequestInProgress(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_h501_RequestInProgress, RequestInProgress_sequence);
return offset;
}
static const per_sequence_t NonStandardRequest_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_h501_NonStandardRequest(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_h501_NonStandardRequest, NonStandardRequest_sequence);
return offset;
}
static const per_sequence_t NonStandardConfirmation_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_h501_NonStandardConfirmation(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_h501_NonStandardConfirmation, NonStandardConfirmation_sequence);
return offset;
}
static const value_string h501_NonStandardRejectionReason_vals[] = {
{ 0, "notSupported" },
{ 1, "noServiceRelationship" },
{ 2, "undefined" },
{ 3, "neededFeature" },
{ 4, "genericDataReason" },
{ 5, "unknownServiceID" },
{ 0, NULL }
};
static const per_choice_t NonStandardRejectionReason_choice[] = {
{ 0, &hf_h501_notSupported , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 1, &hf_h501_noServiceRelationship, ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 2, &hf_h501_undefined , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 3, &hf_h501_neededFeature , ASN1_NOT_EXTENSION_ROOT, dissect_h501_NULL },
{ 4, &hf_h501_genericDataReason, ASN1_NOT_EXTENSION_ROOT, dissect_h501_NULL },
{ 5, &hf_h501_unknownServiceID, ASN1_NOT_EXTENSION_ROOT, dissect_h501_NULL },
{ 0, NULL, 0, NULL }
};
static int
dissect_h501_NonStandardRejectionReason(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_h501_NonStandardRejectionReason, NonStandardRejectionReason_choice,
NULL);
return offset;
}
static const per_sequence_t NonStandardRejection_sequence[] = {
{ &hf_h501_reason_08 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_NonStandardRejectionReason },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_NonStandardRejection(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_h501_NonStandardRejection, NonStandardRejection_sequence);
return offset;
}
static int
dissect_h501_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 value_string h501_UnknownMessageReason_vals[] = {
{ 0, "notUnderstood" },
{ 1, "undefined" },
{ 0, NULL }
};
static const per_choice_t UnknownMessageReason_choice[] = {
{ 0, &hf_h501_notUnderstood , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 1, &hf_h501_undefined , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 0, NULL, 0, NULL }
};
static int
dissect_h501_UnknownMessageReason(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_h501_UnknownMessageReason, UnknownMessageReason_choice,
NULL);
return offset;
}
static const per_sequence_t UnknownMessageResponse_sequence[] = {
{ &hf_h501_unknownMessage , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_OCTET_STRING },
{ &hf_h501_reason_09 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_UnknownMessageReason },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_UnknownMessageResponse(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_h501_UnknownMessageResponse, UnknownMessageResponse_sequence);
return offset;
}
static const per_sequence_t UsageRequest_sequence[] = {
{ &hf_h501_callInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_CallInformation },
{ &hf_h501_usageSpec , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_UsageSpecification },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_UsageRequest(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_h501_UsageRequest, UsageRequest_sequence);
return offset;
}
static const per_sequence_t UsageConfirmation_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_h501_UsageConfirmation(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_h501_UsageConfirmation, UsageConfirmation_sequence);
return offset;
}
static const value_string h501_Role_vals[] = {
{ 0, "originator" },
{ 1, "destination" },
{ 2, "nonStandardData" },
{ 0, NULL }
};
static const per_choice_t Role_choice[] = {
{ 0, &hf_h501_originator , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 1, &hf_h501_destination , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 2, &hf_h501_nonStandardData, ASN1_EXTENSION_ROOT , dissect_h225_NonStandardParameter },
{ 0, NULL, 0, NULL }
};
static int
dissect_h501_Role(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_h501_Role, Role_choice,
NULL);
return offset;
}
static const value_string h501_UsageCallStatus_vals[] = {
{ 0, "preConnect" },
{ 1, "callInProgress" },
{ 2, "callEnded" },
{ 3, "registrationLost" },
{ 0, NULL }
};
static const per_choice_t UsageCallStatus_choice[] = {
{ 0, &hf_h501_preConnect , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 1, &hf_h501_callInProgress , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 2, &hf_h501_callEnded , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 3, &hf_h501_registrationLost, ASN1_NOT_EXTENSION_ROOT, dissect_h501_NULL },
{ 0, NULL, 0, NULL }
};
static int
dissect_h501_UsageCallStatus(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_h501_UsageCallStatus, UsageCallStatus_choice,
NULL);
return offset;
}
static const per_sequence_t TerminationCause_sequence[] = {
{ &hf_h501_releaseCompleteReason, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_ReleaseCompleteReason },
{ &hf_h501_causeIE , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_INTEGER_1_65535 },
{ &hf_h501_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_NonStandardParameter },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_TerminationCause(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_h501_TerminationCause, TerminationCause_sequence);
return offset;
}
static const per_sequence_t UsageField_sequence[] = {
{ &hf_h501_id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_OBJECT_IDENTIFIER },
{ &hf_h501_value , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_OCTET_STRING },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_UsageField(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_h501_UsageField, UsageField_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_OF_UsageField_sequence_of[1] = {
{ &hf_h501_usageFields_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h501_UsageField },
};
static int
dissect_h501_SEQUENCE_OF_UsageField(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_h501_SEQUENCE_OF_UsageField, SEQUENCE_OF_UsageField_sequence_of);
return offset;
}
static const per_sequence_t UsageIndication_sequence[] = {
{ &hf_h501_callInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_CallInformation },
{ &hf_h501_accessTokens , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_SEQUENCE_OF_AccessToken },
{ &hf_h501_senderRole , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_Role },
{ &hf_h501_usageCallStatus, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_UsageCallStatus },
{ &hf_h501_srcInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_PartyInformation },
{ &hf_h501_destAddress , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_PartyInformation },
{ &hf_h501_startTime , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h235_TimeStamp },
{ &hf_h501_endTime , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h235_TimeStamp },
{ &hf_h501_terminationCause, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_TerminationCause },
{ &hf_h501_usageFields , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_SEQUENCE_OF_UsageField },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_UsageIndication(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_h501_UsageIndication, UsageIndication_sequence);
return offset;
}
static const per_sequence_t UsageIndicationConfirmation_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_h501_UsageIndicationConfirmation(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_h501_UsageIndicationConfirmation, UsageIndicationConfirmation_sequence);
return offset;
}
static const value_string h501_UsageIndicationRejectionReason_vals[] = {
{ 0, "unknownCall" },
{ 1, "incomplete" },
{ 2, "security" },
{ 3, "noServiceRelationship" },
{ 4, "undefined" },
{ 5, "neededFeature" },
{ 6, "genericDataReason" },
{ 7, "unknownServiceID" },
{ 0, NULL }
};
static const per_choice_t UsageIndicationRejectionReason_choice[] = {
{ 0, &hf_h501_unknownCall , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 1, &hf_h501_incomplete , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 2, &hf_h501_security , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 3, &hf_h501_noServiceRelationship, ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 4, &hf_h501_undefined , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 5, &hf_h501_neededFeature , ASN1_NOT_EXTENSION_ROOT, dissect_h501_NULL },
{ 6, &hf_h501_genericDataReason, ASN1_NOT_EXTENSION_ROOT, dissect_h501_NULL },
{ 7, &hf_h501_unknownServiceID, ASN1_NOT_EXTENSION_ROOT, dissect_h501_NULL },
{ 0, NULL, 0, NULL }
};
static int
dissect_h501_UsageIndicationRejectionReason(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_h501_UsageIndicationRejectionReason, UsageIndicationRejectionReason_choice,
NULL);
return offset;
}
static const per_sequence_t UsageIndicationRejection_sequence[] = {
{ &hf_h501_reason_06 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_UsageIndicationRejectionReason },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_UsageIndicationRejection(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_h501_UsageIndicationRejection, UsageIndicationRejection_sequence);
return offset;
}
static const value_string h501_UsageRejectReason_vals[] = {
{ 0, "invalidCall" },
{ 1, "unavailable" },
{ 2, "security" },
{ 3, "noServiceRelationship" },
{ 4, "undefined" },
{ 5, "neededFeature" },
{ 6, "genericDataReason" },
{ 7, "unknownServiceID" },
{ 0, NULL }
};
static const per_choice_t UsageRejectReason_choice[] = {
{ 0, &hf_h501_invalidCall , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 1, &hf_h501_unavailable , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 2, &hf_h501_security , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 3, &hf_h501_noServiceRelationship, ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 4, &hf_h501_undefined , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 5, &hf_h501_neededFeature , ASN1_NOT_EXTENSION_ROOT, dissect_h501_NULL },
{ 6, &hf_h501_genericDataReason, ASN1_NOT_EXTENSION_ROOT, dissect_h501_NULL },
{ 7, &hf_h501_unknownServiceID, ASN1_NOT_EXTENSION_ROOT, dissect_h501_NULL },
{ 0, NULL, 0, NULL }
};
static int
dissect_h501_UsageRejectReason(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_h501_UsageRejectReason, UsageRejectReason_choice,
NULL);
return offset;
}
static const per_sequence_t UsageRejection_sequence[] = {
{ &hf_h501_reason_05 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_UsageRejectReason },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_UsageRejection(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_h501_UsageRejection, UsageRejection_sequence);
return offset;
}
static const per_sequence_t ValidationRequest_sequence[] = {
{ &hf_h501_accessToken , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_SEQUENCE_OF_AccessToken },
{ &hf_h501_destinationInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_PartyInformation },
{ &hf_h501_sourceInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_PartyInformation },
{ &hf_h501_callInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_CallInformation },
{ &hf_h501_usageSpec , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_UsageSpecification },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_ValidationRequest(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_h501_ValidationRequest, ValidationRequest_sequence);
return offset;
}
static const per_sequence_t ValidationConfirmation_sequence[] = {
{ &hf_h501_destinationInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_PartyInformation },
{ &hf_h501_usageSpec , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_UsageSpecification },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_ValidationConfirmation(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_h501_ValidationConfirmation, ValidationConfirmation_sequence);
return offset;
}
static const value_string h501_ValidationRejectionReason_vals[] = {
{ 0, "tokenNotValid" },
{ 1, "security" },
{ 2, "hopCountExceeded" },
{ 3, "missingSourceInfo" },
{ 4, "missingDestInfo" },
{ 5, "noServiceRelationship" },
{ 6, "undefined" },
{ 7, "neededFeature" },
{ 8, "genericDataReason" },
{ 9, "unknownServiceID" },
{ 0, NULL }
};
static const per_choice_t ValidationRejectionReason_choice[] = {
{ 0, &hf_h501_tokenNotValid , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 1, &hf_h501_security , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 2, &hf_h501_hopCountExceeded, ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 3, &hf_h501_missingSourceInfo, ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 4, &hf_h501_missingDestInfo, ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 5, &hf_h501_noServiceRelationship, ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 6, &hf_h501_undefined , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 7, &hf_h501_neededFeature , ASN1_NOT_EXTENSION_ROOT, dissect_h501_NULL },
{ 8, &hf_h501_genericDataReason, ASN1_NOT_EXTENSION_ROOT, dissect_h501_NULL },
{ 9, &hf_h501_unknownServiceID, ASN1_NOT_EXTENSION_ROOT, dissect_h501_NULL },
{ 0, NULL, 0, NULL }
};
static int
dissect_h501_ValidationRejectionReason(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_h501_ValidationRejectionReason, ValidationRejectionReason_choice,
NULL);
return offset;
}
static const per_sequence_t ValidationRejection_sequence[] = {
{ &hf_h501_reason_07 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_ValidationRejectionReason },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_ValidationRejection(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_h501_ValidationRejection, ValidationRejection_sequence);
return offset;
}
static int
dissect_h501_ApplicationMessage(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 AuthenticationRequest_sequence[] = {
{ &hf_h501_applicationMessage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_ApplicationMessage },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_AuthenticationRequest(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_h501_AuthenticationRequest, AuthenticationRequest_sequence);
return offset;
}
static const per_sequence_t AuthenticationConfirmation_sequence[] = {
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
};
static int
dissect_h501_AuthenticationConfirmation(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_h501_AuthenticationConfirmation, AuthenticationConfirmation_sequence);
return offset;
}
static const value_string h501_AuthenticationRejectionReason_vals[] = {
{ 0, "security" },
{ 1, "hopCountExceeded" },
{ 2, "noServiceRelationship" },
{ 3, "undefined" },
{ 4, "neededFeature" },
{ 5, "genericDataReason" },
{ 6, "unknownServiceID" },
{ 7, "securityWrongSyncTime" },
{ 8, "securityReplay" },
{ 9, "securityWrongGeneralID" },
{ 10, "securityWrongSendersID" },
{ 11, "securityIntegrityFailed" },
{ 12, "securityWrongOID" },
{ 0, NULL }
};
static const per_choice_t AuthenticationRejectionReason_choice[] = {
{ 0, &hf_h501_security , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 1, &hf_h501_hopCountExceeded, ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 2, &hf_h501_noServiceRelationship, ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 3, &hf_h501_undefined , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 4, &hf_h501_neededFeature , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 5, &hf_h501_genericDataReason, ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 6, &hf_h501_unknownServiceID, ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 7, &hf_h501_securityWrongSyncTime, ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 8, &hf_h501_securityReplay , ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 9, &hf_h501_securityWrongGeneralID, ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 10, &hf_h501_securityWrongSendersID, ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 11, &hf_h501_securityIntegrityFailed, ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 12, &hf_h501_securityWrongOID, ASN1_EXTENSION_ROOT , dissect_h501_NULL },
{ 0, NULL, 0, NULL }
};
static int
dissect_h501_AuthenticationRejectionReason(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_h501_AuthenticationRejectionReason, AuthenticationRejectionReason_choice,
NULL);
return offset;
}
static const per_sequence_t AuthenticationRejection_sequence[] = {
{ &hf_h501_reason_10 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_AuthenticationRejectionReason },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_AuthenticationRejection(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_h501_AuthenticationRejection, AuthenticationRejection_sequence);
return offset;
}
static const value_string h501_MessageBody_vals[] = {
{ 0, "serviceRequest" },
{ 1, "serviceConfirmation" },
{ 2, "serviceRejection" },
{ 3, "serviceRelease" },
{ 4, "descriptorRequest" },
{ 5, "descriptorConfirmation" },
{ 6, "descriptorRejection" },
{ 7, "descriptorIDRequest" },
{ 8, "descriptorIDConfirmation" },
{ 9, "descriptorIDRejection" },
{ 10, "descriptorUpdate" },
{ 11, "descriptorUpdateAck" },
{ 12, "accessRequest" },
{ 13, "accessConfirmation" },
{ 14, "accessRejection" },
{ 15, "requestInProgress" },
{ 16, "nonStandardRequest" },
{ 17, "nonStandardConfirmation" },
{ 18, "nonStandardRejection" },
{ 19, "unknownMessageResponse" },
{ 20, "usageRequest" },
{ 21, "usageConfirmation" },
{ 22, "usageIndication" },
{ 23, "usageIndicationConfirmation" },
{ 24, "usageIndicationRejection" },
{ 25, "usageRejection" },
{ 26, "validationRequest" },
{ 27, "validationConfirmation" },
{ 28, "validationRejection" },
{ 29, "authenticationRequest" },
{ 30, "authenticationConfirmation" },
{ 31, "authenticationRejection" },
{ 0, NULL }
};
static const per_choice_t MessageBody_choice[] = {
{ 0, &hf_h501_serviceRequest , ASN1_EXTENSION_ROOT , dissect_h501_ServiceRequest },
{ 1, &hf_h501_serviceConfirmation, ASN1_EXTENSION_ROOT , dissect_h501_ServiceConfirmation },
{ 2, &hf_h501_serviceRejection, ASN1_EXTENSION_ROOT , dissect_h501_ServiceRejection },
{ 3, &hf_h501_serviceRelease , ASN1_EXTENSION_ROOT , dissect_h501_ServiceRelease },
{ 4, &hf_h501_descriptorRequest, ASN1_EXTENSION_ROOT , dissect_h501_DescriptorRequest },
{ 5, &hf_h501_descriptorConfirmation, ASN1_EXTENSION_ROOT , dissect_h501_DescriptorConfirmation },
{ 6, &hf_h501_descriptorRejection, ASN1_EXTENSION_ROOT , dissect_h501_DescriptorRejection },
{ 7, &hf_h501_descriptorIDRequest, ASN1_EXTENSION_ROOT , dissect_h501_DescriptorIDRequest },
{ 8, &hf_h501_descriptorIDConfirmation, ASN1_EXTENSION_ROOT , dissect_h501_DescriptorIDConfirmation },
{ 9, &hf_h501_descriptorIDRejection, ASN1_EXTENSION_ROOT , dissect_h501_DescriptorIDRejection },
{ 10, &hf_h501_descriptorUpdate, ASN1_EXTENSION_ROOT , dissect_h501_DescriptorUpdate },
{ 11, &hf_h501_descriptorUpdateAck, ASN1_EXTENSION_ROOT , dissect_h501_DescriptorUpdateAck },
{ 12, &hf_h501_accessRequest , ASN1_EXTENSION_ROOT , dissect_h501_AccessRequest },
{ 13, &hf_h501_accessConfirmation, ASN1_EXTENSION_ROOT , dissect_h501_AccessConfirmation },
{ 14, &hf_h501_accessRejection, ASN1_EXTENSION_ROOT , dissect_h501_AccessRejection },
{ 15, &hf_h501_requestInProgress, ASN1_EXTENSION_ROOT , dissect_h501_RequestInProgress },
{ 16, &hf_h501_nonStandardRequest, ASN1_EXTENSION_ROOT , dissect_h501_NonStandardRequest },
{ 17, &hf_h501_nonStandardConfirmation, ASN1_EXTENSION_ROOT , dissect_h501_NonStandardConfirmation },
{ 18, &hf_h501_nonStandardRejection, ASN1_EXTENSION_ROOT , dissect_h501_NonStandardRejection },
{ 19, &hf_h501_unknownMessageResponse, ASN1_EXTENSION_ROOT , dissect_h501_UnknownMessageResponse },
{ 20, &hf_h501_usageRequest , ASN1_EXTENSION_ROOT , dissect_h501_UsageRequest },
{ 21, &hf_h501_usageConfirmation, ASN1_EXTENSION_ROOT , dissect_h501_UsageConfirmation },
{ 22, &hf_h501_usageIndication, ASN1_EXTENSION_ROOT , dissect_h501_UsageIndication },
{ 23, &hf_h501_usageIndicationConfirmation, ASN1_EXTENSION_ROOT , dissect_h501_UsageIndicationConfirmation },
{ 24, &hf_h501_usageIndicationRejection, ASN1_EXTENSION_ROOT , dissect_h501_UsageIndicationRejection },
{ 25, &hf_h501_usageRejection , ASN1_EXTENSION_ROOT , dissect_h501_UsageRejection },
{ 26, &hf_h501_validationRequest, ASN1_EXTENSION_ROOT , dissect_h501_ValidationRequest },
{ 27, &hf_h501_validationConfirmation, ASN1_EXTENSION_ROOT , dissect_h501_ValidationConfirmation },
{ 28, &hf_h501_validationRejection, ASN1_EXTENSION_ROOT , dissect_h501_ValidationRejection },
{ 29, &hf_h501_authenticationRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h501_AuthenticationRequest },
{ 30, &hf_h501_authenticationConfirmation, ASN1_NOT_EXTENSION_ROOT, dissect_h501_AuthenticationConfirmation },
{ 31, &hf_h501_authenticationRejection, ASN1_NOT_EXTENSION_ROOT, dissect_h501_AuthenticationRejection },
{ 0, NULL, 0, NULL }
};
static int
dissect_h501_MessageBody(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 20 "./asn1/h501/h501.cnf"
gint32 msg_type = -1;
const gchar *p = NULL;
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_h501_MessageBody, MessageBody_choice,
&msg_type);
#line 23 "./asn1/h501/h501.cnf"
p = try_val_to_str(msg_type, VALS(h501_MessageBody_vals));
if (p )
col_set_str(actx->pinfo->cinfo, COL_INFO, p);
return offset;
}
static int
dissect_h501_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 int
dissect_h501_ProtocolVersion(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(tvb, offset, actx, tree, hf_index, NULL);
return offset;
}
static int
dissect_h501_INTEGER_1_255(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, 255U, NULL, FALSE);
return offset;
}
static const per_sequence_t SEQUENCE_OF_TransportAddress_sequence_of[1] = {
{ &hf_h501_replyAddress_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_TransportAddress },
};
static int
dissect_h501_SEQUENCE_OF_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_of(tvb, offset, actx, tree, hf_index,
ett_h501_SEQUENCE_OF_TransportAddress, SEQUENCE_OF_TransportAddress_sequence_of);
return offset;
}
static const per_sequence_t SEQUENCE_OF_ClearToken_sequence_of[1] = {
{ &hf_h501_tokens_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h235_ClearToken },
};
static int
dissect_h501_SEQUENCE_OF_ClearToken(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_h501_SEQUENCE_OF_ClearToken, SEQUENCE_OF_ClearToken_sequence_of);
return offset;
}
static const per_sequence_t SEQUENCE_OF_NonStandardParameter_sequence_of[1] = {
{ &hf_h501_nonStandard_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_NonStandardParameter },
};
static int
dissect_h501_SEQUENCE_OF_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_of(tvb, offset, actx, tree, hf_index,
ett_h501_SEQUENCE_OF_NonStandardParameter, SEQUENCE_OF_NonStandardParameter_sequence_of);
return offset;
}
static int
dissect_h501_ServiceID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_h225_GloballyUniqueID(tvb, offset, actx, tree, hf_index);
return offset;
}
static const per_sequence_t SEQUENCE_OF_GenericData_sequence_of[1] = {
{ &hf_h501_genericData_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_GenericData },
};
static int
dissect_h501_SEQUENCE_OF_GenericData(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_h501_SEQUENCE_OF_GenericData, SEQUENCE_OF_GenericData_sequence_of);
return offset;
}
static const per_sequence_t MessageCommonInfo_sequence[] = {
{ &hf_h501_sequenceNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_INTEGER_0_65535 },
{ &hf_h501_annexGversion , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_ProtocolVersion },
{ &hf_h501_hopCount , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_INTEGER_1_255 },
{ &hf_h501_replyAddress , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_SEQUENCE_OF_TransportAddress },
{ &hf_h501_integrityCheckValue, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_ICV },
{ &hf_h501_tokens , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_SEQUENCE_OF_ClearToken },
{ &hf_h501_cryptoTokens , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_SEQUENCE_OF_CryptoH323Token },
{ &hf_h501_nonStandard , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h501_SEQUENCE_OF_NonStandardParameter },
{ &hf_h501_serviceID , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h501_ServiceID },
{ &hf_h501_genericData , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h501_SEQUENCE_OF_GenericData },
{ &hf_h501_featureSet , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_FeatureSet },
{ &hf_h501_version , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h501_ProtocolVersion },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_MessageCommonInfo(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_h501_MessageCommonInfo, MessageCommonInfo_sequence);
return offset;
}
static const per_sequence_t Message_sequence[] = {
{ &hf_h501_body , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_MessageBody },
{ &hf_h501_common , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h501_MessageCommonInfo },
{ NULL, 0, 0, NULL }
};
static int
dissect_h501_Message(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_h501_Message, Message_sequence);
return offset;
}
/*--- PDUs ---*/
static int dissect_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_h501_Message(tvb, offset, &asn1_ctx, tree, hf_h501_Message_PDU);
offset += 7; offset >>= 3;
return offset;
}
/*--- End of included file: packet-h501-fn.c ---*/
#line 60 "./asn1/h501/packet-h501-template.c"
static int
dissect_h501_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
{
proto_item *ti = NULL;
proto_tree *h501_tree = NULL;
col_set_str(pinfo->cinfo, COL_PROTOCOL, PSNAME);
ti = proto_tree_add_item(tree, proto_h501, tvb, 0, -1, ENC_NA);
h501_tree = proto_item_add_subtree(ti, ett_h501);
return dissect_Message_PDU(tvb, pinfo, h501_tree, NULL);
}
static int
dissect_h501_udp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
{
dissect_tpkt_encap(tvb, pinfo, tree, FALSE, h501_pdu_handle);
return tvb_captured_length(tvb);
}
static int
dissect_h501_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
{
dissect_tpkt_encap(tvb, pinfo, tree, h501_desegment_tcp, h501_pdu_handle);
return tvb_captured_length(tvb);
}
/*--- proto_register_h501 ----------------------------------------------*/
void proto_register_h501(void) {
module_t *h501_module;
/* List of fields */
static hf_register_info hf[] = {
/*--- Included file: packet-h501-hfarr.c ---*/
#line 1 "./asn1/h501/packet-h501-hfarr.c"
{ &hf_h501_Message_PDU,
{ "Message", "h501.Message_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_body,
{ "body", "h501.body",
FT_UINT32, BASE_DEC, VALS(h501_MessageBody_vals), 0,
"MessageBody", HFILL }},
{ &hf_h501_common,
{ "common", "h501.common_element",
FT_NONE, BASE_NONE, NULL, 0,
"MessageCommonInfo", HFILL }},
{ &hf_h501_serviceRequest,
{ "serviceRequest", "h501.serviceRequest_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_serviceConfirmation,
{ "serviceConfirmation", "h501.serviceConfirmation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_serviceRejection,
{ "serviceRejection", "h501.serviceRejection_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_serviceRelease,
{ "serviceRelease", "h501.serviceRelease_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_descriptorRequest,
{ "descriptorRequest", "h501.descriptorRequest_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_descriptorConfirmation,
{ "descriptorConfirmation", "h501.descriptorConfirmation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_descriptorRejection,
{ "descriptorRejection", "h501.descriptorRejection_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_descriptorIDRequest,
{ "descriptorIDRequest", "h501.descriptorIDRequest_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_descriptorIDConfirmation,
{ "descriptorIDConfirmation", "h501.descriptorIDConfirmation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_descriptorIDRejection,
{ "descriptorIDRejection", "h501.descriptorIDRejection_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_descriptorUpdate,
{ "descriptorUpdate", "h501.descriptorUpdate_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_descriptorUpdateAck,
{ "descriptorUpdateAck", "h501.descriptorUpdateAck_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_accessRequest,
{ "accessRequest", "h501.accessRequest_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_accessConfirmation,
{ "accessConfirmation", "h501.accessConfirmation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_accessRejection,
{ "accessRejection", "h501.accessRejection_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_requestInProgress,
{ "requestInProgress", "h501.requestInProgress_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_nonStandardRequest,
{ "nonStandardRequest", "h501.nonStandardRequest_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_nonStandardConfirmation,
{ "nonStandardConfirmation", "h501.nonStandardConfirmation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_nonStandardRejection,
{ "nonStandardRejection", "h501.nonStandardRejection_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_unknownMessageResponse,
{ "unknownMessageResponse", "h501.unknownMessageResponse_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_usageRequest,
{ "usageRequest", "h501.usageRequest_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_usageConfirmation,
{ "usageConfirmation", "h501.usageConfirmation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_usageIndication,
{ "usageIndication", "h501.usageIndication_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_usageIndicationConfirmation,
{ "usageIndicationConfirmation", "h501.usageIndicationConfirmation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_usageIndicationRejection,
{ "usageIndicationRejection", "h501.usageIndicationRejection_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_usageRejection,
{ "usageRejection", "h501.usageRejection_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_validationRequest,
{ "validationRequest", "h501.validationRequest_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_validationConfirmation,
{ "validationConfirmation", "h501.validationConfirmation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_validationRejection,
{ "validationRejection", "h501.validationRejection_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_authenticationRequest,
{ "authenticationRequest", "h501.authenticationRequest_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_authenticationConfirmation,
{ "authenticationConfirmation", "h501.authenticationConfirmation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_authenticationRejection,
{ "authenticationRejection", "h501.authenticationRejection_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_sequenceNumber,
{ "sequenceNumber", "h501.sequenceNumber",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_65535", HFILL }},
{ &hf_h501_annexGversion,
{ "annexGversion", "h501.annexGversion",
FT_OID, BASE_NONE, NULL, 0,
"ProtocolVersion", HFILL }},
{ &hf_h501_hopCount,
{ "hopCount", "h501.hopCount",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_255", HFILL }},
{ &hf_h501_replyAddress,
{ "replyAddress", "h501.replyAddress",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_OF_TransportAddress", HFILL }},
{ &hf_h501_replyAddress_item,
{ "TransportAddress", "h501.TransportAddress",
FT_UINT32, BASE_DEC, VALS(h225_TransportAddress_vals), 0,
NULL, HFILL }},
{ &hf_h501_integrityCheckValue,
{ "integrityCheckValue", "h501.integrityCheckValue_element",
FT_NONE, BASE_NONE, NULL, 0,
"ICV", HFILL }},
{ &hf_h501_tokens,
{ "tokens", "h501.tokens",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_OF_ClearToken", HFILL }},
{ &hf_h501_tokens_item,
{ "ClearToken", "h501.ClearToken_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_cryptoTokens,
{ "cryptoTokens", "h501.cryptoTokens",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_OF_CryptoH323Token", HFILL }},
{ &hf_h501_cryptoTokens_item,
{ "CryptoH323Token", "h501.CryptoH323Token",
FT_UINT32, BASE_DEC, VALS(h225_CryptoH323Token_vals), 0,
NULL, HFILL }},
{ &hf_h501_nonStandard,
{ "nonStandard", "h501.nonStandard",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_OF_NonStandardParameter", HFILL }},
{ &hf_h501_nonStandard_item,
{ "NonStandardParameter", "h501.NonStandardParameter_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_serviceID,
{ "serviceID", "h501.serviceID",
FT_GUID, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_genericData,
{ "genericData", "h501.genericData",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_OF_GenericData", HFILL }},
{ &hf_h501_genericData_item,
{ "GenericData", "h501.GenericData_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_featureSet,
{ "featureSet", "h501.featureSet_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_version,
{ "version", "h501.version",
FT_OID, BASE_NONE, NULL, 0,
"ProtocolVersion", HFILL }},
{ &hf_h501_elementIdentifier,
{ "elementIdentifier", "h501.elementIdentifier",
FT_STRING, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_domainIdentifier,
{ "domainIdentifier", "h501.domainIdentifier",
FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
"AliasAddress", HFILL }},
{ &hf_h501_securityMode,
{ "securityMode", "h501.securityMode",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_OF_SecurityMode", HFILL }},
{ &hf_h501_securityMode_item,
{ "SecurityMode", "h501.SecurityMode_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_timeToLive,
{ "timeToLive", "h501.timeToLive",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_4294967295", HFILL }},
{ &hf_h501_usageSpec,
{ "usageSpec", "h501.usageSpec_element",
FT_NONE, BASE_NONE, NULL, 0,
"UsageSpecification", HFILL }},
{ &hf_h501_authentication,
{ "authentication", "h501.authentication",
FT_UINT32, BASE_DEC, VALS(h235_AuthenticationMechanism_vals), 0,
"AuthenticationMechanism", HFILL }},
{ &hf_h501_integrity,
{ "integrity", "h501.integrity",
FT_UINT32, BASE_DEC, VALS(h225_IntegrityMechanism_vals), 0,
"IntegrityMechanism", HFILL }},
{ &hf_h501_algorithmOIDs,
{ "algorithmOIDs", "h501.algorithmOIDs",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_h501_algorithmOIDs_item,
{ "algorithmOIDs item", "h501.algorithmOIDs_item",
FT_OID, BASE_NONE, NULL, 0,
"OBJECT_IDENTIFIER", HFILL }},
{ &hf_h501_alternates,
{ "alternates", "h501.alternates_element",
FT_NONE, BASE_NONE, NULL, 0,
"AlternatePEInfo", HFILL }},
{ &hf_h501_securityMode_01,
{ "securityMode", "h501.securityMode_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_reason,
{ "reason", "h501.reason",
FT_UINT32, BASE_DEC, VALS(h501_ServiceRejectionReason_vals), 0,
"ServiceRejectionReason", HFILL }},
{ &hf_h501_serviceUnavailable,
{ "serviceUnavailable", "h501.serviceUnavailable_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_serviceRedirected,
{ "serviceRedirected", "h501.serviceRedirected_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_security,
{ "security", "h501.security_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_continue,
{ "continue", "h501.continue_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_undefined,
{ "undefined", "h501.undefined_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_unknownServiceID,
{ "unknownServiceID", "h501.unknownServiceID_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_cannotSupportUsageSpec,
{ "cannotSupportUsageSpec", "h501.cannotSupportUsageSpec_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_neededFeature,
{ "neededFeature", "h501.neededFeature_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_genericDataReason,
{ "genericDataReason", "h501.genericDataReason_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_usageUnavailable,
{ "usageUnavailable", "h501.usageUnavailable_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_unknownUsageSendTo,
{ "unknownUsageSendTo", "h501.unknownUsageSendTo_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_reason_01,
{ "reason", "h501.reason",
FT_UINT32, BASE_DEC, VALS(h501_ServiceReleaseReason_vals), 0,
"ServiceReleaseReason", HFILL }},
{ &hf_h501_outOfService,
{ "outOfService", "h501.outOfService_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_maintenance,
{ "maintenance", "h501.maintenance_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_terminated,
{ "terminated", "h501.terminated_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_expired,
{ "expired", "h501.expired_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_descriptorID,
{ "descriptorID", "h501.descriptorID",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_OF_DescriptorID", HFILL }},
{ &hf_h501_descriptorID_item,
{ "DescriptorID", "h501.DescriptorID",
FT_GUID, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_descriptor,
{ "descriptor", "h501.descriptor",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_OF_Descriptor", HFILL }},
{ &hf_h501_descriptor_item,
{ "Descriptor", "h501.Descriptor_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_reason_02,
{ "reason", "h501.reason",
FT_UINT32, BASE_DEC, VALS(h501_DescriptorRejectionReason_vals), 0,
"DescriptorRejectionReason", HFILL }},
{ &hf_h501_descriptorID_01,
{ "descriptorID", "h501.descriptorID",
FT_GUID, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_packetSizeExceeded,
{ "packetSizeExceeded", "h501.packetSizeExceeded_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_illegalID,
{ "illegalID", "h501.illegalID_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_hopCountExceeded,
{ "hopCountExceeded", "h501.hopCountExceeded_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_noServiceRelationship,
{ "noServiceRelationship", "h501.noServiceRelationship_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_descriptorInfo,
{ "descriptorInfo", "h501.descriptorInfo",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_OF_DescriptorInfo", HFILL }},
{ &hf_h501_descriptorInfo_item,
{ "DescriptorInfo", "h501.DescriptorInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_reason_03,
{ "reason", "h501.reason",
FT_UINT32, BASE_DEC, VALS(h501_DescriptorIDRejectionReason_vals), 0,
"DescriptorIDRejectionReason", HFILL }},
{ &hf_h501_noDescriptors,
{ "noDescriptors", "h501.noDescriptors_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_sender,
{ "sender", "h501.sender",
FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
"AliasAddress", HFILL }},
{ &hf_h501_updateInfo,
{ "updateInfo", "h501.updateInfo",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_OF_UpdateInformation", HFILL }},
{ &hf_h501_updateInfo_item,
{ "UpdateInformation", "h501.UpdateInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_descriptorInfo_01,
{ "descriptorInfo", "h501.descriptorInfo",
FT_UINT32, BASE_DEC, VALS(h501_T_descriptorInfo_vals), 0,
NULL, HFILL }},
{ &hf_h501_descriptor_01,
{ "descriptor", "h501.descriptor_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_updateType,
{ "updateType", "h501.updateType",
FT_UINT32, BASE_DEC, VALS(h501_T_updateType_vals), 0,
NULL, HFILL }},
{ &hf_h501_added,
{ "added", "h501.added_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_deleted,
{ "deleted", "h501.deleted_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_changed,
{ "changed", "h501.changed_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_destinationInfo,
{ "destinationInfo", "h501.destinationInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
"PartyInformation", HFILL }},
{ &hf_h501_sourceInfo,
{ "sourceInfo", "h501.sourceInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
"PartyInformation", HFILL }},
{ &hf_h501_callInfo,
{ "callInfo", "h501.callInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
"CallInformation", HFILL }},
{ &hf_h501_desiredProtocols,
{ "desiredProtocols", "h501.desiredProtocols",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_OF_SupportedProtocols", HFILL }},
{ &hf_h501_desiredProtocols_item,
{ "SupportedProtocols", "h501.SupportedProtocols",
FT_UINT32, BASE_DEC, VALS(h225_SupportedProtocols_vals), 0,
NULL, HFILL }},
{ &hf_h501_templates,
{ "templates", "h501.templates",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_OF_AddressTemplate", HFILL }},
{ &hf_h501_templates_item,
{ "AddressTemplate", "h501.AddressTemplate_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_partialResponse,
{ "partialResponse", "h501.partialResponse",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_h501_supportedProtocols,
{ "supportedProtocols", "h501.supportedProtocols",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_OF_SupportedProtocols", HFILL }},
{ &hf_h501_supportedProtocols_item,
{ "SupportedProtocols", "h501.SupportedProtocols",
FT_UINT32, BASE_DEC, VALS(h225_SupportedProtocols_vals), 0,
NULL, HFILL }},
{ &hf_h501_serviceControl,
{ "serviceControl", "h501.serviceControl",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_OF_ServiceControlSession", HFILL }},
{ &hf_h501_serviceControl_item,
{ "ServiceControlSession", "h501.ServiceControlSession_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_reason_04,
{ "reason", "h501.reason",
FT_UINT32, BASE_DEC, VALS(h501_AccessRejectionReason_vals), 0,
"AccessRejectionReason", HFILL }},
{ &hf_h501_noMatch,
{ "noMatch", "h501.noMatch_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_needCallInformation,
{ "needCallInformation", "h501.needCallInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_destinationUnavailable,
{ "destinationUnavailable", "h501.destinationUnavailable_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_aliasesInconsistent,
{ "aliasesInconsistent", "h501.aliasesInconsistent_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_resourceUnavailable,
{ "resourceUnavailable", "h501.resourceUnavailable_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_incompleteAddress,
{ "incompleteAddress", "h501.incompleteAddress_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_reason_05,
{ "reason", "h501.reason",
FT_UINT32, BASE_DEC, VALS(h501_UsageRejectReason_vals), 0,
"UsageRejectReason", HFILL }},
{ &hf_h501_accessTokens,
{ "accessTokens", "h501.accessTokens",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_OF_AccessToken", HFILL }},
{ &hf_h501_accessTokens_item,
{ "AccessToken", "h501.AccessToken",
FT_UINT32, BASE_DEC, VALS(h501_AccessToken_vals), 0,
NULL, HFILL }},
{ &hf_h501_senderRole,
{ "senderRole", "h501.senderRole",
FT_UINT32, BASE_DEC, VALS(h501_Role_vals), 0,
"Role", HFILL }},
{ &hf_h501_usageCallStatus,
{ "usageCallStatus", "h501.usageCallStatus",
FT_UINT32, BASE_DEC, VALS(h501_UsageCallStatus_vals), 0,
NULL, HFILL }},
{ &hf_h501_srcInfo,
{ "srcInfo", "h501.srcInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
"PartyInformation", HFILL }},
{ &hf_h501_destAddress,
{ "destAddress", "h501.destAddress_element",
FT_NONE, BASE_NONE, NULL, 0,
"PartyInformation", HFILL }},
{ &hf_h501_startTime,
{ "startTime", "h501.startTime",
FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0,
"TimeStamp", HFILL }},
{ &hf_h501_endTime,
{ "endTime", "h501.endTime",
FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0,
"TimeStamp", HFILL }},
{ &hf_h501_terminationCause,
{ "terminationCause", "h501.terminationCause_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_usageFields,
{ "usageFields", "h501.usageFields",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_OF_UsageField", HFILL }},
{ &hf_h501_usageFields_item,
{ "UsageField", "h501.UsageField_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_id,
{ "id", "h501.id",
FT_OID, BASE_NONE, NULL, 0,
"OBJECT_IDENTIFIER", HFILL }},
{ &hf_h501_value,
{ "value", "h501.value",
FT_BYTES, BASE_NONE, NULL, 0,
"OCTET_STRING", HFILL }},
{ &hf_h501_invalidCall,
{ "invalidCall", "h501.invalidCall_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_unavailable,
{ "unavailable", "h501.unavailable_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_reason_06,
{ "reason", "h501.reason",
FT_UINT32, BASE_DEC, VALS(h501_UsageIndicationRejectionReason_vals), 0,
"UsageIndicationRejectionReason", HFILL }},
{ &hf_h501_unknownCall,
{ "unknownCall", "h501.unknownCall_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_incomplete,
{ "incomplete", "h501.incomplete_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_accessToken,
{ "accessToken", "h501.accessToken",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_OF_AccessToken", HFILL }},
{ &hf_h501_accessToken_item,
{ "AccessToken", "h501.AccessToken",
FT_UINT32, BASE_DEC, VALS(h501_AccessToken_vals), 0,
NULL, HFILL }},
{ &hf_h501_reason_07,
{ "reason", "h501.reason",
FT_UINT32, BASE_DEC, VALS(h501_ValidationRejectionReason_vals), 0,
"ValidationRejectionReason", HFILL }},
{ &hf_h501_tokenNotValid,
{ "tokenNotValid", "h501.tokenNotValid_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_missingSourceInfo,
{ "missingSourceInfo", "h501.missingSourceInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_missingDestInfo,
{ "missingDestInfo", "h501.missingDestInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_delay,
{ "delay", "h501.delay",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_65535", HFILL }},
{ &hf_h501_reason_08,
{ "reason", "h501.reason",
FT_UINT32, BASE_DEC, VALS(h501_NonStandardRejectionReason_vals), 0,
"NonStandardRejectionReason", HFILL }},
{ &hf_h501_notSupported,
{ "notSupported", "h501.notSupported_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_unknownMessage,
{ "unknownMessage", "h501.unknownMessage",
FT_BYTES, BASE_NONE, NULL, 0,
"OCTET_STRING", HFILL }},
{ &hf_h501_reason_09,
{ "reason", "h501.reason",
FT_UINT32, BASE_DEC, VALS(h501_UnknownMessageReason_vals), 0,
"UnknownMessageReason", HFILL }},
{ &hf_h501_notUnderstood,
{ "notUnderstood", "h501.notUnderstood_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_applicationMessage,
{ "applicationMessage", "h501.applicationMessage",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_reason_10,
{ "reason", "h501.reason",
FT_UINT32, BASE_DEC, VALS(h501_AuthenticationRejectionReason_vals), 0,
"AuthenticationRejectionReason", HFILL }},
{ &hf_h501_securityWrongSyncTime,
{ "securityWrongSyncTime", "h501.securityWrongSyncTime_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_securityReplay,
{ "securityReplay", "h501.securityReplay_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_securityWrongGeneralID,
{ "securityWrongGeneralID", "h501.securityWrongGeneralID_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_securityWrongSendersID,
{ "securityWrongSendersID", "h501.securityWrongSendersID_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_securityIntegrityFailed,
{ "securityIntegrityFailed", "h501.securityIntegrityFailed_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_securityWrongOID,
{ "securityWrongOID", "h501.securityWrongOID_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_pattern,
{ "pattern", "h501.pattern",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_OF_Pattern", HFILL }},
{ &hf_h501_pattern_item,
{ "Pattern", "h501.Pattern",
FT_UINT32, BASE_DEC, VALS(h501_Pattern_vals), 0,
NULL, HFILL }},
{ &hf_h501_routeInfo,
{ "routeInfo", "h501.routeInfo",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_OF_RouteInformation", HFILL }},
{ &hf_h501_routeInfo_item,
{ "RouteInformation", "h501.RouteInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_specific,
{ "specific", "h501.specific",
FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
"AliasAddress", HFILL }},
{ &hf_h501_wildcard,
{ "wildcard", "h501.wildcard",
FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
"AliasAddress", HFILL }},
{ &hf_h501_range,
{ "range", "h501.range_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_startOfRange,
{ "startOfRange", "h501.startOfRange",
FT_UINT32, BASE_DEC, VALS(h225_PartyNumber_vals), 0,
"PartyNumber", HFILL }},
{ &hf_h501_endOfRange,
{ "endOfRange", "h501.endOfRange",
FT_UINT32, BASE_DEC, VALS(h225_PartyNumber_vals), 0,
"PartyNumber", HFILL }},
{ &hf_h501_messageType,
{ "messageType", "h501.messageType",
FT_UINT32, BASE_DEC, VALS(h501_T_messageType_vals), 0,
NULL, HFILL }},
{ &hf_h501_sendAccessRequest,
{ "sendAccessRequest", "h501.sendAccessRequest_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_sendSetup,
{ "sendSetup", "h501.sendSetup_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_nonExistent,
{ "nonExistent", "h501.nonExistent_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_callSpecific,
{ "callSpecific", "h501.callSpecific",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_h501_priceInfo,
{ "priceInfo", "h501.priceInfo",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_OF_PriceInfoSpec", HFILL }},
{ &hf_h501_priceInfo_item,
{ "PriceInfoSpec", "h501.PriceInfoSpec_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_contacts,
{ "contacts", "h501.contacts",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_OF_ContactInformation", HFILL }},
{ &hf_h501_contacts_item,
{ "ContactInformation", "h501.ContactInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_type,
{ "type", "h501.type_element",
FT_NONE, BASE_NONE, NULL, 0,
"EndpointType", HFILL }},
{ &hf_h501_circuitID,
{ "circuitID", "h501.circuitID_element",
FT_NONE, BASE_NONE, NULL, 0,
"CircuitInfo", HFILL }},
{ &hf_h501_supportedCircuits,
{ "supportedCircuits", "h501.supportedCircuits",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_OF_CircuitIdentifier", HFILL }},
{ &hf_h501_supportedCircuits_item,
{ "CircuitIdentifier", "h501.CircuitIdentifier_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_transportAddress,
{ "transportAddress", "h501.transportAddress",
FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
"AliasAddress", HFILL }},
{ &hf_h501_priority,
{ "priority", "h501.priority",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_127", HFILL }},
{ &hf_h501_transportQoS,
{ "transportQoS", "h501.transportQoS",
FT_UINT32, BASE_DEC, VALS(h225_TransportQOS_vals), 0,
NULL, HFILL }},
{ &hf_h501_security_01,
{ "security", "h501.security",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_OF_SecurityMode", HFILL }},
{ &hf_h501_security_item,
{ "SecurityMode", "h501.SecurityMode_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_multipleCalls,
{ "multipleCalls", "h501.multipleCalls",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_h501_currency,
{ "currency", "h501.currency",
FT_STRING, BASE_NONE, NULL, 0,
"IA5String_SIZE_3", HFILL }},
{ &hf_h501_currencyScale,
{ "currencyScale", "h501.currencyScale",
FT_INT32, BASE_DEC, NULL, 0,
"INTEGER_M127_127", HFILL }},
{ &hf_h501_validFrom,
{ "validFrom", "h501.validFrom",
FT_STRING, BASE_NONE, NULL, 0,
"GlobalTimeStamp", HFILL }},
{ &hf_h501_validUntil,
{ "validUntil", "h501.validUntil",
FT_STRING, BASE_NONE, NULL, 0,
"GlobalTimeStamp", HFILL }},
{ &hf_h501_hoursFrom,
{ "hoursFrom", "h501.hoursFrom",
FT_STRING, BASE_NONE, NULL, 0,
"IA5String_SIZE_6", HFILL }},
{ &hf_h501_hoursUntil,
{ "hoursUntil", "h501.hoursUntil",
FT_STRING, BASE_NONE, NULL, 0,
"IA5String_SIZE_6", HFILL }},
{ &hf_h501_priceElement,
{ "priceElement", "h501.priceElement",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_OF_PriceElement", HFILL }},
{ &hf_h501_priceElement_item,
{ "PriceElement", "h501.PriceElement_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_priceFormula,
{ "priceFormula", "h501.priceFormula",
FT_STRING, BASE_NONE, NULL, 0,
"IA5String_SIZE_1_2048", HFILL }},
{ &hf_h501_amount,
{ "amount", "h501.amount",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_4294967295", HFILL }},
{ &hf_h501_quantum,
{ "quantum", "h501.quantum",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_4294967295", HFILL }},
{ &hf_h501_units,
{ "units", "h501.units",
FT_UINT32, BASE_DEC, VALS(h501_T_units_vals), 0,
NULL, HFILL }},
{ &hf_h501_seconds,
{ "seconds", "h501.seconds_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_packets,
{ "packets", "h501.packets_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_bytes,
{ "bytes", "h501.bytes_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_initial,
{ "initial", "h501.initial_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_minimum,
{ "minimum", "h501.minimum_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_maximum,
{ "maximum", "h501.maximum_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_descriptorInfo_02,
{ "descriptorInfo", "h501.descriptorInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_gatekeeperID,
{ "gatekeeperID", "h501.gatekeeperID",
FT_STRING, BASE_NONE, NULL, 0,
"GatekeeperIdentifier", HFILL }},
{ &hf_h501_lastChanged,
{ "lastChanged", "h501.lastChanged",
FT_STRING, BASE_NONE, NULL, 0,
"GlobalTimeStamp", HFILL }},
{ &hf_h501_alternatePE,
{ "alternatePE", "h501.alternatePE",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_OF_AlternatePE", HFILL }},
{ &hf_h501_alternatePE_item,
{ "AlternatePE", "h501.AlternatePE_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_alternateIsPermanent,
{ "alternateIsPermanent", "h501.alternateIsPermanent",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_h501_contactAddress,
{ "contactAddress", "h501.contactAddress",
FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
"AliasAddress", HFILL }},
{ &hf_h501_priority_01,
{ "priority", "h501.priority",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_127", HFILL }},
{ &hf_h501_token,
{ "token", "h501.token_element",
FT_NONE, BASE_NONE, NULL, 0,
"ClearToken", HFILL }},
{ &hf_h501_cryptoToken,
{ "cryptoToken", "h501.cryptoToken",
FT_UINT32, BASE_DEC, VALS(h225_CryptoH323Token_vals), 0,
"CryptoH323Token", HFILL }},
{ &hf_h501_genericData_01,
{ "genericData", "h501.genericData_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_callIdentifier,
{ "callIdentifier", "h501.callIdentifier_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_conferenceID,
{ "conferenceID", "h501.conferenceID",
FT_GUID, BASE_NONE, NULL, 0,
"ConferenceIdentifier", HFILL }},
{ &hf_h501_preConnect,
{ "preConnect", "h501.preConnect_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_callInProgress,
{ "callInProgress", "h501.callInProgress_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_callEnded,
{ "callEnded", "h501.callEnded_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_registrationLost,
{ "registrationLost", "h501.registrationLost_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_userIdentifier,
{ "userIdentifier", "h501.userIdentifier",
FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
"AliasAddress", HFILL }},
{ &hf_h501_userAuthenticator,
{ "userAuthenticator", "h501.userAuthenticator",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_OF_CryptoH323Token", HFILL }},
{ &hf_h501_userAuthenticator_item,
{ "CryptoH323Token", "h501.CryptoH323Token",
FT_UINT32, BASE_DEC, VALS(h225_CryptoH323Token_vals), 0,
NULL, HFILL }},
{ &hf_h501_sendTo,
{ "sendTo", "h501.sendTo",
FT_STRING, BASE_NONE, NULL, 0,
"ElementIdentifier", HFILL }},
{ &hf_h501_when,
{ "when", "h501.when_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_never,
{ "never", "h501.never_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_start,
{ "start", "h501.start_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_end,
{ "end", "h501.end_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_period,
{ "period", "h501.period",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_65535", HFILL }},
{ &hf_h501_failures,
{ "failures", "h501.failures_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_required,
{ "required", "h501.required",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_h501_required_item,
{ "required item", "h501.required_item",
FT_OID, BASE_NONE, NULL, 0,
"OBJECT_IDENTIFIER", HFILL }},
{ &hf_h501_preferred,
{ "preferred", "h501.preferred",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_h501_preferred_item,
{ "preferred item", "h501.preferred_item",
FT_OID, BASE_NONE, NULL, 0,
"OBJECT_IDENTIFIER", HFILL }},
{ &hf_h501_sendToPEAddress,
{ "sendToPEAddress", "h501.sendToPEAddress",
FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
"AliasAddress", HFILL }},
{ &hf_h501_logicalAddresses,
{ "logicalAddresses", "h501.logicalAddresses",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_OF_AliasAddress", HFILL }},
{ &hf_h501_logicalAddresses_item,
{ "AliasAddress", "h501.AliasAddress",
FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
NULL, HFILL }},
{ &hf_h501_endpointType,
{ "endpointType", "h501.endpointType_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_userInfo,
{ "userInfo", "h501.userInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
"UserInformation", HFILL }},
{ &hf_h501_timeZone,
{ "timeZone", "h501.timeZone",
FT_INT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_h501_originator,
{ "originator", "h501.originator_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_destination,
{ "destination", "h501.destination_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_h501_nonStandardData,
{ "nonStandardData", "h501.nonStandardData_element",
FT_NONE, BASE_NONE, NULL, 0,
"NonStandardParameter", HFILL }},
{ &hf_h501_releaseCompleteReason,
{ "releaseCompleteReason", "h501.releaseCompleteReason",
FT_UINT32, BASE_DEC, VALS(h225_ReleaseCompleteReason_vals), 0,
NULL, HFILL }},
{ &hf_h501_causeIE,
{ "causeIE", "h501.causeIE",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_65535", HFILL }},
/*--- End of included file: packet-h501-hfarr.c ---*/
#line 96 "./asn1/h501/packet-h501-template.c"
};
/* List of subtrees */
static gint *ett[] = {
&ett_h501,
/*--- Included file: packet-h501-ettarr.c ---*/
#line 1 "./asn1/h501/packet-h501-ettarr.c"
&ett_h501_Message,
&ett_h501_MessageBody,
&ett_h501_MessageCommonInfo,
&ett_h501_SEQUENCE_OF_TransportAddress,
&ett_h501_SEQUENCE_OF_ClearToken,
&ett_h501_SEQUENCE_OF_CryptoH323Token,
&ett_h501_SEQUENCE_OF_NonStandardParameter,
&ett_h501_SEQUENCE_OF_GenericData,
&ett_h501_ServiceRequest,
&ett_h501_SEQUENCE_OF_SecurityMode,
&ett_h501_SecurityMode,
&ett_h501_T_algorithmOIDs,
&ett_h501_ServiceConfirmation,
&ett_h501_ServiceRejection,
&ett_h501_ServiceRejectionReason,
&ett_h501_ServiceRelease,
&ett_h501_ServiceReleaseReason,
&ett_h501_DescriptorRequest,
&ett_h501_SEQUENCE_OF_DescriptorID,
&ett_h501_DescriptorConfirmation,
&ett_h501_SEQUENCE_OF_Descriptor,
&ett_h501_DescriptorRejection,
&ett_h501_DescriptorRejectionReason,
&ett_h501_DescriptorIDRequest,
&ett_h501_DescriptorIDConfirmation,
&ett_h501_SEQUENCE_OF_DescriptorInfo,
&ett_h501_DescriptorIDRejection,
&ett_h501_DescriptorIDRejectionReason,
&ett_h501_DescriptorUpdate,
&ett_h501_SEQUENCE_OF_UpdateInformation,
&ett_h501_UpdateInformation,
&ett_h501_T_descriptorInfo,
&ett_h501_T_updateType,
&ett_h501_DescriptorUpdateAck,
&ett_h501_AccessRequest,
&ett_h501_SEQUENCE_OF_SupportedProtocols,
&ett_h501_AccessConfirmation,
&ett_h501_SEQUENCE_OF_AddressTemplate,
&ett_h501_SEQUENCE_OF_ServiceControlSession,
&ett_h501_AccessRejection,
&ett_h501_AccessRejectionReason,
&ett_h501_UsageRequest,
&ett_h501_UsageConfirmation,
&ett_h501_UsageRejection,
&ett_h501_UsageIndication,
&ett_h501_SEQUENCE_OF_AccessToken,
&ett_h501_SEQUENCE_OF_UsageField,
&ett_h501_UsageField,
&ett_h501_UsageRejectReason,
&ett_h501_UsageIndicationConfirmation,
&ett_h501_UsageIndicationRejection,
&ett_h501_UsageIndicationRejectionReason,
&ett_h501_ValidationRequest,
&ett_h501_ValidationConfirmation,
&ett_h501_ValidationRejection,
&ett_h501_ValidationRejectionReason,
&ett_h501_RequestInProgress,
&ett_h501_NonStandardRequest,
&ett_h501_NonStandardConfirmation,
&ett_h501_NonStandardRejection,
&ett_h501_NonStandardRejectionReason,
&ett_h501_UnknownMessageResponse,
&ett_h501_UnknownMessageReason,
&ett_h501_AuthenticationRequest,
&ett_h501_AuthenticationConfirmation,
&ett_h501_AuthenticationRejection,
&ett_h501_AuthenticationRejectionReason,
&ett_h501_AddressTemplate,
&ett_h501_SEQUENCE_OF_Pattern,
&ett_h501_SEQUENCE_OF_RouteInformation,
&ett_h501_Pattern,
&ett_h501_T_range,
&ett_h501_RouteInformation,
&ett_h501_T_messageType,
&ett_h501_SEQUENCE_OF_PriceInfoSpec,
&ett_h501_SEQUENCE_OF_ContactInformation,
&ett_h501_SEQUENCE_OF_CircuitIdentifier,
&ett_h501_ContactInformation,
&ett_h501_PriceInfoSpec,
&ett_h501_SEQUENCE_OF_PriceElement,
&ett_h501_PriceElement,
&ett_h501_T_units,
&ett_h501_Descriptor,
&ett_h501_DescriptorInfo,
&ett_h501_AlternatePEInfo,
&ett_h501_SEQUENCE_OF_AlternatePE,
&ett_h501_AlternatePE,
&ett_h501_AccessToken,
&ett_h501_CallInformation,
&ett_h501_UsageCallStatus,
&ett_h501_UserInformation,
&ett_h501_UsageSpecification,
&ett_h501_T_when,
&ett_h501_T_required,
&ett_h501_T_preferred,
&ett_h501_PartyInformation,
&ett_h501_SEQUENCE_OF_AliasAddress,
&ett_h501_Role,
&ett_h501_TerminationCause,
/*--- End of included file: packet-h501-ettarr.c ---*/
#line 102 "./asn1/h501/packet-h501-template.c"
};
/* Register protocol */
proto_h501 = proto_register_protocol(PNAME, PSNAME, PFNAME);
/* Register fields and subtrees */
proto_register_field_array(proto_h501, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
h501_pdu_handle = register_dissector(PFNAME, dissect_h501_pdu, proto_h501);
h501_module = prefs_register_protocol(proto_h501, NULL);
prefs_register_bool_preference(h501_module, "desegment",
"Desegment H.501 over TCP",
"Desegment H.501 messages that span more TCP segments",
&h501_desegment_tcp);
}
/*--- proto_reg_handoff_h501 -------------------------------------------*/
void proto_reg_handoff_h501(void)
{
dissector_handle_t h501_udp_handle;
dissector_handle_t h501_tcp_handle;
h501_udp_handle = create_dissector_handle(dissect_h501_udp, proto_h501);
h501_tcp_handle = create_dissector_handle(dissect_h501_tcp, proto_h501);
dissector_add_uint_with_preference("tcp.port", H501_PORT, h501_tcp_handle);
dissector_add_uint_with_preference("udp.port", H501_PORT, h501_udp_handle);
}