/* Do not modify this file. Changes will be overwritten. */ /* Generated automatically by the ASN.1 to Wireshark dissector compiler */ /* packet-h245.c */ /* asn2wrs.py -q -L -p h245 -c ./h245.cnf -s ./packet-h245-template -D . -O ../.. MULTIMEDIA-SYSTEM-CONTROL.asn */ /* packet-h245_asn1.c * Routines for h245 packet dissection * Copyright 2004, Anders Broman * * Wireshark - Network traffic analyzer * By Gerald Combs * Copyright 1998 Gerald Combs * * SPDX-License-Identifier: GPL-2.0-or-later * * To quote the author of the previous H245 dissector: * "This is a complete replacement of the previous limitied dissector * that Ronnie was crazy enough to write by hand. It was a lot of time * to hack it by hand, but it is incomplete and buggy and it is good when * it will go away." * Ronnie did a great job and all the VoIP users had made good use of it! * Credit to Tomas Kukosa for developing the asn2wrs compiler. * */ #include "config.h" #include #include #include #include #include #include #include #include #include #include #include #include #include "packet-tpkt.h" #include "packet-per.h" #include "packet-h323.h" #include "packet-h245.h" #include "packet-rtp.h" #include "packet-rtcp.h" #include "packet-t38.h" #define PNAME "MULTIMEDIA-SYSTEM-CONTROL" #define PSNAME "H.245" #define PFNAME "h245" void proto_register_h245(void); void proto_reg_handoff_h245(void); static dissector_handle_t rtcp_handle; static dissector_table_t nsp_object_dissector_table; static dissector_table_t nsp_h221_dissector_table; static dissector_table_t gef_name_dissector_table; static dissector_table_t gef_content_dissector_table; static dissector_handle_t h245_handle; static dissector_handle_t nsp_handle; static dissector_handle_t data_handle; static dissector_handle_t MultimediaSystemControlMessage_handle; static dissector_handle_t h263_handle; static dissector_handle_t amr_handle; static void init_h245_packet_info(h245_packet_info *pi); static int hf_h245_pdu_type; static int hf_h245Manufacturer; static int hf_h245_subMessageIdentifier_standard; static int h245_tap; static int h245dg_tap; static int hf_h245_debug_dissector_try_string; h245_packet_info *h245_pi=NULL; static bool h245_reassembly = true; static bool h245_shorttypes; static bool info_col_fmt_prepend; typedef enum _AudioCapability_enum { AudioCapability_nonStandard = 0, AudioCapability_g711Alaw64k = 1, AudioCapability_g711Alaw56k = 2, AudioCapability_g711Ulaw64k = 3, AudioCapability_g711Ulaw56k = 4, AudioCapability_g722_64k = 5, AudioCapability_g722_56k = 6, AudioCapability_g722_48k = 7, AudioCapability_g7231 = 8, AudioCapability_g728 = 9, AudioCapability_g729 = 10, AudioCapability_g729AnnexA = 11, AudioCapability_is11172AudioCapability = 12, AudioCapability_is13818AudioCapability = 13, AudioCapability_g729wAnnexB = 14, AudioCapability_g729AnnexAwAnnexB = 15, AudioCapability_g7231AnnexCCapability = 16, AudioCapability_gsmFullRate = 17, AudioCapability_gsmHalfRate = 18, AudioCapability_gsmEnhancedFullRate = 19, AudioCapability_genericAudioCapability = 20, AudioCapability_g729Extensions = 21, AudioCapability_vbd = 22, AudioCapability_audioTelephonyEvent = 23, AudioCapability_audioTone = 24 } AudioCapability_enum; typedef enum _RequestMessage_enum { RequestMessage_nonStandard = 0, RequestMessage_masterSlaveDetermination = 1, RequestMessage_terminalCapabilitySet = 2, RequestMessage_openLogicalChannel = 3, RequestMessage_closeLogicalChannel = 4, RequestMessage_requestChannelClose = 5, RequestMessage_multiplexEntrySend = 6, RequestMessage_requestMultiplexEntry = 7, RequestMessage_requestMode = 8, RequestMessage_roundTripDelayRequest = 9, RequestMessage_maintenanceLoopRequest = 10, RequestMessage_communicationModeRequest = 11, RequestMessage_conferenceRequest = 12, RequestMessage_multilinkRequest = 13, RequestMessage_logicalChannelRateRequest = 14, RequestMessage_genericRequest = 15 } RequestMessage_enum; typedef enum _ResponseMessage_enum { ResponseMessage_nonStandard = 0, ResponseMessage_masterSlaveDeterminationAck = 1, ResponseMessage_masterSlaveDeterminationReject = 2, ResponseMessage_terminalCapabilitySetAck = 3, ResponseMessage_terminalCapabilitySetReject = 4, ResponseMessage_openLogicalChannelAck = 5, ResponseMessage_openLogicalChannelReject = 6, ResponseMessage_closeLogicalChannelAck = 7, ResponseMessage_requestChannelCloseAck = 8, ResponseMessage_requestChannelCloseReject = 9, ResponseMessage_multiplexEntrySendAck = 10, ResponseMessage_multiplexEntrySendReject = 11, ResponseMessage_requestMultiplexEntryAck = 12, ResponseMessage_requestMultiplexEntryReject = 13, ResponseMessage_requestModeAck = 14, ResponseMessage_requestModeReject = 15, ResponseMessage_roundTripDelayResponse = 16, ResponseMessage_maintenanceLoopAck = 17, ResponseMessage_maintenanceLoopReject = 18, ResponseMessage_communicationModeResponse = 19, ResponseMessage_conferenceResponse = 20, ResponseMessage_multilinkResponse = 21, ResponseMessage_logicalChannelRateAcknowledge = 22, ResponseMessage_logicalChannelRateReject = 23, ResponseMessage_genericResponse = 24 } ResponseMessage_enum; typedef enum _CommandMessage_enum { CommandMessage_nonStandard = 0, CommandMessage_maintenanceLoopOffCommand = 1, CommandMessage_sendTerminalCapabilitySet = 2, CommandMessage_encryptionCommand = 3, CommandMessage_flowControlCommand = 4, CommandMessage_endSessionCommand = 5, CommandMessage_miscellaneousCommand = 6, CommandMessage_communicationModeCommand = 7, CommandMessage_conferenceCommand = 8, CommandMessage_h223MultiplexReconfiguration = 9, CommandMessage_newATMVCCommand = 10, CommandMessage_mobileMultilinkReconfigurationCommand = 11, CommandMessage_genericCommand = 12 } CommandMessage_enum; typedef enum _IndicationMessage_enum { IndicationMessage_nonStandard = 0, IndicationMessage_functionNotUnderstood = 1, IndicationMessage_masterSlaveDeterminationRelease = 2, IndicationMessage_terminalCapabilitySetRelease = 3, IndicationMessage_openLogicalChannelConfirm = 4, IndicationMessage_requestChannelCloseRelease = 5, IndicationMessage_multiplexEntrySendRelease = 6, IndicationMessage_requestMultiplexEntryRelease = 7, IndicationMessage_requestModeRelease = 8, IndicationMessage_miscellaneousIndication = 9, IndicationMessage_jitterIndication = 10, IndicationMessage_h223SkewIndication = 11, IndicationMessage_newATMVCIndication = 12, IndicationMessage_userInput = 13, IndicationMessage_h2250MaximumSkewIndication = 14, IndicationMessage_mcLocationIndication = 15, IndicationMessage_conferenceIndication = 16, IndicationMessage_vendorIdentification = 17, IndicationMessage_functionNotSupported = 18, IndicationMessage_multilinkIndication = 19, IndicationMessage_logicalChannelRateRelease = 20, IndicationMessage_flowControlIndication = 21, IndicationMessage_mobileMultilinkReconfigurationIndication = 22, IndicationMessage_genericIndication = 23 } IndicationMessage_enum; static const value_string h245_RequestMessage_short_vals[] = { { RequestMessage_nonStandard , "NSM" }, { RequestMessage_masterSlaveDetermination , "MSD" }, { RequestMessage_terminalCapabilitySet , "TCS" }, { RequestMessage_openLogicalChannel , "OLC" }, { RequestMessage_closeLogicalChannel , "CLC" }, { RequestMessage_requestChannelClose , "RCC" }, { RequestMessage_multiplexEntrySend , "MES" }, { RequestMessage_requestMultiplexEntry , "RME" }, { RequestMessage_requestMode , "RM" }, { RequestMessage_roundTripDelayRequest , "RTDR" }, { RequestMessage_maintenanceLoopRequest , "MLR" }, { RequestMessage_communicationModeRequest , "CMR" }, { RequestMessage_conferenceRequest , "CR" }, { RequestMessage_multilinkRequest , "MR" }, { RequestMessage_logicalChannelRateRequest, "LCRR" }, { RequestMessage_genericRequest , "GR" }, { 0, NULL } }; static const value_string h245_ResponseMessage_short_vals[] = { { ResponseMessage_nonStandard , "NSM" }, { ResponseMessage_masterSlaveDeterminationAck , "MSDAck" }, { ResponseMessage_masterSlaveDeterminationReject, "MSDReject" }, { ResponseMessage_terminalCapabilitySetAck , "TCSAck" }, { ResponseMessage_terminalCapabilitySetReject , "TCSReject" }, { ResponseMessage_openLogicalChannelAck , "OLCAck" }, { ResponseMessage_openLogicalChannelReject , "OLCReject" }, { ResponseMessage_closeLogicalChannelAck , "CLCAck" }, { ResponseMessage_requestChannelCloseAck , "RCCAck" }, { ResponseMessage_requestChannelCloseReject , "RCCReject" }, { ResponseMessage_multiplexEntrySendAck , "MESAck" }, { ResponseMessage_multiplexEntrySendReject , "MESReject" }, { ResponseMessage_requestMultiplexEntryAck , "RMEAck" }, { ResponseMessage_requestMultiplexEntryReject , "RMEReject" }, { ResponseMessage_requestModeAck , "RMAck" }, { ResponseMessage_requestModeReject , "RMReject" }, { ResponseMessage_roundTripDelayResponse , "RTDResponse" }, { ResponseMessage_maintenanceLoopAck , "MLAck" }, { ResponseMessage_maintenanceLoopReject , "MLReject" }, { ResponseMessage_communicationModeResponse , "CMResponse" }, { ResponseMessage_conferenceResponse , "CResponse" }, { ResponseMessage_multilinkResponse , "MResponse" }, { ResponseMessage_logicalChannelRateAcknowledge , "LCRAck" }, { ResponseMessage_logicalChannelRateReject , "LCRReject" }, { ResponseMessage_genericResponse , "GR" }, { 0, NULL } }; static const value_string h245_IndicationMessage_short_vals[] = { { IndicationMessage_nonStandard , "NSM" }, { IndicationMessage_functionNotUnderstood , "FNU" }, { IndicationMessage_masterSlaveDeterminationRelease , "MSDRelease" }, { IndicationMessage_terminalCapabilitySetRelease , "TCSRelease" }, { IndicationMessage_openLogicalChannelConfirm , "OLCConfirm" }, { IndicationMessage_requestChannelCloseRelease , "RCCRelease" }, { IndicationMessage_multiplexEntrySendRelease , "MESRelease" }, { IndicationMessage_requestMultiplexEntryRelease , "RMERelease" }, { IndicationMessage_requestModeRelease , "RMRelease" }, { IndicationMessage_miscellaneousIndication , "MI" }, { IndicationMessage_jitterIndication , "JI" }, { IndicationMessage_h223SkewIndication , "H223SI" }, { IndicationMessage_newATMVCIndication , "NATMVCI" }, { IndicationMessage_userInput , "UII" }, { IndicationMessage_h2250MaximumSkewIndication , "H2250MSI" }, { IndicationMessage_mcLocationIndication , "MCLI" }, { IndicationMessage_conferenceIndication , "CI" }, { IndicationMessage_vendorIdentification , "VI" }, { IndicationMessage_functionNotSupported , "FNS" }, { IndicationMessage_multilinkIndication , "MultilinkIndication" }, { IndicationMessage_logicalChannelRateRelease , "LCRRelease" }, { IndicationMessage_flowControlIndication , "FCIndication" }, { IndicationMessage_mobileMultilinkReconfigurationIndication, "MMRI" }, { IndicationMessage_genericIndication , "GI" }, { 0, NULL } }; static const value_string h245_CommandMessage_short_vals[] = { { CommandMessage_nonStandard , "NSM" }, { CommandMessage_maintenanceLoopOffCommand , "MLOC" }, { CommandMessage_sendTerminalCapabilitySet , "STCS" }, { CommandMessage_encryptionCommand , "EC" }, { CommandMessage_flowControlCommand , "FCC" }, { CommandMessage_endSessionCommand , "ESC" }, { CommandMessage_miscellaneousCommand , "MC" }, { CommandMessage_communicationModeCommand , "CMC" }, { CommandMessage_conferenceCommand , "CC" }, { CommandMessage_h223MultiplexReconfiguration , "H223MR" }, { CommandMessage_newATMVCCommand , "NATMVCC" }, { CommandMessage_mobileMultilinkReconfigurationCommand, "MMRC" }, { CommandMessage_genericCommand , "GC" }, { 0, NULL } }; static const value_string h245_AudioCapability_short_vals[] = { { AudioCapability_nonStandard , "nonStd" }, { AudioCapability_g711Alaw64k , "g711A" }, { AudioCapability_g711Alaw56k , "g711A56k" }, { AudioCapability_g711Ulaw64k , "g711U" }, { AudioCapability_g711Ulaw56k , "g711U56k" }, { AudioCapability_g722_64k , "g722-64k" }, { AudioCapability_g722_56k , "g722-56k" }, { AudioCapability_g722_48k , "g722-48k" }, { AudioCapability_g7231 , "g7231" }, { AudioCapability_g728 , "g728" }, { AudioCapability_g729 , "g729" }, { AudioCapability_g729AnnexA , "g729A" }, { AudioCapability_is11172AudioCapability, "is11172" }, { AudioCapability_is13818AudioCapability, "is13818" }, { AudioCapability_g729wAnnexB , "g729B" }, { AudioCapability_g729AnnexAwAnnexB , "g729AB" }, { AudioCapability_g7231AnnexCCapability , "g7231C" }, { AudioCapability_gsmFullRate , "gsmFR" }, { AudioCapability_gsmHalfRate , "gsmHR" }, { AudioCapability_gsmEnhancedFullRate , "gsmEFR" }, { AudioCapability_genericAudioCapability, "generic" }, { AudioCapability_g729Extensions , "g729Ext" }, { AudioCapability_vbd , "vbd" }, { AudioCapability_audioTelephonyEvent , "audioTelEvent" }, { AudioCapability_audioTone , "audioTone" }, { 0, NULL } }; /* To put the codec type only in COL_INFO when an OLC is read */ const char* codec_type; static uint32_t rfc_number; typedef struct _unicast_addr_t { address addr; uint8_t addr_buf[16]; uint32_t port; } unicast_addr_t; typedef struct _channel_info_t { char data_type_str[32]; unicast_addr_t *upcoming_addr; unicast_addr_t media_addr; unicast_addr_t media_control_addr; unsigned int rfc2198; bool srtp_flag; bool is_video; } channel_info_t; typedef struct _olc_info_t { uint16_t fwd_lc_num; channel_info_t fwd_lc; channel_info_t rev_lc; } olc_info_t; static wmem_map_t* h245_pending_olc_reqs; static bool fast_start; static olc_info_t *upcoming_olc; static channel_info_t *upcoming_channel; /* NonStandardParameter */ static const char *nsiOID; static uint32_t h221NonStandard; static uint32_t t35CountryCode; static uint32_t t35Extension; static uint32_t manufacturerCode; static const value_string h245_RFC_number_vals[] = { { 2190, "RFC 2190 - H.263 Video Streams" }, { 2198, "RFC 2198 - RTP Payload for Redundant Audio Data" }, { 2429, "RFC 2429 - 1998 Version of ITU-T Rec. H.263 Video (H.263+)" }, { 3016, "RFC 3016 - RTP Payload Format for MPEG-4 Audio/Visual Streams" }, { 3267, "RFC 3267 - Adaptive Multi-Rate (AMR) and Adaptive Multi-Rate Wideband (AMR-WB)" }, { 3984, "RFC 3984 - RTP Payload Format for H.264 Video" }, { 0, NULL } }; /* Table 7/H.239 subMessageIdentifier values */ static const value_string h245_h239subMessageIdentifier_vals[] = { { 1, "flowControlReleaseRequest" }, { 2, "flowControlReleaseResponse" }, { 3, "presentationTokenRequest" }, { 4, "presentationTokenResponse" }, { 5, "presentationTokenRelease" }, { 6, "presentationTokenIndicateOwner" }, { 0, NULL } }; /* h223 multiplex codes */ static h223_set_mc_handle_t h223_set_mc_handle; h223_mux_element *h223_me=NULL; uint8_t h223_mc=0; void h245_set_h223_set_mc_handle( h223_set_mc_handle_t handle ) { h223_set_mc_handle = handle; } /* h223 logical channels */ typedef struct { h223_lc_params *fw_channel_params; h223_lc_params *rev_channel_params; } h223_pending_olc; static wmem_map_t* h223_pending_olc_reqs[2]; static dissector_handle_t h245_lc_dissector; static uint16_t h245_lc_temp; static uint16_t h223_fw_lc_num; static uint16_t h223_rev_lc_num; static h223_lc_params *h223_lc_params_temp; static h223_lc_params *h223_fw_lc_params; static h223_lc_params *h223_rev_lc_params; static h223_add_lc_handle_t h223_add_lc_handle; static void h223_lc_init( void ) { h223_lc_params_temp = NULL; h245_lc_dissector = NULL; h223_fw_lc_num = 0; } void h245_set_h223_add_lc_handle( h223_add_lc_handle_t handle ) { h223_add_lc_handle = handle; } static const char *gen_olc_key(uint16_t lc_num, address *dst_addr, address *src_addr, wmem_allocator_t *scope) { return wmem_strdup_printf(scope, "%s/%s/%u", address_to_str(scope, dst_addr), address_to_str(scope, src_addr), lc_num); } static void update_unicast_addr(unicast_addr_t *req_addr, unicast_addr_t *ack_addr) { if (ack_addr->addr.type!=AT_NONE && ack_addr->port!=0) { memcpy(req_addr->addr_buf, ack_addr->addr_buf, sizeof(req_addr->addr_buf)); set_address(&req_addr->addr, ack_addr->addr.type, ack_addr->addr.len, req_addr->addr_buf); req_addr->port = ack_addr->port; } } static void h245_setup_channels(packet_info *pinfo, channel_info_t *upcoming_channel_lcl) { rtp_dyn_payload_t *rtp_dyn_payload = NULL; struct srtp_info *dummy_srtp_info = NULL; if (!upcoming_channel_lcl) return; /* T.38 */ if (!strcmp(upcoming_channel_lcl->data_type_str, "t38fax")) { if (upcoming_channel_lcl->media_addr.addr.type!=AT_NONE && upcoming_channel_lcl->media_addr.port!=0) { t38_add_address(pinfo, &upcoming_channel_lcl->media_addr.addr, upcoming_channel_lcl->media_addr.port, 0, "H245", pinfo->num); } return; } /* (S)RTP, (S)RTCP */ if (upcoming_channel_lcl->rfc2198 > 0) { rtp_dyn_payload = rtp_dyn_payload_new(); rtp_dyn_payload_insert(rtp_dyn_payload, upcoming_channel_lcl->rfc2198, "red", 8000, 1); } if (upcoming_channel_lcl->srtp_flag) { dummy_srtp_info = wmem_new0(wmem_file_scope(), struct srtp_info); } /* DEBUG ws_warning("h245_setup_channels media_addr.addr.type %u port %u",upcoming_channel_lcl->media_addr.addr.type, upcoming_channel_lcl->media_addr.port ); */ if (upcoming_channel_lcl->media_addr.addr.type!=AT_NONE && upcoming_channel_lcl->media_addr.port!=0) { srtp_add_address(pinfo, PT_UDP, &upcoming_channel_lcl->media_addr.addr, upcoming_channel_lcl->media_addr.port, 0, "H245", pinfo->num, upcoming_channel_lcl->is_video , rtp_dyn_payload, dummy_srtp_info, NULL); } if (upcoming_channel_lcl->media_control_addr.addr.type!=AT_NONE && upcoming_channel_lcl->media_control_addr.port!=0 && rtcp_handle) { srtcp_add_address(pinfo, &upcoming_channel_lcl->media_control_addr.addr, upcoming_channel_lcl->media_control_addr.port, 0, "H245", pinfo->num, dummy_srtp_info); } } /* Prints formated information column of h245 messages. Note that global variables * "h245_shorttypes" and "info_col_fmt_prepend" are used to decide formating preferences */ static void print_info_column(column_info *cinfo, const int32_t *value, const value_string *msg_vals, const value_string *short_msg_vals) { const value_string *vals; if (h245_shorttypes == false || short_msg_vals == NULL) { vals = msg_vals; } else { vals = short_msg_vals; } if (info_col_fmt_prepend == false) { col_append_fstr(cinfo, COL_INFO, "%s ", val_to_str_const(*value, vals, "")); } else { col_prepend_fstr(cinfo, COL_INFO, "%s ", val_to_str_const(*value, vals, "")); } } /* Initialize the protocol and registered fields */ static int proto_h245; static int hf_h245_OpenLogicalChannel_PDU; /* OpenLogicalChannel */ static int hf_h245_request; /* RequestMessage */ static int hf_h245_response; /* ResponseMessage */ static int hf_h245_command; /* CommandMessage */ static int hf_h245_indication; /* IndicationMessage */ static int hf_h245_nonStandardMsg; /* NonStandardMessage */ static int hf_h245_masterSlaveDetermination; /* MasterSlaveDetermination */ static int hf_h245_terminalCapabilitySet; /* TerminalCapabilitySet */ static int hf_h245_openLogicalChannel; /* OpenLogicalChannel */ static int hf_h245_closeLogicalChannel; /* CloseLogicalChannel */ static int hf_h245_requestChannelClose; /* RequestChannelClose */ static int hf_h245_multiplexEntrySend; /* MultiplexEntrySend */ static int hf_h245_requestMultiplexEntry; /* RequestMultiplexEntry */ static int hf_h245_requestMode; /* RequestMode */ static int hf_h245_roundTripDelayRequest; /* RoundTripDelayRequest */ static int hf_h245_maintenanceLoopRequest; /* MaintenanceLoopRequest */ static int hf_h245_communicationModeRequest; /* CommunicationModeRequest */ static int hf_h245_conferenceRequest; /* ConferenceRequest */ static int hf_h245_multilinkRequest; /* MultilinkRequest */ static int hf_h245_logicalChannelRateRequest; /* LogicalChannelRateRequest */ static int hf_h245_genericRequest; /* GenericMessage */ static int hf_h245_masterSlaveDeterminationAck; /* MasterSlaveDeterminationAck */ static int hf_h245_masterSlaveDeterminationReject; /* MasterSlaveDeterminationReject */ static int hf_h245_terminalCapabilitySetAck; /* TerminalCapabilitySetAck */ static int hf_h245_terminalCapabilitySetReject; /* TerminalCapabilitySetReject */ static int hf_h245_openLogicalChannelAck; /* OpenLogicalChannelAck */ static int hf_h245_openLogicalChannelReject; /* OpenLogicalChannelReject */ static int hf_h245_closeLogicalChannelAck; /* CloseLogicalChannelAck */ static int hf_h245_requestChannelCloseAck; /* RequestChannelCloseAck */ static int hf_h245_requestChannelCloseReject; /* RequestChannelCloseReject */ static int hf_h245_multiplexEntrySendAck; /* MultiplexEntrySendAck */ static int hf_h245_multiplexEntrySendReject; /* MultiplexEntrySendReject */ static int hf_h245_requestMultiplexEntryAck; /* RequestMultiplexEntryAck */ static int hf_h245_requestMultiplexEntryReject; /* RequestMultiplexEntryReject */ static int hf_h245_requestModeAck; /* RequestModeAck */ static int hf_h245_requestModeReject; /* RequestModeReject */ static int hf_h245_roundTripDelayResponse; /* RoundTripDelayResponse */ static int hf_h245_maintenanceLoopAck; /* MaintenanceLoopAck */ static int hf_h245_maintenanceLoopReject; /* MaintenanceLoopReject */ static int hf_h245_communicationModeResponse; /* CommunicationModeResponse */ static int hf_h245_conferenceResponse; /* ConferenceResponse */ static int hf_h245_multilinkResponse; /* MultilinkResponse */ static int hf_h245_logicalChannelRateAcknowledge; /* LogicalChannelRateAcknowledge */ static int hf_h245_logicalChannelRateReject; /* LogicalChannelRateReject */ static int hf_h245_genericResponse; /* GenericMessage */ static int hf_h245_maintenanceLoopOffCommand; /* MaintenanceLoopOffCommand */ static int hf_h245_sendTerminalCapabilitySet; /* SendTerminalCapabilitySet */ static int hf_h245_encryptionCommand; /* EncryptionCommand */ static int hf_h245_flowControlCommand; /* FlowControlCommand */ static int hf_h245_endSessionCommand; /* EndSessionCommand */ static int hf_h245_miscellaneousCommand; /* MiscellaneousCommand */ static int hf_h245_communicationModeCommand; /* CommunicationModeCommand */ static int hf_h245_conferenceCommand; /* ConferenceCommand */ static int hf_h245_h223MultiplexReconfiguration; /* H223MultiplexReconfiguration */ static int hf_h245_newATMVCCommand; /* NewATMVCCommand */ static int hf_h245_mobileMultilinkReconfigurationCommand; /* MobileMultilinkReconfigurationCommand */ static int hf_h245_genericCommand; /* GenericMessage */ static int hf_h245_functionNotUnderstood; /* FunctionNotUnderstood */ static int hf_h245_masterSlaveDeterminationRelease; /* MasterSlaveDeterminationRelease */ static int hf_h245_terminalCapabilitySetRelease; /* TerminalCapabilitySetRelease */ static int hf_h245_openLogicalChannelConfirm; /* OpenLogicalChannelConfirm */ static int hf_h245_requestChannelCloseRelease; /* RequestChannelCloseRelease */ static int hf_h245_multiplexEntrySendRelease; /* MultiplexEntrySendRelease */ static int hf_h245_requestMultiplexEntryRelease; /* RequestMultiplexEntryRelease */ static int hf_h245_requestModeRelease; /* RequestModeRelease */ static int hf_h245_miscellaneousIndication; /* MiscellaneousIndication */ static int hf_h245_jitterIndication; /* JitterIndication */ static int hf_h245_h223SkewIndication; /* H223SkewIndication */ static int hf_h245_newATMVCIndication; /* NewATMVCIndication */ static int hf_h245_userInput; /* UserInputIndication */ static int hf_h245_h2250MaximumSkewIndication; /* H2250MaximumSkewIndication */ static int hf_h245_mcLocationIndication; /* MCLocationIndication */ static int hf_h245_conferenceIndication; /* ConferenceIndication */ static int hf_h245_vendorIdentification; /* VendorIdentification */ static int hf_h245_functionNotSupported; /* FunctionNotSupported */ static int hf_h245_multilinkIndication; /* MultilinkIndication */ static int hf_h245_logicalChannelRateRelease; /* LogicalChannelRateRelease */ static int hf_h245_flowControlIndication; /* FlowControlIndication */ static int hf_h245_mobileMultilinkReconfigurationIndication; /* MobileMultilinkReconfigurationIndication */ static int hf_h245_genericIndication; /* GenericMessage */ static int hf_h245_messageIdentifier; /* CapabilityIdentifier */ static int hf_h245_subMessageIdentifier; /* T_subMessageIdentifier */ static int hf_h245_messageContent; /* T_messageContent */ static int hf_h245_messageContent_item; /* T_messageContent_item */ static int hf_h245_nonStandardData; /* NonStandardParameter */ static int hf_h245_nonStandardIdentifier; /* NonStandardIdentifier */ static int hf_h245_nsd_data; /* T_nsd_data */ static int hf_h245_object; /* T_object */ static int hf_h245_h221NonStandardID; /* H221NonStandardID */ static int hf_h245_t35CountryCode; /* T_t35CountryCode */ static int hf_h245_t35Extension; /* T_t35Extension */ static int hf_h245_manufacturerCode; /* T_manufacturerCode */ static int hf_h245_terminalType; /* INTEGER_0_255 */ static int hf_h245_statusDeterminationNumber; /* INTEGER_0_16777215 */ static int hf_h245_decision; /* T_decision */ static int hf_h245_master; /* NULL */ static int hf_h245_slave; /* NULL */ static int hf_h245_msd_rej_cause; /* MasterSlaveDeterminationRejectCause */ static int hf_h245_identicalNumbers; /* NULL */ static int hf_h245_sequenceNumber; /* SequenceNumber */ static int hf_h245_protocolIdentifier; /* OBJECT_IDENTIFIER */ static int hf_h245_multiplexCapability; /* MultiplexCapability */ static int hf_h245_capabilityTable; /* SET_SIZE_1_256_OF_CapabilityTableEntry */ static int hf_h245_capabilityTable_item; /* CapabilityTableEntry */ static int hf_h245_capabilityDescriptors; /* SET_SIZE_1_256_OF_CapabilityDescriptor */ static int hf_h245_capabilityDescriptors_item; /* CapabilityDescriptor */ static int hf_h245_genericInformation; /* SEQUENCE_OF_GenericInformation */ static int hf_h245_genericInformation_item; /* GenericInformation */ static int hf_h245_capabilityTableEntryNumber; /* CapabilityTableEntryNumber */ static int hf_h245_capability; /* Capability */ static int hf_h245_capabilityDescriptorNumber; /* CapabilityDescriptorNumber */ static int hf_h245_simultaneousCapabilities; /* SET_SIZE_1_256_OF_AlternativeCapabilitySet */ static int hf_h245_simultaneousCapabilities_item; /* AlternativeCapabilitySet */ static int hf_h245_AlternativeCapabilitySet_item; /* CapabilityTableEntryNumber */ static int hf_h245_tcs_rej_cause; /* TerminalCapabilitySetRejectCause */ static int hf_h245_unspecified; /* NULL */ static int hf_h245_undefinedTableEntryUsed; /* NULL */ static int hf_h245_descriptorCapacityExceeded; /* NULL */ static int hf_h245_tableEntryCapacityExceeded; /* T_tableEntryCapacityExceeded */ static int hf_h245_highestEntryNumberProcessed; /* CapabilityTableEntryNumber */ static int hf_h245_noneProcessed; /* NULL */ static int hf_h245_nonStandard; /* NonStandardParameter */ static int hf_h245_receiveVideoCapability; /* VideoCapability */ static int hf_h245_transmitVideoCapability; /* VideoCapability */ static int hf_h245_receiveAndTransmitVideoCapability; /* VideoCapability */ static int hf_h245_receiveAudioCapability; /* AudioCapability */ static int hf_h245_transmitAudioCapability; /* AudioCapability */ static int hf_h245_receiveAndTransmitAudioCapability; /* AudioCapability */ static int hf_h245_receiveDataApplicationCapability; /* DataApplicationCapability */ static int hf_h245_transmitDataApplicationCapability; /* DataApplicationCapability */ static int hf_h245_receiveAndTransmitDataApplicationCapability; /* DataApplicationCapability */ static int hf_h245_h233EncryptionTransmitCapability; /* BOOLEAN */ static int hf_h245_h233EncryptionReceiveCapability; /* T_h233EncryptionReceiveCapability */ static int hf_h245_h233IVResponseTime; /* INTEGER_0_255 */ static int hf_h245_conferenceCapability; /* ConferenceCapability */ static int hf_h245_h235SecurityCapability; /* H235SecurityCapability */ static int hf_h245_maxPendingReplacementFor; /* INTEGER_0_255 */ static int hf_h245_receiveUserInputCapability; /* UserInputCapability */ static int hf_h245_transmitUserInputCapability; /* UserInputCapability */ static int hf_h245_receiveAndTransmitUserInputCapability; /* UserInputCapability */ static int hf_h245_genericControlCapability; /* GenericCapability */ static int hf_h245_receiveMultiplexedStreamCapability; /* MultiplexedStreamCapability */ static int hf_h245_transmitMultiplexedStreamCapability; /* MultiplexedStreamCapability */ static int hf_h245_receiveAndTransmitMultiplexedStreamCapability; /* MultiplexedStreamCapability */ static int hf_h245_receiveRTPAudioTelephonyEventCapability; /* AudioTelephonyEventCapability */ static int hf_h245_receiveRTPAudioToneCapability; /* AudioToneCapability */ static int hf_h245_depFecCapability; /* DepFECCapability */ static int hf_h245_multiplePayloadStreamCapability; /* MultiplePayloadStreamCapability */ static int hf_h245_fecCapability; /* FECCapability */ static int hf_h245_redundancyEncodingCap; /* RedundancyEncodingCapability */ static int hf_h245_oneOfCapabilities; /* AlternativeCapabilitySet */ static int hf_h245_encryptionAuthenticationAndIntegrity; /* EncryptionAuthenticationAndIntegrity */ static int hf_h245_mediaCapability; /* CapabilityTableEntryNumber */ static int hf_h245_h222Capability; /* H222Capability */ static int hf_h245_h223Capability; /* H223Capability */ static int hf_h245_v76Capability; /* V76Capability */ static int hf_h245_h2250Capability; /* H2250Capability */ static int hf_h245_genericMultiplexCapability; /* GenericCapability */ static int hf_h245_numberOfVCs; /* INTEGER_1_256 */ static int hf_h245_vcCapability; /* SET_OF_VCCapability */ static int hf_h245_vcCapability_item; /* VCCapability */ static int hf_h245_aal1; /* T_aal1 */ static int hf_h245_nullClockRecovery; /* BOOLEAN */ static int hf_h245_srtsClockRecovery_bool; /* BOOLEAN */ static int hf_h245_adaptiveClockRecovery; /* BOOLEAN */ static int hf_h245_nullErrorCorrection; /* BOOLEAN */ static int hf_h245_longInterleaver; /* BOOLEAN */ static int hf_h245_shortInterleaver; /* BOOLEAN */ static int hf_h245_errorCorrectionOnly; /* BOOLEAN */ static int hf_h245_structuredDataTransfer; /* BOOLEAN */ static int hf_h245_partiallyFilledCells; /* BOOLEAN */ static int hf_h245_aal5; /* T_aal5 */ static int hf_h245_forwardMaximumSDUSize; /* INTEGER_0_65535 */ static int hf_h245_backwardMaximumSDUSize; /* INTEGER_0_65535 */ static int hf_h245_transportStream_bool; /* BOOLEAN */ static int hf_h245_programStream; /* BOOLEAN */ static int hf_h245_availableBitRates; /* T_availableBitRates */ static int hf_h245_avb_type; /* Avb_type */ static int hf_h245_singleBitRate; /* INTEGER_1_65535 */ static int hf_h245_rangeOfBitRates; /* T_rangeOfBitRates */ static int hf_h245_lowerBitRate; /* INTEGER_1_65535 */ static int hf_h245_higherBitRate; /* INTEGER_1_65535 */ static int hf_h245_aal1ViaGateway; /* T_aal1ViaGateway */ static int hf_h245_gatewayAddress; /* SET_SIZE_1_256_OF_Q2931Address */ static int hf_h245_gatewayAddress_item; /* Q2931Address */ static int hf_h245_srtsClockRecoveryflag; /* BOOLEAN */ static int hf_h245_transportWithI_frames; /* BOOLEAN */ static int hf_h245_videoWithAL1; /* BOOLEAN */ static int hf_h245_videoWithAL2; /* BOOLEAN */ static int hf_h245_videoWithAL3; /* BOOLEAN */ static int hf_h245_audioWithAL1; /* BOOLEAN */ static int hf_h245_audioWithAL2; /* BOOLEAN */ static int hf_h245_audioWithAL3; /* BOOLEAN */ static int hf_h245_dataWithAL1; /* BOOLEAN */ static int hf_h245_dataWithAL2; /* BOOLEAN */ static int hf_h245_dataWithAL3; /* BOOLEAN */ static int hf_h245_maximumAl2SDUSize; /* INTEGER_0_65535 */ static int hf_h245_maximumAl3SDUSize; /* INTEGER_0_65535 */ static int hf_h245_maximumDelayJitter; /* INTEGER_0_1023 */ static int hf_h245_h223MultiplexTableCapability; /* T_h223MultiplexTableCapability */ static int hf_h245_basic; /* NULL */ static int hf_h245_enhanced; /* T_enhanced */ static int hf_h245_maximumNestingDepth; /* INTEGER_1_15 */ static int hf_h245_maximumElementListSize; /* INTEGER_2_255 */ static int hf_h245_maximumSubElementListSize; /* INTEGER_2_255 */ static int hf_h245_maxMUXPDUSizeCapability; /* BOOLEAN */ static int hf_h245_nsrpSupport; /* BOOLEAN */ static int hf_h245_mobileOperationTransmitCapability; /* T_mobileOperationTransmitCapability */ static int hf_h245_modeChangeCapability; /* BOOLEAN */ static int hf_h245_h223AnnexA; /* BOOLEAN */ static int hf_h245_h223AnnexADoubleFlagFlag; /* BOOLEAN */ static int hf_h245_h223AnnexB; /* BOOLEAN */ static int hf_h245_h223AnnexBwithHeader; /* BOOLEAN */ static int hf_h245_h223AnnexCCapability; /* H223AnnexCCapability */ static int hf_h245_bitRate_1_19200; /* INTEGER_1_19200 */ static int hf_h245_mobileMultilinkFrameCapability; /* T_mobileMultilinkFrameCapability */ static int hf_h245_maximumSampleSize; /* INTEGER_1_255 */ static int hf_h245_maximumPayloadLength; /* INTEGER_1_65025 */ static int hf_h245_videoWithAL1M; /* BOOLEAN */ static int hf_h245_videoWithAL2M; /* BOOLEAN */ static int hf_h245_videoWithAL3M; /* BOOLEAN */ static int hf_h245_audioWithAL1M; /* BOOLEAN */ static int hf_h245_audioWithAL2M; /* BOOLEAN */ static int hf_h245_audioWithAL3M; /* BOOLEAN */ static int hf_h245_dataWithAL1M; /* BOOLEAN */ static int hf_h245_dataWithAL2M; /* BOOLEAN */ static int hf_h245_dataWithAL3M; /* BOOLEAN */ static int hf_h245_alpduInterleaving; /* BOOLEAN */ static int hf_h245_maximumAL1MPDUSize; /* INTEGER_0_65535 */ static int hf_h245_maximumAL2MSDUSize; /* INTEGER_0_65535 */ static int hf_h245_maximumAL3MSDUSize; /* INTEGER_0_65535 */ static int hf_h245_rsCodeCapability; /* BOOLEAN */ static int hf_h245_suspendResumeCapabilitywAddress; /* BOOLEAN */ static int hf_h245_suspendResumeCapabilitywoAddress; /* BOOLEAN */ static int hf_h245_rejCapability; /* BOOLEAN */ static int hf_h245_sREJCapability; /* BOOLEAN */ static int hf_h245_mREJCapability; /* BOOLEAN */ static int hf_h245_crc8bitCapability; /* BOOLEAN */ static int hf_h245_crc16bitCapability; /* BOOLEAN */ static int hf_h245_crc32bitCapability; /* BOOLEAN */ static int hf_h245_uihCapability; /* BOOLEAN */ static int hf_h245_numOfDLCS; /* INTEGER_2_8191 */ static int hf_h245_twoOctetAddressFieldCapability; /* BOOLEAN */ static int hf_h245_loopBackTestCapability; /* BOOLEAN */ static int hf_h245_n401Capability; /* INTEGER_1_4095 */ static int hf_h245_maxWindowSizeCapability; /* INTEGER_1_127 */ static int hf_h245_v75Capability; /* V75Capability */ static int hf_h245_audioHeader; /* BOOLEAN */ static int hf_h245_maximumAudioDelayJitter; /* INTEGER_0_1023 */ static int hf_h245_receiveMultipointCapability; /* MultipointCapability */ static int hf_h245_transmitMultipointCapability; /* MultipointCapability */ static int hf_h245_receiveAndTransmitMultipointCapability; /* MultipointCapability */ static int hf_h245_mcCapability; /* T_mcCapability */ static int hf_h245_centralizedConferenceMC; /* BOOLEAN */ static int hf_h245_decentralizedConferenceMC; /* BOOLEAN */ static int hf_h245_rtcpVideoControlCapability; /* BOOLEAN */ static int hf_h245_mediaPacketizationCapability; /* MediaPacketizationCapability */ static int hf_h245_transportCapability; /* TransportCapability */ static int hf_h245_redundancyEncodingCapability; /* SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability */ static int hf_h245_redundancyEncodingCapability_item; /* RedundancyEncodingCapability */ static int hf_h245_logicalChannelSwitchingCapability; /* BOOLEAN */ static int hf_h245_t120DynamicPortCapability; /* BOOLEAN */ static int hf_h245_h261aVideoPacketization; /* BOOLEAN */ static int hf_h245_rtpPayloadTypes; /* SEQUENCE_SIZE_1_256_OF_RTPPayloadType */ static int hf_h245_rtpPayloadTypes_item; /* RTPPayloadType */ static int hf_h245_qosMode; /* QOSMode */ static int hf_h245_tokenRate; /* INTEGER_1_4294967295 */ static int hf_h245_bucketSize; /* INTEGER_1_4294967295 */ static int hf_h245_peakRate; /* INTEGER_1_4294967295 */ static int hf_h245_minPoliced; /* INTEGER_1_4294967295 */ static int hf_h245_maxPktSize; /* INTEGER_1_4294967295 */ static int hf_h245_guaranteedQOS; /* NULL */ static int hf_h245_controlledLoad; /* NULL */ static int hf_h245_maxNTUSize; /* INTEGER_0_65535 */ static int hf_h245_atmUBR; /* BOOLEAN */ static int hf_h245_atmrtVBR; /* BOOLEAN */ static int hf_h245_atmnrtVBR; /* BOOLEAN */ static int hf_h245_atmABR; /* BOOLEAN */ static int hf_h245_atmCBR; /* BOOLEAN */ static int hf_h245_nonStandardParameter; /* NonStandardParameter */ static int hf_h245_value; /* INTEGER_0_255 */ static int hf_h245_servicePrioritySignalled; /* BOOLEAN */ static int hf_h245_servicePriorityValue; /* ServicePriorityValue */ static int hf_h245_serviceClass; /* INTEGER_0_4095 */ static int hf_h245_serviceSubclass; /* INTEGER_0_255 */ static int hf_h245_desired; /* NULL */ static int hf_h245_required; /* NULL */ static int hf_h245_class0; /* NULL */ static int hf_h245_class1; /* NULL */ static int hf_h245_class2; /* NULL */ static int hf_h245_class3; /* NULL */ static int hf_h245_class4; /* NULL */ static int hf_h245_class5; /* NULL */ static int hf_h245_qosType; /* QOSType */ static int hf_h245_qosClass; /* QOSClass */ static int hf_h245_averageRate; /* INTEGER_1_4294967295 */ static int hf_h245_burst; /* INTEGER_1_4294967295 */ static int hf_h245_rsvpParameters; /* RSVPParameters */ static int hf_h245_atmParameters; /* ATMParameters */ static int hf_h245_localQoS; /* BOOLEAN */ static int hf_h245_genericTransportParameters; /* GenericTransportParameters */ static int hf_h245_servicePriority; /* ServicePriority */ static int hf_h245_authorizationParameter; /* AuthorizationParameters */ static int hf_h245_qosDescriptor; /* QOSDescriptor */ static int hf_h245_dscpValue; /* INTEGER_0_63 */ static int hf_h245_ip_UDP; /* NULL */ static int hf_h245_ip_TCP; /* NULL */ static int hf_h245_atm_AAL5_UNIDIR; /* NULL */ static int hf_h245_atm_AAL5_BIDIR; /* NULL */ static int hf_h245_atm_AAL5_compressed; /* T_atm_AAL5_compressed */ static int hf_h245_variable_delta; /* BOOLEAN */ static int hf_h245_mediaTransport; /* MediaTransportType */ static int hf_h245_qOSCapabilities; /* SEQUENCE_SIZE_1_256_OF_QOSCapability */ static int hf_h245_qOSCapabilities_item; /* QOSCapability */ static int hf_h245_mediaChannelCapabilities; /* SEQUENCE_SIZE_1_256_OF_MediaChannelCapability */ static int hf_h245_mediaChannelCapabilities_item; /* MediaChannelCapability */ static int hf_h245_redundancyEncodingMethod; /* RedundancyEncodingMethod */ static int hf_h245_primaryEncoding; /* CapabilityTableEntryNumber */ static int hf_h245_secondaryEncodingCapability; /* SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber */ static int hf_h245_secondaryEncodingCapability_item; /* CapabilityTableEntryNumber */ static int hf_h245_rtpAudioRedundancyEncoding; /* NULL */ static int hf_h245_rtpH263VideoRedundancyEncoding; /* RTPH263VideoRedundancyEncoding */ static int hf_h245_numberOfThreads; /* INTEGER_1_16 */ static int hf_h245_framesBetweenSyncPoints; /* INTEGER_1_256 */ static int hf_h245_frameToThreadMapping; /* T_frameToThreadMapping */ static int hf_h245_roundrobin; /* NULL */ static int hf_h245_custom; /* SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping */ static int hf_h245_custom_item; /* RTPH263VideoRedundancyFrameMapping */ static int hf_h245_containedThreads; /* T_containedThreads */ static int hf_h245_containedThreads_item; /* INTEGER_0_15 */ static int hf_h245_threadNumber; /* INTEGER_0_15 */ static int hf_h245_frameSequence; /* T_frameSequence */ static int hf_h245_frameSequence_item; /* INTEGER_0_255 */ static int hf_h245_multicastCapability; /* BOOLEAN */ static int hf_h245_multiUniCastConference; /* BOOLEAN */ static int hf_h245_mediaDistributionCapability; /* SEQUENCE_OF_MediaDistributionCapability */ static int hf_h245_mediaDistributionCapability_item; /* MediaDistributionCapability */ static int hf_h245_centralizedControl; /* BOOLEAN */ static int hf_h245_distributedControl; /* BOOLEAN */ static int hf_h245_centralizedAudio; /* BOOLEAN */ static int hf_h245_distributedAudio; /* BOOLEAN */ static int hf_h245_centralizedVideo; /* BOOLEAN */ static int hf_h245_distributedVideo; /* BOOLEAN */ static int hf_h245_centralizedData; /* SEQUENCE_OF_DataApplicationCapability */ static int hf_h245_centralizedData_item; /* DataApplicationCapability */ static int hf_h245_distributedData; /* SEQUENCE_OF_DataApplicationCapability */ static int hf_h245_distributedData_item; /* DataApplicationCapability */ static int hf_h245_h261VideoCapability; /* H261VideoCapability */ static int hf_h245_h262VideoCapability; /* H262VideoCapability */ static int hf_h245_h263VideoCapability; /* H263VideoCapability */ static int hf_h245_is11172VideoCapability; /* IS11172VideoCapability */ static int hf_h245_genericVideoCapability; /* GenericCapability */ static int hf_h245_extendedVideoCapability; /* ExtendedVideoCapability */ static int hf_h245_videoCapability; /* SEQUENCE_OF_VideoCapability */ static int hf_h245_videoCapability_item; /* VideoCapability */ static int hf_h245_videoCapabilityExtension; /* SEQUENCE_OF_GenericCapability */ static int hf_h245_videoCapabilityExtension_item; /* GenericCapability */ static int hf_h245_qcifMPI_1_4; /* INTEGER_1_4 */ static int hf_h245_cifMPI_1_4; /* INTEGER_1_4 */ static int hf_h245_temporalSpatialTradeOffCapability; /* BOOLEAN */ static int hf_h245_maxBitRate_1_19200; /* INTEGER_1_19200 */ static int hf_h245_stillImageTransmission; /* BOOLEAN */ static int hf_h245_videoBadMBsCap; /* BOOLEAN */ static int hf_h245_profileAndLevel_SPatML; /* BOOLEAN */ static int hf_h245_profileAndLevel_MPatLL; /* BOOLEAN */ static int hf_h245_profileAndLevel_MPatML; /* BOOLEAN */ static int hf_h245_profileAndLevel_MPatH_14; /* BOOLEAN */ static int hf_h245_profileAndLevel_MPatHL; /* BOOLEAN */ static int hf_h245_profileAndLevel_SNRatLL; /* BOOLEAN */ static int hf_h245_profileAndLevel_SNRatML; /* BOOLEAN */ static int hf_h245_profileAndLevel_SpatialatH_14; /* BOOLEAN */ static int hf_h245_profileAndLevel_HPatML; /* BOOLEAN */ static int hf_h245_profileAndLevel_HPatH_14; /* BOOLEAN */ static int hf_h245_profileAndLevel_HPatHL; /* BOOLEAN */ static int hf_h245_videoBitRate; /* INTEGER_0_1073741823 */ static int hf_h245_vbvBufferSize; /* INTEGER_0_262143 */ static int hf_h245_samplesPerLine; /* INTEGER_0_16383 */ static int hf_h245_linesPerFrame; /* INTEGER_0_16383 */ static int hf_h245_framesPerSecond; /* INTEGER_0_15 */ static int hf_h245_luminanceSampleRate; /* INTEGER_0_4294967295 */ static int hf_h245_sqcifMPI_1_32; /* INTEGER_1_32 */ static int hf_h245_qcifMPI; /* INTEGER_1_32 */ static int hf_h245_cifMPI; /* INTEGER_1_32 */ static int hf_h245_cif4MPI_1_32; /* INTEGER_1_32 */ static int hf_h245_cif16MPI_1_32; /* INTEGER_1_32 */ static int hf_h245_maxBitRate; /* INTEGER_1_192400 */ static int hf_h245_unrestrictedVector; /* BOOLEAN */ static int hf_h245_arithmeticCoding; /* BOOLEAN */ static int hf_h245_advancedPrediction; /* BOOLEAN */ static int hf_h245_pbFrames; /* BOOLEAN */ static int hf_h245_hrd_B; /* INTEGER_0_524287 */ static int hf_h245_bppMaxKb; /* INTEGER_0_65535 */ static int hf_h245_slowSqcifMPI; /* INTEGER_1_3600 */ static int hf_h245_slowQcifMPI; /* INTEGER_1_3600 */ static int hf_h245_slowCifMPI; /* INTEGER_1_3600 */ static int hf_h245_slowCif4MPI; /* INTEGER_1_3600 */ static int hf_h245_slowCif16MPI; /* INTEGER_1_3600 */ static int hf_h245_errorCompensation; /* BOOLEAN */ static int hf_h245_enhancementLayerInfo; /* EnhancementLayerInfo */ static int hf_h245_h263Options; /* H263Options */ static int hf_h245_baseBitRateConstrained; /* BOOLEAN */ static int hf_h245_snrEnhancement; /* SET_SIZE_1_14_OF_EnhancementOptions */ static int hf_h245_snrEnhancement_item; /* EnhancementOptions */ static int hf_h245_spatialEnhancement; /* SET_SIZE_1_14_OF_EnhancementOptions */ static int hf_h245_spatialEnhancement_item; /* EnhancementOptions */ static int hf_h245_bPictureEnhancement; /* SET_SIZE_1_14_OF_BEnhancementParameters */ static int hf_h245_bPictureEnhancement_item; /* BEnhancementParameters */ static int hf_h245_enhancementOptions; /* EnhancementOptions */ static int hf_h245_numberOfBPictures; /* INTEGER_1_64 */ static int hf_h245_advancedIntraCodingMode; /* BOOLEAN */ static int hf_h245_deblockingFilterMode; /* BOOLEAN */ static int hf_h245_improvedPBFramesMode; /* BOOLEAN */ static int hf_h245_unlimitedMotionVectors; /* BOOLEAN */ static int hf_h245_fullPictureFreeze; /* BOOLEAN */ static int hf_h245_partialPictureFreezeAndRelease; /* BOOLEAN */ static int hf_h245_resizingPartPicFreezeAndRelease; /* BOOLEAN */ static int hf_h245_fullPictureSnapshot; /* BOOLEAN */ static int hf_h245_partialPictureSnapshot; /* BOOLEAN */ static int hf_h245_videoSegmentTagging; /* BOOLEAN */ static int hf_h245_progressiveRefinement; /* BOOLEAN */ static int hf_h245_dynamicPictureResizingByFour; /* BOOLEAN */ static int hf_h245_dynamicPictureResizingSixteenthPel; /* BOOLEAN */ static int hf_h245_dynamicWarpingHalfPel; /* BOOLEAN */ static int hf_h245_dynamicWarpingSixteenthPel; /* BOOLEAN */ static int hf_h245_independentSegmentDecoding; /* BOOLEAN */ static int hf_h245_slicesInOrder_NonRect; /* BOOLEAN */ static int hf_h245_slicesInOrder_Rect; /* BOOLEAN */ static int hf_h245_slicesNoOrder_NonRect; /* BOOLEAN */ static int hf_h245_slicesNoOrder_Rect; /* BOOLEAN */ static int hf_h245_alternateInterVLCMode; /* BOOLEAN */ static int hf_h245_modifiedQuantizationMode; /* BOOLEAN */ static int hf_h245_reducedResolutionUpdate; /* BOOLEAN */ static int hf_h245_transparencyParameters; /* TransparencyParameters */ static int hf_h245_separateVideoBackChannel; /* BOOLEAN */ static int hf_h245_refPictureSelection; /* RefPictureSelection */ static int hf_h245_customPictureClockFrequency; /* SET_SIZE_1_16_OF_CustomPictureClockFrequency */ static int hf_h245_customPictureClockFrequency_item; /* CustomPictureClockFrequency */ static int hf_h245_customPictureFormat; /* SET_SIZE_1_16_OF_CustomPictureFormat */ static int hf_h245_customPictureFormat_item; /* CustomPictureFormat */ static int hf_h245_modeCombos; /* SET_SIZE_1_16_OF_H263VideoModeCombos */ static int hf_h245_modeCombos_item; /* H263VideoModeCombos */ static int hf_h245_h263Version3Options; /* H263Version3Options */ static int hf_h245_presentationOrder; /* INTEGER_1_256 */ static int hf_h245_offset_x; /* INTEGER_M262144_262143 */ static int hf_h245_offset_y; /* INTEGER_M262144_262143 */ static int hf_h245_scale_x; /* INTEGER_1_255 */ static int hf_h245_scale_y; /* INTEGER_1_255 */ static int hf_h245_additionalPictureMemory; /* T_additionalPictureMemory */ static int hf_h245_sqcifAdditionalPictureMemory; /* INTEGER_1_256 */ static int hf_h245_qcifAdditionalPictureMemory; /* INTEGER_1_256 */ static int hf_h245_cifAdditionalPictureMemory; /* INTEGER_1_256 */ static int hf_h245_cif4AdditionalPictureMemory; /* INTEGER_1_256 */ static int hf_h245_cif16AdditionalPictureMemory; /* INTEGER_1_256 */ static int hf_h245_bigCpfAdditionalPictureMemory; /* INTEGER_1_256 */ static int hf_h245_videoMux; /* BOOLEAN */ static int hf_h245_videoBackChannelSend; /* T_videoBackChannelSend */ static int hf_h245_none; /* NULL */ static int hf_h245_ackMessageOnly; /* NULL */ static int hf_h245_nackMessageOnly; /* NULL */ static int hf_h245_ackOrNackMessageOnly; /* NULL */ static int hf_h245_ackAndNackMessage; /* NULL */ static int hf_h245_enhancedReferencePicSelect; /* T_enhancedReferencePicSelect */ static int hf_h245_subPictureRemovalParameters; /* T_subPictureRemovalParameters */ static int hf_h245_mpuHorizMBs; /* INTEGER_1_128 */ static int hf_h245_mpuVertMBs; /* INTEGER_1_72 */ static int hf_h245_mpuTotalNumber; /* INTEGER_1_65536 */ static int hf_h245_clockConversionCode; /* INTEGER_1000_1001 */ static int hf_h245_clockDivisor; /* INTEGER_1_127 */ static int hf_h245_sqcifMPI; /* INTEGER_1_2048 */ static int hf_h245_qcifMPI_1_2048; /* INTEGER_1_2048 */ static int hf_h245_cifMPI2_1_2048; /* INTEGER_1_2048 */ static int hf_h245_cif4MPI; /* INTEGER_1_2048 */ static int hf_h245_cif16MPI; /* INTEGER_1_2048 */ static int hf_h245_maxCustomPictureWidth; /* INTEGER_1_2048 */ static int hf_h245_maxCustomPictureHeight; /* INTEGER_1_2048 */ static int hf_h245_minCustomPictureWidth; /* INTEGER_1_2048 */ static int hf_h245_minCustomPictureHeight; /* INTEGER_1_2048 */ static int hf_h245_mPI; /* T_mPI */ static int hf_h245_standardMPI; /* INTEGER_1_31 */ static int hf_h245_customPCF; /* T_customPCF */ static int hf_h245_customPCF_item; /* T_customPCF_item */ static int hf_h245_customMPI; /* INTEGER_1_2048 */ static int hf_h245_pixelAspectInformation; /* T_pixelAspectInformation */ static int hf_h245_anyPixelAspectRatio; /* BOOLEAN */ static int hf_h245_pixelAspectCode; /* T_pixelAspectCode */ static int hf_h245_pixelAspectCode_item; /* INTEGER_1_14 */ static int hf_h245_extendedPAR; /* T_extendedPAR */ static int hf_h245_extendedPAR_item; /* T_extendedPAR_item */ static int hf_h245_width; /* INTEGER_1_255 */ static int hf_h245_height; /* INTEGER_1_255 */ static int hf_h245_h263VideoUncoupledModes; /* H263ModeComboFlags */ static int hf_h245_h263VideoCoupledModes; /* SET_SIZE_1_16_OF_H263ModeComboFlags */ static int hf_h245_h263VideoCoupledModes_item; /* H263ModeComboFlags */ static int hf_h245_referencePicSelect; /* BOOLEAN */ static int hf_h245_enhancedReferencePicSelectBool; /* BOOLEAN */ static int hf_h245_dataPartitionedSlices; /* BOOLEAN */ static int hf_h245_fixedPointIDCT0; /* BOOLEAN */ static int hf_h245_interlacedFields; /* BOOLEAN */ static int hf_h245_currentPictureHeaderRepetition; /* BOOLEAN */ static int hf_h245_previousPictureHeaderRepetition; /* BOOLEAN */ static int hf_h245_nextPictureHeaderRepetition; /* BOOLEAN */ static int hf_h245_pictureNumberBoolean; /* BOOLEAN */ static int hf_h245_spareReferencePictures; /* BOOLEAN */ static int hf_h245_constrainedBitstream; /* BOOLEAN */ static int hf_h245_pictureRate; /* INTEGER_0_15 */ static int hf_h245_g711Alaw64k; /* INTEGER_1_256 */ static int hf_h245_g711Alaw56k; /* INTEGER_1_256 */ static int hf_h245_g711Ulaw64k; /* INTEGER_1_256 */ static int hf_h245_g711Ulaw56k; /* INTEGER_1_256 */ static int hf_h245_g722_64k; /* INTEGER_1_256 */ static int hf_h245_g722_56k; /* INTEGER_1_256 */ static int hf_h245_g722_48k; /* INTEGER_1_256 */ static int hf_h245_g7231; /* T_g7231 */ static int hf_h245_maxAl_sduAudioFrames; /* INTEGER_1_256 */ static int hf_h245_silenceSuppression; /* BOOLEAN */ static int hf_h245_g728; /* INTEGER_1_256 */ static int hf_h245_g729; /* INTEGER_1_256 */ static int hf_h245_g729AnnexA; /* INTEGER_1_256 */ static int hf_h245_is11172AudioCapability; /* IS11172AudioCapability */ static int hf_h245_is13818AudioCapability; /* IS13818AudioCapability */ static int hf_h245_g729wAnnexB; /* INTEGER_1_256 */ static int hf_h245_g729AnnexAwAnnexB; /* INTEGER_1_256 */ static int hf_h245_g7231AnnexCCapability; /* G7231AnnexCCapability */ static int hf_h245_gsmFullRate; /* GSMAudioCapability */ static int hf_h245_gsmHalfRate; /* GSMAudioCapability */ static int hf_h245_gsmEnhancedFullRate; /* GSMAudioCapability */ static int hf_h245_genericAudioCapability; /* GenericCapability */ static int hf_h245_g729Extensions; /* G729Extensions */ static int hf_h245_vbd; /* VBDCapability */ static int hf_h245_audioTelephonyEvent; /* NoPTAudioTelephonyEventCapability */ static int hf_h245_audioTone; /* NoPTAudioToneCapability */ static int hf_h245_audioUnit; /* INTEGER_1_256 */ static int hf_h245_annexA; /* BOOLEAN */ static int hf_h245_annexB; /* BOOLEAN */ static int hf_h245_annexD; /* BOOLEAN */ static int hf_h245_annexE; /* BOOLEAN */ static int hf_h245_annexF; /* BOOLEAN */ static int hf_h245_annexG; /* BOOLEAN */ static int hf_h245_annexH; /* BOOLEAN */ static int hf_h245_highRateMode0; /* INTEGER_27_78 */ static int hf_h245_highRateMode1; /* INTEGER_27_78 */ static int hf_h245_lowRateMode0; /* INTEGER_23_66 */ static int hf_h245_lowRateMode1; /* INTEGER_23_66 */ static int hf_h245_sidMode0; /* INTEGER_6_17 */ static int hf_h245_sidMode1; /* INTEGER_6_17 */ static int hf_h245_g723AnnexCAudioMode; /* G723AnnexCAudioMode */ static int hf_h245_audioLayer1; /* BOOLEAN */ static int hf_h245_audioLayer2; /* BOOLEAN */ static int hf_h245_audioLayer3; /* BOOLEAN */ static int hf_h245_audioSampling32k; /* BOOLEAN */ static int hf_h245_audioSampling44k1; /* BOOLEAN */ static int hf_h245_audioSampling48k; /* BOOLEAN */ static int hf_h245_singleChannel; /* BOOLEAN */ static int hf_h245_twoChannels; /* BOOLEAN */ static int hf_h245_bitRate_1_448; /* INTEGER_1_448 */ static int hf_h245_audioSampling16k; /* BOOLEAN */ static int hf_h245_audioSampling22k05; /* BOOLEAN */ static int hf_h245_audioSampling24k; /* BOOLEAN */ static int hf_h245_threeChannels2_1; /* BOOLEAN */ static int hf_h245_threeChannels3_0; /* BOOLEAN */ static int hf_h245_fourChannels2_0_2_0; /* BOOLEAN */ static int hf_h245_fourChannels2_2; /* BOOLEAN */ static int hf_h245_fourChannels3_1; /* BOOLEAN */ static int hf_h245_fiveChannels3_0_2_0; /* BOOLEAN */ static int hf_h245_fiveChannels3_2; /* BOOLEAN */ static int hf_h245_lowFrequencyEnhancement; /* BOOLEAN */ static int hf_h245_multilingual; /* BOOLEAN */ static int hf_h245_bitRate2_1_1130; /* INTEGER_1_1130 */ static int hf_h245_audioUnitSize; /* INTEGER_1_256 */ static int hf_h245_comfortNoise; /* BOOLEAN */ static int hf_h245_scrambled; /* BOOLEAN */ static int hf_h245_vbd_cap_type; /* AudioCapability */ static int hf_h245_t120; /* DataProtocolCapability */ static int hf_h245_dsm_cc; /* DataProtocolCapability */ static int hf_h245_userData; /* DataProtocolCapability */ static int hf_h245_t84; /* T_t84 */ static int hf_h245_t84Protocol; /* DataProtocolCapability */ static int hf_h245_t84Profile; /* T84Profile */ static int hf_h245_t434; /* DataProtocolCapability */ static int hf_h245_h224; /* DataProtocolCapability */ static int hf_h245_nlpidProtocol; /* DataProtocolCapability */ static int hf_h245_nlpidData; /* OCTET_STRING */ static int hf_h245_nlpid; /* Nlpid */ static int hf_h245_dsvdControl; /* NULL */ static int hf_h245_h222DataPartitioning; /* DataProtocolCapability */ static int hf_h245_t30fax; /* DataProtocolCapability */ static int hf_h245_t140; /* DataProtocolCapability */ static int hf_h245_t38fax; /* T_t38fax */ static int hf_h245_t38FaxProtocol; /* DataProtocolCapability */ static int hf_h245_t38FaxProfile; /* T38FaxProfile */ static int hf_h245_genericDataCapability; /* GenericCapability */ static int hf_h245_application; /* Application */ static int hf_h245_maxBitRate2_0_4294967295; /* INTEGER_0_4294967295 */ static int hf_h245_v14buffered; /* NULL */ static int hf_h245_v42lapm; /* NULL */ static int hf_h245_hdlcFrameTunnelling; /* NULL */ static int hf_h245_h310SeparateVCStack; /* NULL */ static int hf_h245_h310SingleVCStack; /* NULL */ static int hf_h245_transparent; /* NULL */ static int hf_h245_segmentationAndReassembly; /* NULL */ static int hf_h245_hdlcFrameTunnelingwSAR; /* NULL */ static int hf_h245_v120; /* NULL */ static int hf_h245_separateLANStack; /* NULL */ static int hf_h245_v76wCompression; /* T_v76wCompression */ static int hf_h245_transmitCompression; /* CompressionType */ static int hf_h245_receiveCompression; /* CompressionType */ static int hf_h245_transmitAndReceiveCompression; /* CompressionType */ static int hf_h245_tcp; /* NULL */ static int hf_h245_udp; /* NULL */ static int hf_h245_v42bis; /* V42bis */ static int hf_h245_numberOfCodewords; /* INTEGER_1_65536 */ static int hf_h245_maximumStringLength; /* INTEGER_1_256 */ static int hf_h245_t84Unrestricted; /* NULL */ static int hf_h245_t84Restricted; /* T_t84Restricted */ static int hf_h245_qcif_bool; /* BOOLEAN */ static int hf_h245_cif_bool; /* BOOLEAN */ static int hf_h245_ccir601Seq; /* BOOLEAN */ static int hf_h245_ccir601Prog; /* BOOLEAN */ static int hf_h245_hdtvSeq; /* BOOLEAN */ static int hf_h245_hdtvProg; /* BOOLEAN */ static int hf_h245_g3FacsMH200x100; /* BOOLEAN */ static int hf_h245_g3FacsMH200x200; /* BOOLEAN */ static int hf_h245_g4FacsMMR200x100; /* BOOLEAN */ static int hf_h245_g4FacsMMR200x200; /* BOOLEAN */ static int hf_h245_jbig200x200Seq; /* BOOLEAN */ static int hf_h245_jbig200x200Prog; /* BOOLEAN */ static int hf_h245_jbig300x300Seq; /* BOOLEAN */ static int hf_h245_jbig300x300Prog; /* BOOLEAN */ static int hf_h245_digPhotoLow; /* BOOLEAN */ static int hf_h245_digPhotoMedSeq; /* BOOLEAN */ static int hf_h245_digPhotoMedProg; /* BOOLEAN */ static int hf_h245_digPhotoHighSeq; /* BOOLEAN */ static int hf_h245_digPhotoHighProg; /* BOOLEAN */ static int hf_h245_fillBitRemoval; /* BOOLEAN */ static int hf_h245_transcodingJBIG; /* BOOLEAN */ static int hf_h245_transcodingMMR; /* BOOLEAN */ static int hf_h245_version; /* INTEGER_0_255 */ static int hf_h245_t38FaxRateManagement; /* T38FaxRateManagement */ static int hf_h245_t38FaxUdpOptions; /* T38FaxUdpOptions */ static int hf_h245_t38FaxTcpOptions; /* T38FaxTcpOptions */ static int hf_h245_localTCF; /* NULL */ static int hf_h245_transferredTCF; /* NULL */ static int hf_h245_t38FaxMaxBuffer; /* INTEGER */ static int hf_h245_t38FaxMaxDatagram; /* INTEGER */ static int hf_h245_t38FaxUdpEC; /* T_t38FaxUdpEC */ static int hf_h245_t38UDPFEC; /* NULL */ static int hf_h245_t38UDPRedundancy; /* NULL */ static int hf_h245_t38TCPBidirectionalMode; /* BOOLEAN */ static int hf_h245_encryptionCapability; /* EncryptionCapability */ static int hf_h245_authenticationCapability; /* AuthenticationCapability */ static int hf_h245_integrityCapability; /* IntegrityCapability */ static int hf_h245_genericH235SecurityCapability; /* GenericCapability */ static int hf_h245_EncryptionCapability_item; /* MediaEncryptionAlgorithm */ static int hf_h245_algorithm; /* OBJECT_IDENTIFIER */ static int hf_h245_antiSpamAlgorithm; /* OBJECT_IDENTIFIER */ static int hf_h245_ui_nonStandard; /* SEQUENCE_SIZE_1_16_OF_NonStandardParameter */ static int hf_h245_ui_nonStandard_item; /* NonStandardParameter */ static int hf_h245_basicString; /* NULL */ static int hf_h245_iA5String; /* NULL */ static int hf_h245_generalString; /* NULL */ static int hf_h245_dtmf; /* NULL */ static int hf_h245_hookflash; /* NULL */ static int hf_h245_extendedAlphanumericFlag; /* NULL */ static int hf_h245_encryptedBasicString; /* NULL */ static int hf_h245_encryptedIA5String; /* NULL */ static int hf_h245_encryptedGeneralString; /* NULL */ static int hf_h245_secureDTMF; /* NULL */ static int hf_h245_genericUserInputCapability; /* GenericCapability */ static int hf_h245_nonStandardParams; /* SEQUENCE_OF_NonStandardParameter */ static int hf_h245_nonStandardParams_item; /* NonStandardParameter */ static int hf_h245_chairControlCapability; /* BOOLEAN */ static int hf_h245_videoIndicateMixingCapability; /* BOOLEAN */ static int hf_h245_multipointVisualizationCapability; /* BOOLEAN */ static int hf_h245_capabilityIdentifier; /* CapabilityIdentifier */ static int hf_h245_collapsing; /* T_collapsing */ static int hf_h245_collapsing_item; /* T_collapsing_item */ static int hf_h245_nonCollapsing; /* T_nonCollapsing */ static int hf_h245_nonCollapsing_item; /* T_nonCollapsing_item */ static int hf_h245_nonCollapsingRaw; /* T_nonCollapsingRaw */ static int hf_h245_transport; /* DataProtocolCapability */ static int hf_h245_standardOid; /* T_standardOid */ static int hf_h245_h221NonStandard; /* NonStandardParameter */ static int hf_h245_uuid; /* OCTET_STRING_SIZE_16 */ static int hf_h245_domainBased; /* IA5String_SIZE_1_64 */ static int hf_h245_parameterIdentifier; /* ParameterIdentifier */ static int hf_h245_parameterValue; /* ParameterValue */ static int hf_h245_supersedes; /* SEQUENCE_OF_ParameterIdentifier */ static int hf_h245_supersedes_item; /* ParameterIdentifier */ static int hf_h245_standard; /* T_standard */ static int hf_h245_logical; /* NULL */ static int hf_h245_booleanArray; /* T_booleanArray */ static int hf_h245_unsignedMin; /* T_unsignedMin */ static int hf_h245_unsignedMax; /* T_unsignedMax */ static int hf_h245_unsigned32Min; /* T_unsigned32Min */ static int hf_h245_unsigned32Max; /* T_unsigned32Max */ static int hf_h245_octetString; /* T_octetString */ static int hf_h245_genericParameters; /* SEQUENCE_OF_GenericParameter */ static int hf_h245_genericParameters_item; /* GenericParameter */ static int hf_h245_multiplexFormat; /* MultiplexFormat */ static int hf_h245_controlOnMuxStream; /* BOOLEAN */ static int hf_h245_capabilityOnMuxStream; /* SET_SIZE_1_256_OF_AlternativeCapabilitySet */ static int hf_h245_capabilityOnMuxStream_item; /* AlternativeCapabilitySet */ static int hf_h245_dynamicRTPPayloadType; /* INTEGER_96_127 */ static int hf_h245_audioTelephoneEvent; /* GeneralString */ static int hf_h245_capabilities; /* SET_SIZE_1_256_OF_AlternativeCapabilitySet */ static int hf_h245_capabilities_item; /* AlternativeCapabilitySet */ static int hf_h245_fecc_rfc2733; /* FECC_rfc2733 */ static int hf_h245_redundancyEncodingBool; /* BOOLEAN */ static int hf_h245_separateStreamBool; /* T_separateStreamBool */ static int hf_h245_separatePort; /* BOOLEAN */ static int hf_h245_samePortBool; /* BOOLEAN */ static int hf_h245_protectedCapability; /* CapabilityTableEntryNumber */ static int hf_h245_fecScheme; /* OBJECT_IDENTIFIER */ static int hf_h245_rfc2733rfc2198; /* MaxRedundancy */ static int hf_h245_rfc2733sameport; /* MaxRedundancy */ static int hf_h245_rfc2733diffport; /* MaxRedundancy */ static int hf_h245_rfc2733Format; /* Rfc2733Format */ static int hf_h245_olc_fw_lcn; /* OLC_fw_lcn */ static int hf_h245_forwardLogicalChannelParameters; /* T_forwardLogicalChannelParameters */ static int hf_h245_portNumber; /* INTEGER_0_65535 */ static int hf_h245_dataType; /* DataType */ static int hf_h245_olc_forw_multiplexParameters; /* OLC_forw_multiplexParameters */ static int hf_h245_h222LogicalChannelParameters; /* H222LogicalChannelParameters */ static int hf_h245_olc_fw_h223_params; /* OLC_fw_h223_params */ static int hf_h245_v76LogicalChannelParameters; /* V76LogicalChannelParameters */ static int hf_h245_h2250LogicalChannelParameters; /* H2250LogicalChannelParameters */ static int hf_h245_forwardLogicalChannelDependency; /* LogicalChannelNumber */ static int hf_h245_replacementFor; /* LogicalChannelNumber */ static int hf_h245_reverseLogicalChannelParameters; /* OLC_reverseLogicalChannelParameters */ static int hf_h245_olc_rev_multiplexParameter; /* OLC_rev_multiplexParameters */ static int hf_h245_olc_rev_h223_params; /* OLC_rev_h223_params */ static int hf_h245_reverseLogicalChannelDependency; /* LogicalChannelNumber */ static int hf_h245_separateStack; /* NetworkAccessParameters */ static int hf_h245_encryptionSync; /* EncryptionSync */ static int hf_h245_distribution; /* T_distribution */ static int hf_h245_unicast; /* NULL */ static int hf_h245_multicast; /* NULL */ static int hf_h245_networkAddress; /* T_networkAddress */ static int hf_h245_q2931Address; /* Q2931Address */ static int hf_h245_e164Address; /* T_e164Address */ static int hf_h245_localAreaAddress; /* TransportAddress */ static int hf_h245_associateConference; /* BOOLEAN */ static int hf_h245_externalReference; /* OCTET_STRING_SIZE_1_255 */ static int hf_h245_t120SetupProcedure; /* T_t120SetupProcedure */ static int hf_h245_originateCall; /* NULL */ static int hf_h245_waitForCall; /* NULL */ static int hf_h245_issueQuery; /* NULL */ static int hf_h245_address; /* T_address */ static int hf_h245_internationalNumber; /* NumericString_SIZE_1_16 */ static int hf_h245_nsapAddress; /* OCTET_STRING_SIZE_1_20 */ static int hf_h245_subaddress; /* OCTET_STRING_SIZE_1_20 */ static int hf_h245_audioHeaderPresent; /* BOOLEAN */ static int hf_h245_nullData; /* NULL */ static int hf_h245_videoData; /* VideoCapability */ static int hf_h245_audioData; /* AudioCapability */ static int hf_h245_data; /* DataApplicationCapability */ static int hf_h245_encryptionData; /* EncryptionMode */ static int hf_h245_h235Control; /* NonStandardParameter */ static int hf_h245_h235Media; /* H235Media */ static int hf_h245_multiplexedStream; /* MultiplexedStreamParameter */ static int hf_h245_redundancyEncoding; /* RedundancyEncoding */ static int hf_h245_multiplePayloadStream; /* MultiplePayloadStream */ static int hf_h245_depFec; /* DepFECData */ static int hf_h245_fec; /* FECData */ static int hf_h245_mediaType; /* T_mediaType */ static int hf_h245_resourceID; /* INTEGER_0_65535 */ static int hf_h245_subChannelID; /* INTEGER_0_8191 */ static int hf_h245_pcr_pid; /* INTEGER_0_8191 */ static int hf_h245_programDescriptors; /* OCTET_STRING */ static int hf_h245_streamDescriptors; /* OCTET_STRING */ static int hf_h245_adaptationLayerType; /* T_adaptationLayerType */ static int hf_h245_h223_al_type_al1Framed; /* T_h223_al_type_al1Framed */ static int hf_h245_h223_al_type_al1NotFramed; /* T_h223_al_type_al1NotFramed */ static int hf_h245_h223_al_type_al2WithoutSequenceNumbers; /* T_h223_al_type_al2WithoutSequenceNumbers */ static int hf_h245_h223_al_type_al2WithSequenceNumbers; /* T_h223_al_type_al2WithSequenceNumbers */ static int hf_h245_controlFieldOctets; /* T_controlFieldOctets */ static int hf_h245_al3_sendBufferSize; /* T_al3_sendBufferSize */ static int hf_h245_h223_al_type_al3; /* T_h223_al_type_al3 */ static int hf_h245_h223_al_type_al1M; /* T_h223_al_type_al1M */ static int hf_h245_h223_al_type_al2M; /* T_h223_al_type_al2M */ static int hf_h245_h223_al_type_al3M; /* T_h223_al_type_al3M */ static int hf_h245_h223_lc_segmentableFlag; /* T_h223_lc_segmentableFlag */ static int hf_h245_transferMode; /* T_transferMode */ static int hf_h245_framed; /* NULL */ static int hf_h245_unframed; /* NULL */ static int hf_h245_aL1HeaderFEC; /* AL1HeaderFEC */ static int hf_h245_sebch16_7; /* NULL */ static int hf_h245_golay24_12; /* NULL */ static int hf_h245_crcLength2; /* AL1CrcLength */ static int hf_h245_crc4bit; /* NULL */ static int hf_h245_crc12bit; /* NULL */ static int hf_h245_crc20bit; /* NULL */ static int hf_h245_crc28bit; /* NULL */ static int hf_h245_crc8bit; /* NULL */ static int hf_h245_crc16bit; /* NULL */ static int hf_h245_crc32bit; /* NULL */ static int hf_h245_crcNotUsed; /* NULL */ static int hf_h245_rcpcCodeRate; /* INTEGER_8_32 */ static int hf_h245_noArq; /* NULL */ static int hf_h245_typeIArq; /* H223AnnexCArqParameters */ static int hf_h245_typeIIArq; /* H223AnnexCArqParameters */ static int hf_h245_arqType; /* ArqType */ static int hf_h245_alsduSplitting; /* BOOLEAN */ static int hf_h245_rsCodeCorrection; /* INTEGER_0_127 */ static int hf_h245_aL2HeaderFEC; /* AL2HeaderFEC */ static int hf_h245_sebch16_5; /* NULL */ static int hf_h245_headerFormat; /* T_headerFormat */ static int hf_h245_crlength2; /* AL3CrcLength */ static int hf_h245_numberOfRetransmissions; /* T_numberOfRetransmissions */ static int hf_h245_finite; /* INTEGER_0_16 */ static int hf_h245_infinite; /* NULL */ static int hf_h245_sendBufferSize; /* INTEGER_0_16777215 */ static int hf_h245_hdlcParameters; /* V76HDLCParameters */ static int hf_h245_suspendResume; /* T_suspendResume */ static int hf_h245_noSuspendResume; /* NULL */ static int hf_h245_suspendResumewAddress; /* NULL */ static int hf_h245_suspendResumewoAddress; /* NULL */ static int hf_h245_uIH; /* BOOLEAN */ static int hf_h245_v76_mode; /* V76LCP_mode */ static int hf_h245_eRM; /* T_eRM */ static int hf_h245_windowSize; /* INTEGER_1_127 */ static int hf_h245_recovery; /* T_recovery */ static int hf_h245_rej; /* NULL */ static int hf_h245_sREJ; /* NULL */ static int hf_h245_mSREJ; /* NULL */ static int hf_h245_uNERM; /* NULL */ static int hf_h245_v75Parameters; /* V75Parameters */ static int hf_h245_crcLength; /* CRCLength */ static int hf_h245_n401; /* INTEGER_1_4095 */ static int hf_h245_loopbackTestProcedure; /* BOOLEAN */ static int hf_h245_sessionID_0_255; /* INTEGER_0_255 */ static int hf_h245_associatedSessionID; /* INTEGER_1_255 */ static int hf_h245_mediaChannel; /* T_mediaChannel */ static int hf_h245_mediaGuaranteedDelivery; /* BOOLEAN */ static int hf_h245_mediaControlChannel; /* T_mediaControlChannel */ static int hf_h245_mediaControlGuaranteedDelivery; /* BOOLEAN */ static int hf_h245_destination; /* TerminalLabel */ static int hf_h245_mediaPacketization; /* T_mediaPacketization */ static int hf_h245_h261aVideoPacketizationFlag; /* NULL */ static int hf_h245_rtpPayloadType; /* RTPPayloadType */ static int hf_h245_source; /* TerminalLabel */ static int hf_h245_payloadDescriptor; /* T_payloadDescriptor */ static int hf_h245_rfc_number; /* T_rfc_number */ static int hf_h245_oid; /* OBJECT_IDENTIFIER */ static int hf_h245_rtpPayloadType_01; /* T_rtpPayloadType */ static int hf_h245_secondaryEncoding; /* DataType */ static int hf_h245_rtpRedundancyEncoding; /* T_rtpRedundancyEncoding */ static int hf_h245_primary; /* RedundancyEncodingElement */ static int hf_h245_secondary; /* SEQUENCE_OF_RedundancyEncodingElement */ static int hf_h245_secondary_item; /* RedundancyEncodingElement */ static int hf_h245_payloadType; /* INTEGER_0_127 */ static int hf_h245_elements; /* SEQUENCE_OF_MultiplePayloadStreamElement */ static int hf_h245_elements_item; /* MultiplePayloadStreamElement */ static int hf_h245_dep_rfc2733; /* RFC2733Data */ static int hf_h245_fec_data_mode; /* FECdata_mode */ static int hf_h245_redundancyEncodingFlag; /* NULL */ static int hf_h245_differentPort; /* T_differentPort */ static int hf_h245_protectedSessionID; /* INTEGER_1_255 */ static int hf_h245_protectedPayloadType; /* INTEGER_0_127 */ static int hf_h245_samePort; /* T_samePort */ static int hf_h245_separateStream; /* DepSeparateStream */ static int hf_h245_rfc2733; /* T_rfc2733 */ static int hf_h245_pktMode; /* T_pktMode */ static int hf_h245_rfc2198coding; /* NULL */ static int hf_h245_mode_rfc2733sameport; /* T_mode_rfc2733sameport */ static int hf_h245_mode_rfc2733diffport; /* T_mode_rfc2733diffport */ static int hf_h245_protectedChannel; /* LogicalChannelNumber */ static int hf_h245_unicastAddress; /* UnicastAddress */ static int hf_h245_multicastAddress; /* MulticastAddress */ static int hf_h245_iPAddress; /* T_iPAddress */ static int hf_h245_ip4_network; /* Ipv4_network */ static int hf_h245_tsapIdentifier; /* TsapIdentifier */ static int hf_h245_iPXAddress; /* T_iPXAddress */ static int hf_h245_node; /* OCTET_STRING_SIZE_6 */ static int hf_h245_netnum; /* OCTET_STRING_SIZE_4 */ static int hf_h245_ipx_tsapIdentifier; /* OCTET_STRING_SIZE_2 */ static int hf_h245_iP6Address; /* T_iP6Address */ static int hf_h245_ip6_network; /* T_ip6_network */ static int hf_h245_ipv6_tsapIdentifier; /* T_ipv6_tsapIdentifier */ static int hf_h245_netBios; /* OCTET_STRING_SIZE_16 */ static int hf_h245_iPSourceRouteAddress; /* T_iPSourceRouteAddress */ static int hf_h245_routing; /* T_routing */ static int hf_h245_strict; /* NULL */ static int hf_h245_loose; /* NULL */ static int hf_h245_network; /* OCTET_STRING_SIZE_4 */ static int hf_h245_iPSrcRoute_tsapIdentifier; /* INTEGER_0_65535 */ static int hf_h245_route; /* T_route */ static int hf_h245_route_item; /* OCTET_STRING_SIZE_4 */ static int hf_h245_nsap; /* OCTET_STRING_SIZE_1_20 */ static int hf_h245_nonStandardAddress; /* NonStandardParameter */ static int hf_h245_mIPAddress; /* MIPAddress */ static int hf_h245_mip4_network; /* OCTET_STRING_SIZE_4 */ static int hf_h245_multicast_tsapIdentifier; /* INTEGER_0_65535 */ static int hf_h245_mIP6Address; /* MIP6Address */ static int hf_h245_mip6_network; /* OCTET_STRING_SIZE_16 */ static int hf_h245_multicast_IPv6_tsapIdentifier; /* INTEGER_0_65535 */ static int hf_h245_synchFlag; /* INTEGER_0_255 */ static int hf_h245_h235Key; /* OCTET_STRING_SIZE_1_65535 */ static int hf_h245_escrowentry; /* SEQUENCE_SIZE_1_256_OF_EscrowData */ static int hf_h245_escrowentry_item; /* EscrowData */ static int hf_h245_genericParameter; /* GenericParameter */ static int hf_h245_escrowID; /* OBJECT_IDENTIFIER */ static int hf_h245_escrowValue; /* BIT_STRING_SIZE_1_65535 */ static int hf_h245_olc_ack_fw_lcn; /* OLC_ack_fw_lcn */ static int hf_h245_olc_ack_reverseLogicalChannelParameters; /* OLC_ack_reverseLogicalChannelParameters */ static int hf_h245_reverseLogicalChannelNumber; /* T_reverseLogicalChannelNumber */ static int hf_h245_olc_ack_multiplexParameters; /* T_olc_ack_multiplexParameters */ static int hf_h245_forwardMultiplexAckParameters; /* T_forwardMultiplexAckParameters */ static int hf_h245_h2250LogicalChannelAckParameters; /* H2250LogicalChannelAckParameters */ static int hf_h245_forwardLogicalChannelNumber; /* LogicalChannelNumber */ static int hf_h245_olc_rej_cause; /* OpenLogicalChannelRejectCause */ static int hf_h245_unsuitableReverseParameters; /* NULL */ static int hf_h245_dataTypeNotSupported; /* NULL */ static int hf_h245_dataTypeNotAvailable; /* NULL */ static int hf_h245_unknownDataType; /* NULL */ static int hf_h245_dataTypeALCombinationNotSupported; /* NULL */ static int hf_h245_multicastChannelNotAllowed; /* NULL */ static int hf_h245_insufficientBandwidth; /* NULL */ static int hf_h245_separateStackEstablishmentFailed; /* NULL */ static int hf_h245_invalidSessionID; /* NULL */ static int hf_h245_masterSlaveConflict; /* NULL */ static int hf_h245_waitForCommunicationMode; /* NULL */ static int hf_h245_invalidDependentChannel; /* NULL */ static int hf_h245_replacementForRejected; /* NULL */ static int hf_h245_securityDenied; /* NULL */ static int hf_h245_qoSControlNotSupported; /* NULL */ static int hf_h245_sessionID; /* INTEGER_1_255 */ static int hf_h245_ack_mediaChannel; /* Ack_mediaChannel */ static int hf_h245_ack_mediaControlChannel; /* Ack_mediaControlChannel */ static int hf_h245_flowControlToZero; /* BOOLEAN */ static int hf_h245_cLC_source; /* T_cLC_source */ static int hf_h245_user; /* NULL */ static int hf_h245_lcse; /* NULL */ static int hf_h245_clc_reason; /* Clc_reason */ static int hf_h245_unknown; /* NULL */ static int hf_h245_reopen; /* NULL */ static int hf_h245_reservationFailure; /* NULL */ static int hf_h245_networkErrorCode; /* INTEGER_0_255 */ static int hf_h245_qosCapability; /* QOSCapability */ static int hf_h245_reason; /* T_reason */ static int hf_h245_normal; /* NULL */ static int hf_h245_req_chan_clos_rej_cause; /* RequestChannelCloseRejectCause */ static int hf_h245_multiplexEntryDescriptors; /* SET_SIZE_1_15_OF_MultiplexEntryDescriptor */ static int hf_h245_multiplexEntryDescriptors_item; /* MultiplexEntryDescriptor */ static int hf_h245_multiplexTableEntryNumber; /* MultiplexTableEntryNumber */ static int hf_h245_elementList; /* T_elementList */ static int hf_h245_elementList_item; /* MultiplexElement */ static int hf_h245_me_type; /* Me_type */ static int hf_h245_logicalChannelNum; /* T_logicalChannelNum */ static int hf_h245_subElementList; /* T_subElementList */ static int hf_h245_subElementList_item; /* MultiplexElement */ static int hf_h245_me_repeatCount; /* ME_repeatCount */ static int hf_h245_me_repeatCount_finite; /* ME_finiteRepeatCount */ static int hf_h245_untilClosingFlag; /* T_untilClosingFlag */ static int hf_h245_multiplexTableEntryNumbers; /* SET_SIZE_1_15_OF_MultiplexTableEntryNumber */ static int hf_h245_multiplexTableEntryNumbers_item; /* MultiplexTableEntryNumber */ static int hf_h245_sendRejectionDescriptions; /* SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions */ static int hf_h245_sendRejectionDescriptions_item; /* MultiplexEntryRejectionDescriptions */ static int hf_h245_mux_rej_cause; /* MultiplexEntryRejectionDescriptionsCause */ static int hf_h245_unspecifiedCause; /* NULL */ static int hf_h245_descriptorTooComplex; /* NULL */ static int hf_h245_entryNumbers; /* SET_SIZE_1_15_OF_MultiplexTableEntryNumber */ static int hf_h245_entryNumbers_item; /* MultiplexTableEntryNumber */ static int hf_h245_rejectionDescriptions; /* SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions */ static int hf_h245_rejectionDescriptions_item; /* RequestMultiplexEntryRejectionDescriptions */ static int hf_h245_req_mux_rej_cause; /* RequestMultiplexEntryRejectionDescriptionsCause */ static int hf_h245_requestedModes; /* SEQUENCE_SIZE_1_256_OF_ModeDescription */ static int hf_h245_requestedModes_item; /* ModeDescription */ static int hf_h245_req_mode_ack_response; /* Req_mode_ack_response */ static int hf_h245_willTransmitMostPreferredMode; /* NULL */ static int hf_h245_willTransmitLessPreferredMode; /* NULL */ static int hf_h245_req_rej_cause; /* RequestModeRejectCause */ static int hf_h245_modeUnavailable; /* NULL */ static int hf_h245_multipointConstraint; /* NULL */ static int hf_h245_requestDenied; /* NULL */ static int hf_h245_ModeDescription_item; /* ModeElement */ static int hf_h245_videoMode; /* VideoMode */ static int hf_h245_audioMode; /* AudioMode */ static int hf_h245_dataMode; /* DataMode */ static int hf_h245_encryptionMode; /* EncryptionMode */ static int hf_h245_h235Mode; /* H235Mode */ static int hf_h245_multiplexedStreamMode; /* MultiplexedStreamParameter */ static int hf_h245_redundancyEncodingDTMode; /* RedundancyEncodingDTMode */ static int hf_h245_multiplePayloadStreamMode; /* MultiplePayloadStreamMode */ static int hf_h245_depFecMode; /* DepFECMode */ static int hf_h245_fecMode; /* FECMode */ static int hf_h245_type; /* ModeElementType */ static int hf_h245_h223ModeParameters; /* H223ModeParameters */ static int hf_h245_v76ModeParameters; /* V76ModeParameters */ static int hf_h245_h2250ModeParameters; /* H2250ModeParameters */ static int hf_h245_genericModeParameters; /* GenericCapability */ static int hf_h245_multiplexedStreamModeParameters; /* MultiplexedStreamModeParameters */ static int hf_h245_logicalChannelNumber; /* LogicalChannelNumber */ static int hf_h245_mediaMode; /* T_mediaMode */ static int hf_h245_prmary_dtmode; /* RedundancyEncodingDTModeElement */ static int hf_h245_secondaryDTM; /* SEQUENCE_OF_RedundancyEncodingDTModeElement */ static int hf_h245_secondaryDTM_item; /* RedundancyEncodingDTModeElement */ static int hf_h245_re_type; /* Re_type */ static int hf_h245_mpsmElements; /* SEQUENCE_OF_MultiplePayloadStreamElementMode */ static int hf_h245_mpsmElements_item; /* MultiplePayloadStreamElementMode */ static int hf_h245_rfc2733Mode; /* T_rfc2733Mode */ static int hf_h245_fec_mode; /* FEC_mode */ static int hf_h245_protectedElement; /* ModeElementType */ static int hf_h245_adaptationLayer; /* AdaptationLayerType */ static int hf_h245_al1Framed; /* NULL */ static int hf_h245_al1NotFramed; /* NULL */ static int hf_h245_al2WithoutSequenceNumbers; /* NULL */ static int hf_h245_al2WithSequenceNumbers; /* NULL */ static int hf_h245_al3; /* Al3 */ static int hf_h245_al1M; /* H223AL1MParameters */ static int hf_h245_al2M; /* H223AL2MParameters */ static int hf_h245_al3M; /* H223AL3MParameters */ static int hf_h245_segmentableFlag; /* BOOLEAN */ static int hf_h245_redundancyEncodingMode; /* RedundancyEncodingMode */ static int hf_h245_secondaryEncodingMode; /* T_secondaryEncodingMode */ static int hf_h245_h261VideoMode; /* H261VideoMode */ static int hf_h245_h262VideoMode; /* H262VideoMode */ static int hf_h245_h263VideoMode; /* H263VideoMode */ static int hf_h245_is11172VideoMode; /* IS11172VideoMode */ static int hf_h245_genericVideoMode; /* GenericCapability */ static int hf_h245_h261_resolution; /* H261Resolution */ static int hf_h245_qcif; /* NULL */ static int hf_h245_cif; /* NULL */ static int hf_h245_profileAndLevel; /* T_profileAndLevel */ static int hf_h245_profileAndLevel_SPatMLMode; /* NULL */ static int hf_h245_profileAndLevel_MPatLLMode; /* NULL */ static int hf_h245_profileAndLevel_MPatMLMode; /* NULL */ static int hf_h245_profileAndLevel_MPatH_14Mode; /* NULL */ static int hf_h245_profileAndLevel_MPatHLMode; /* NULL */ static int hf_h245_profileAndLevel_SNRatLLMode; /* NULL */ static int hf_h245_profileAndLevel_SNRatMLMode; /* NULL */ static int hf_h245_profileAndLevel_SpatialatH_14Mode; /* NULL */ static int hf_h245_profileAndLevel_HPatMLMode; /* NULL */ static int hf_h245_profileAndLevel_HPatH_14Mode; /* NULL */ static int hf_h245_profileAndLevel_HPatHLMode; /* NULL */ static int hf_h245_h263_resolution; /* H263Resolution */ static int hf_h245_sqcif; /* NULL */ static int hf_h245_cif4; /* NULL */ static int hf_h245_cif16; /* NULL */ static int hf_h245_custom_res; /* NULL */ static int hf_h245_g711Alaw64k_mode; /* NULL */ static int hf_h245_g711Alaw56k_mode; /* NULL */ static int hf_h245_g711Ulaw64k_mode; /* NULL */ static int hf_h245_g711Ulaw56k_mode; /* NULL */ static int hf_h245_g722_64k_mode; /* NULL */ static int hf_h245_g722_56k_mode; /* NULL */ static int hf_h245_g722_48k_mode; /* NULL */ static int hf_h245_g728_mode; /* NULL */ static int hf_h245_g729_mode; /* NULL */ static int hf_h245_g729AnnexA_mode; /* NULL */ static int hf_h245_g7231_mode; /* Mode_g7231 */ static int hf_h245_noSilenceSuppressionLowRate; /* NULL */ static int hf_h245_noSilenceSuppressionHighRate; /* NULL */ static int hf_h245_silenceSuppressionLowRate; /* NULL */ static int hf_h245_silenceSuppressionHighRate; /* NULL */ static int hf_h245_is11172AudioMode; /* IS11172AudioMode */ static int hf_h245_is13818AudioMode; /* IS13818AudioMode */ static int hf_h245_g7231AnnexCMode; /* G7231AnnexCMode */ static int hf_h245_genericAudioMode; /* GenericCapability */ static int hf_h245_vbd_mode; /* VBDMode */ static int hf_h245_audioLayer; /* T_audioLayer */ static int hf_h245_audioLayer1Mode; /* NULL */ static int hf_h245_audioLayer2Mode; /* NULL */ static int hf_h245_audioLayer3Mode; /* NULL */ static int hf_h245_audioSampling; /* T_audioSampling */ static int hf_h245_audioSampling32kMode; /* NULL */ static int hf_h245_audioSampling44k1Mode; /* NULL */ static int hf_h245_audioSampling48kMode; /* NULL */ static int hf_h245_is11172multichannelType; /* IS11172_multichannelType */ static int hf_h245_singleChannelMode; /* NULL */ static int hf_h245_twoChannelStereo; /* NULL */ static int hf_h245_twoChannelDual; /* NULL */ static int hf_h245_audioLayerMode; /* IS13818AudioLayer */ static int hf_h245_audioSamplingMode; /* IS13818AudioSampling */ static int hf_h245_audioSampling16kMode; /* NULL */ static int hf_h245_audioSampling22k05Mode; /* NULL */ static int hf_h245_audioSampling24kMode; /* NULL */ static int hf_h245_is13818MultichannelType; /* IS13818MultichannelType */ static int hf_h245_threeChannels2_1Mode; /* NULL */ static int hf_h245_threeChannels3_0Mode; /* NULL */ static int hf_h245_fourChannels2_0_2_0Mode; /* NULL */ static int hf_h245_fourChannels2_2Mode; /* NULL */ static int hf_h245_fourChannels3_1Mode; /* NULL */ static int hf_h245_fiveChannels3_0_2_0Mode; /* NULL */ static int hf_h245_fiveChannels3_2Mode; /* NULL */ static int hf_h245_vbd_type; /* AudioMode */ static int hf_h245_datamodeapplication; /* DataModeApplication */ static int hf_h245_t84DataProtocolCapability; /* DataProtocolCapability */ static int hf_h245_t38faxDataProtocolCapability; /* T38faxApp */ static int hf_h245_genericDataMode; /* GenericCapability */ static int hf_h245_bitRate_0_4294967295; /* INTEGER_0_4294967295 */ static int hf_h245_h233Encryption; /* NULL */ static int hf_h245_mlr_type; /* Mlr_type */ static int hf_h245_systemLoop; /* NULL */ static int hf_h245_mediaLoop; /* LogicalChannelNumber */ static int hf_h245_logicalChannelLoop; /* LogicalChannelNumber */ static int hf_h245_mla_type; /* Mla_type */ static int hf_h245_mlrej_type; /* Mlrej_type */ static int hf_h245_maintloop_rej_cause; /* MaintenanceLoopRejectCause */ static int hf_h245_canNotPerformLoop; /* NULL */ static int hf_h245_communicationModeTable; /* SET_SIZE_1_256_OF_CommunicationModeTableEntry */ static int hf_h245_communicationModeTable_item; /* CommunicationModeTableEntry */ static int hf_h245_terminalLabel; /* TerminalLabel */ static int hf_h245_sessionDescription; /* BMPString_SIZE_1_128 */ static int hf_h245_entryDataType; /* T_entryDataType */ static int hf_h245_cm_mediaChannel; /* Cm_mediaChannel */ static int hf_h245_cm_mediaControlChannel; /* TransportAddress */ static int hf_h245_sessionDependency; /* INTEGER_1_255 */ static int hf_h245_terminalListRequest; /* NULL */ static int hf_h245_makeMeChair; /* NULL */ static int hf_h245_cancelMakeMeChair; /* NULL */ static int hf_h245_dropTerminal; /* TerminalLabel */ static int hf_h245_requestTerminalID; /* TerminalLabel */ static int hf_h245_enterH243Password; /* NULL */ static int hf_h245_enterH243TerminalID; /* NULL */ static int hf_h245_enterH243ConferenceID; /* NULL */ static int hf_h245_enterExtensionAddress; /* NULL */ static int hf_h245_requestChairTokenOwner; /* NULL */ static int hf_h245_requestTerminalCertificate; /* T_requestTerminalCertificate */ static int hf_h245_certSelectionCriteria; /* CertSelectionCriteria */ static int hf_h245_sRandom; /* INTEGER_1_4294967295 */ static int hf_h245_broadcastMyLogicalChannel; /* LogicalChannelNumber */ static int hf_h245_makeTerminalBroadcaster; /* TerminalLabel */ static int hf_h245_sendThisSource; /* TerminalLabel */ static int hf_h245_requestAllTerminalIDs; /* NULL */ static int hf_h245_remoteMCRequest; /* RemoteMCRequest */ static int hf_h245_CertSelectionCriteria_item; /* Criteria */ static int hf_h245_field; /* OBJECT_IDENTIFIER */ static int hf_h245_criteriaValue; /* OCTET_STRING_SIZE_1_65535 */ static int hf_h245_mcuNumber; /* McuNumber */ static int hf_h245_terminalNumber; /* TerminalNumber */ static int hf_h245_mCTerminalIDResponse; /* T_mCTerminalIDResponse */ static int hf_h245_terminalID; /* TerminalID */ static int hf_h245_terminalIDResponse; /* T_terminalIDResponse */ static int hf_h245_conferenceIDResponse; /* T_conferenceIDResponse */ static int hf_h245_conferenceID; /* ConferenceID */ static int hf_h245_passwordResponse; /* T_passwordResponse */ static int hf_h245_password; /* Password */ static int hf_h245_terminalListResponse; /* SET_SIZE_1_256_OF_TerminalLabel */ static int hf_h245_terminalListResponse_item; /* TerminalLabel */ static int hf_h245_videoCommandReject; /* NULL */ static int hf_h245_terminalDropReject; /* NULL */ static int hf_h245_makeMeChairResponse; /* T_makeMeChairResponse */ static int hf_h245_grantedChairToken; /* NULL */ static int hf_h245_deniedChairToken; /* NULL */ static int hf_h245_extensionAddressResponse; /* T_extensionAddressResponse */ static int hf_h245_extensionAddress; /* TerminalID */ static int hf_h245_chairTokenOwnerResponse; /* T_chairTokenOwnerResponse */ static int hf_h245_terminalCertificateResponse; /* T_terminalCertificateResponse */ static int hf_h245_certificateResponse; /* OCTET_STRING_SIZE_1_65535 */ static int hf_h245_broadcastMyLogicalChannelResponse; /* T_broadcastMyLogicalChannelResponse */ static int hf_h245_grantedBroadcastMyLogicalChannel; /* NULL */ static int hf_h245_deniedBroadcastMyLogicalChannel; /* NULL */ static int hf_h245_makeTerminalBroadcasterResponse; /* T_makeTerminalBroadcasterResponse */ static int hf_h245_grantedMakeTerminalBroadcaster; /* NULL */ static int hf_h245_deniedMakeTerminalBroadcaster; /* NULL */ static int hf_h245_sendThisSourceResponse; /* T_sendThisSourceResponse */ static int hf_h245_grantedSendThisSource; /* NULL */ static int hf_h245_deniedSendThisSource; /* NULL */ static int hf_h245_requestAllTerminalIDsResponse; /* RequestAllTerminalIDsResponse */ static int hf_h245_remoteMCResponse; /* RemoteMCResponse */ static int hf_h245_terminalInformation; /* SEQUENCE_OF_TerminalInformation */ static int hf_h245_terminalInformation_item; /* TerminalInformation */ static int hf_h245_masterActivate; /* NULL */ static int hf_h245_slaveActivate; /* NULL */ static int hf_h245_deActivate; /* NULL */ static int hf_h245_accept; /* NULL */ static int hf_h245_reject; /* T_reject */ static int hf_h245_functionNotSupportedFlag; /* NULL */ static int hf_h245_callInformationReq; /* CallInformationReq */ static int hf_h245_maxNumberOfAdditionalConnections; /* INTEGER_1_65535 */ static int hf_h245_addConnectionReq; /* AddConnectionReq */ static int hf_h245_dialingInformation; /* DialingInformation */ static int hf_h245_removeConnectionReq; /* RemoveConnectionReq */ static int hf_h245_connectionIdentifier; /* ConnectionIdentifier */ static int hf_h245_maximumHeaderIntervalReq; /* MaximumHeaderIntervalReq */ static int hf_h245_requestType; /* T_requestType */ static int hf_h245_currentIntervalInformation; /* NULL */ static int hf_h245_requestedInterval; /* INTEGER_0_65535 */ static int hf_h245_callInformationResp; /* CallInformationResp */ static int hf_h245_callAssociationNumber; /* INTEGER_0_4294967295 */ static int hf_h245_addConnectionResp; /* AddConnectionResp */ static int hf_h245_responseCode; /* T_responseCode */ static int hf_h245_accepted; /* NULL */ static int hf_h245_rejected; /* T_rejected */ static int hf_h245_connectionsNotAvailable; /* NULL */ static int hf_h245_userRejected; /* NULL */ static int hf_h245_removeConnectionResp; /* RemoveConnectionResp */ static int hf_h245_maximumHeaderIntervalResp; /* MaximumHeaderIntervalResp */ static int hf_h245_currentInterval; /* INTEGER_0_65535 */ static int hf_h245_crcDesired; /* T_crcDesired */ static int hf_h245_excessiveError; /* T_excessiveError */ static int hf_h245_differential; /* SET_SIZE_1_65535_OF_DialingInformationNumber */ static int hf_h245_differential_item; /* DialingInformationNumber */ static int hf_h245_infoNotAvailable; /* INTEGER_1_65535 */ static int hf_h245_din_networkAddress; /* NumericString_SIZE_0_40 */ static int hf_h245_subAddress; /* IA5String_SIZE_1_40 */ static int hf_h245_networkType; /* SET_SIZE_1_255_OF_DialingInformationNetworkType */ static int hf_h245_networkType_item; /* DialingInformationNetworkType */ static int hf_h245_n_isdn; /* NULL */ static int hf_h245_gstn; /* NULL */ static int hf_h245_mobile; /* NULL */ static int hf_h245_channelTag; /* INTEGER_0_4294967295 */ static int hf_h245_sequenceNum; /* INTEGER_0_4294967295 */ static int hf_h245_maximumBitRate; /* MaximumBitRate */ static int hf_h245_rejectReason; /* LogicalChannelRateRejectReason */ static int hf_h245_currentMaximumBitRate; /* MaximumBitRate */ static int hf_h245_undefinedReason; /* NULL */ static int hf_h245_insufficientResources; /* NULL */ static int hf_h245_specificRequest; /* T_specificRequest */ static int hf_h245_multiplexCapabilityBool; /* BOOLEAN */ static int hf_h245_capabilityTableEntryNumbers; /* SET_SIZE_1_65535_OF_CapabilityTableEntryNumber */ static int hf_h245_capabilityTableEntryNumbers_item; /* CapabilityTableEntryNumber */ static int hf_h245_capabilityDescriptorNumbers; /* SET_SIZE_1_256_OF_CapabilityDescriptorNumber */ static int hf_h245_capabilityDescriptorNumbers_item; /* CapabilityDescriptorNumber */ static int hf_h245_genericRequestFlag; /* NULL */ static int hf_h245_encryptionSE; /* OCTET_STRING */ static int hf_h245_encryptionIVRequest; /* NULL */ static int hf_h245_encryptionAlgorithmID; /* T_encryptionAlgorithmID */ static int hf_h245_h233AlgorithmIdentifier; /* SequenceNumber */ static int hf_h245_associatedAlgorithm; /* NonStandardParameter */ static int hf_h245_wholeMultiplex; /* NULL */ static int hf_h245_scope; /* Scope */ static int hf_h245_res_maximumBitRate; /* INTEGER_0_16777215 */ static int hf_h245_noRestriction; /* NULL */ static int hf_h245_restriction; /* Restriction */ static int hf_h245_disconnect; /* NULL */ static int hf_h245_gstnOptions; /* T_gstnOptions */ static int hf_h245_telephonyMode; /* NULL */ static int hf_h245_v8bis; /* NULL */ static int hf_h245_v34DSVD; /* NULL */ static int hf_h245_v34DuplexFAX; /* NULL */ static int hf_h245_v34H324; /* NULL */ static int hf_h245_isdnOptions; /* T_isdnOptions */ static int hf_h245_v140; /* NULL */ static int hf_h245_terminalOnHold; /* NULL */ static int hf_h245_cancelBroadcastMyLogicalChannel; /* LogicalChannelNumber */ static int hf_h245_cancelMakeTerminalBroadcaster; /* NULL */ static int hf_h245_cancelSendThisSource; /* NULL */ static int hf_h245_dropConference; /* NULL */ static int hf_h245_substituteConferenceIDCommand; /* SubstituteConferenceIDCommand */ static int hf_h245_conferenceIdentifier; /* OCTET_STRING_SIZE_16 */ static int hf_h245_masterToSlave; /* NULL */ static int hf_h245_slaveToMaster; /* NULL */ static int hf_h245_mc_type; /* Mc_type */ static int hf_h245_equaliseDelay; /* NULL */ static int hf_h245_zeroDelay; /* NULL */ static int hf_h245_multipointModeCommand; /* NULL */ static int hf_h245_cancelMultipointModeCommand; /* NULL */ static int hf_h245_videoFreezePicture; /* NULL */ static int hf_h245_videoFastUpdatePicture; /* NULL */ static int hf_h245_videoFastUpdateGOB; /* T_videoFastUpdateGOB */ static int hf_h245_firstGOB; /* INTEGER_0_17 */ static int hf_h245_numberOfGOBs; /* INTEGER_1_18 */ static int hf_h245_videoTemporalSpatialTradeOff; /* INTEGER_0_31 */ static int hf_h245_videoSendSyncEveryGOB; /* NULL */ static int hf_h245_videoSendSyncEveryGOBCancel; /* NULL */ static int hf_h245_videoFastUpdateMB; /* T_videoFastUpdateMB */ static int hf_h245_firstGOB_0_255; /* INTEGER_0_255 */ static int hf_h245_firstMB_1_8192; /* INTEGER_1_8192 */ static int hf_h245_numberOfMBs; /* INTEGER_1_8192 */ static int hf_h245_maxH223MUXPDUsize; /* INTEGER_1_65535 */ static int hf_h245_encryptionUpdate; /* EncryptionSync */ static int hf_h245_encryptionUpdateRequest; /* EncryptionUpdateRequest */ static int hf_h245_switchReceiveMediaOff; /* NULL */ static int hf_h245_switchReceiveMediaOn; /* NULL */ static int hf_h245_progressiveRefinementStart; /* T_progressiveRefinementStart */ static int hf_h245_repeatCount; /* T_repeatCount */ static int hf_h245_doOneProgression; /* NULL */ static int hf_h245_doContinuousProgressions; /* NULL */ static int hf_h245_doOneIndependentProgression; /* NULL */ static int hf_h245_doContinuousIndependentProgressions; /* NULL */ static int hf_h245_progressiveRefinementAbortOne; /* NULL */ static int hf_h245_progressiveRefinementAbortContinuous; /* NULL */ static int hf_h245_videoBadMBs; /* T_videoBadMBs */ static int hf_h245_firstMB; /* INTEGER_1_9216 */ static int hf_h245_numberOfMBs1_1_9216; /* INTEGER_1_9216 */ static int hf_h245_temporalReference; /* INTEGER_0_1023 */ static int hf_h245_lostPicture; /* SEQUENCE_OF_PictureReference */ static int hf_h245_lostPicture_item; /* PictureReference */ static int hf_h245_lostPartialPicture; /* T_lostPartialPicture */ static int hf_h245_pictureReference; /* PictureReference */ static int hf_h245_recoveryReferencePicture; /* SEQUENCE_OF_PictureReference */ static int hf_h245_recoveryReferencePicture_item; /* PictureReference */ static int hf_h245_encryptionUpdateCommand; /* T_encryptionUpdateCommand */ static int hf_h245_encryptionUpdateAck; /* T_encryptionUpdateAck */ static int hf_h245_direction; /* EncryptionUpdateDirection */ static int hf_h245_secureChannel; /* BOOLEAN */ static int hf_h245_sharedSecret; /* BOOLEAN */ static int hf_h245_certProtectedKey; /* BOOLEAN */ static int hf_h245_keyProtectionMethod; /* KeyProtectionMethod */ static int hf_h245_pictureNumber; /* INTEGER_0_1023 */ static int hf_h245_longTermPictureIndex; /* INTEGER_0_255 */ static int hf_h245_h223ModeChange; /* T_h223ModeChange */ static int hf_h245_toLevel0; /* NULL */ static int hf_h245_toLevel1; /* NULL */ static int hf_h245_toLevel2; /* NULL */ static int hf_h245_toLevel2withOptionalHeader; /* NULL */ static int hf_h245_h223AnnexADoubleFlag; /* T_h223AnnexADoubleFlag */ static int hf_h245_start; /* NULL */ static int hf_h245_stop; /* NULL */ static int hf_h245_bitRate; /* INTEGER_1_65535 */ static int hf_h245_bitRateLockedToPCRClock; /* BOOLEAN */ static int hf_h245_bitRateLockedToNetworkClock; /* BOOLEAN */ static int hf_h245_cmd_aal; /* Cmd_aal */ static int hf_h245_cmd_aal1; /* Cmd_aal1 */ static int hf_h245_cmd_clockRecovery; /* Cmd_clockRecovery */ static int hf_h245_nullClockRecoveryflag; /* NULL */ static int hf_h245_srtsClockRecovery; /* NULL */ static int hf_h245_adaptiveClockRecoveryFlag; /* NULL */ static int hf_h245_cmd_errorCorrection; /* Cmd_errorCorrection */ static int hf_h245_nullErrorCorrectionFlag; /* NULL */ static int hf_h245_longInterleaverFlag; /* NULL */ static int hf_h245_shortInterleaverFlag; /* NULL */ static int hf_h245_errorCorrectionOnlyFlag; /* NULL */ static int hf_h245_cmd_aal5; /* Cmd_aal5 */ static int hf_h245_cmd_multiplex; /* Cmd_multiplex */ static int hf_h245_noMultiplex; /* NULL */ static int hf_h245_transportStream; /* NULL */ static int hf_h245_programStreamFlag; /* NULL */ static int hf_h245_cmd_reverseParameters; /* Cmd_reverseParameters */ static int hf_h245_cmdr_multiplex; /* CmdR_multiplex */ static int hf_h245_sampleSize; /* INTEGER_1_255 */ static int hf_h245_samplesPerFrame; /* INTEGER_1_255 */ static int hf_h245_status; /* T_status */ static int hf_h245_synchronized; /* NULL */ static int hf_h245_reconfiguration; /* NULL */ static int hf_h245_fns_cause; /* FunctionNotSupportedCause */ static int hf_h245_syntaxError; /* NULL */ static int hf_h245_semanticError; /* NULL */ static int hf_h245_unknownFunction; /* NULL */ static int hf_h245_returnedFunction; /* T_returnedFunction */ static int hf_h245_sbeNumber; /* INTEGER_0_9 */ static int hf_h245_terminalNumberAssign; /* TerminalLabel */ static int hf_h245_terminalJoinedConference; /* TerminalLabel */ static int hf_h245_terminalLeftConference; /* TerminalLabel */ static int hf_h245_seenByAtLeastOneOther; /* NULL */ static int hf_h245_cancelSeenByAtLeastOneOther; /* NULL */ static int hf_h245_seenByAll; /* NULL */ static int hf_h245_cancelSeenByAll; /* NULL */ static int hf_h245_terminalYouAreSeeing; /* TerminalLabel */ static int hf_h245_requestForFloor; /* NULL */ static int hf_h245_withdrawChairToken; /* NULL */ static int hf_h245_floorRequested; /* TerminalLabel */ static int hf_h245_terminalYouAreSeeingInSubPictureNumber; /* TerminalYouAreSeeingInSubPictureNumber */ static int hf_h245_videoIndicateCompose; /* VideoIndicateCompose */ static int hf_h245_masterMCU; /* NULL */ static int hf_h245_cancelMasterMCU; /* NULL */ static int hf_h245_subPictureNumber; /* INTEGER_0_255 */ static int hf_h245_compositionNumber; /* INTEGER_0_255 */ static int hf_h245_mi_type; /* Mi_type */ static int hf_h245_logicalChannelActive; /* NULL */ static int hf_h245_logicalChannelInactive; /* NULL */ static int hf_h245_multipointConference; /* NULL */ static int hf_h245_cancelMultipointConference; /* NULL */ static int hf_h245_multipointZeroComm; /* NULL */ static int hf_h245_cancelMultipointZeroComm; /* NULL */ static int hf_h245_multipointSecondaryStatus; /* NULL */ static int hf_h245_cancelMultipointSecondaryStatus; /* NULL */ static int hf_h245_videoIndicateReadyToActivate; /* NULL */ static int hf_h245_videoNotDecodedMBs; /* T_videoNotDecodedMBs */ static int hf_h245_temporalReference_0_255; /* INTEGER_0_255 */ static int hf_h245_estimatedReceivedJitterMantissa; /* INTEGER_0_3 */ static int hf_h245_estimatedReceivedJitterExponent; /* INTEGER_0_7 */ static int hf_h245_skippedFrameCount; /* INTEGER_0_15 */ static int hf_h245_additionalDecoderBuffer; /* INTEGER_0_262143 */ static int hf_h245_logicalChannelNumber1; /* LogicalChannelNumber */ static int hf_h245_logicalChannelNumber2; /* LogicalChannelNumber */ static int hf_h245_skew; /* INTEGER_0_4095 */ static int hf_h245_maximumSkew; /* INTEGER_0_4095 */ static int hf_h245_signalAddress; /* TransportAddress */ static int hf_h245_vendor; /* NonStandardIdentifier */ static int hf_h245_productNumber; /* OCTET_STRING_SIZE_1_256 */ static int hf_h245_versionNumber; /* OCTET_STRING_SIZE_1_256 */ static int hf_h245_ind_aal; /* Ind_aal */ static int hf_h245_ind_aal1; /* Ind_aal1 */ static int hf_h245_ind_clockRecovery; /* Ind_clockRecovery */ static int hf_h245_ind_errorCorrection; /* Ind_errorCorrection */ static int hf_h245_ind_aal5; /* Ind_aal5 */ static int hf_h245_ind_multiplex; /* Ind_multiplex */ static int hf_h245_ind_reverseParameters; /* Ind_reverseParameters */ static int hf_h245_indr_multiplex; /* IndR_multiplex */ static int hf_h245_iv8; /* IV8 */ static int hf_h245_iv16; /* IV16 */ static int hf_h245_iv; /* OCTET_STRING */ static int hf_h245_alphanumeric; /* GeneralString */ static int hf_h245_userInputSupportIndication; /* T_userInputSupportIndication */ static int hf_h245_signal; /* T_signal */ static int hf_h245_signalType; /* T_signalType */ static int hf_h245_duration; /* INTEGER_1_65535 */ static int hf_h245_rtp; /* T_rtp */ static int hf_h245_timestamp; /* INTEGER_0_4294967295 */ static int hf_h245_expirationTime; /* INTEGER_0_4294967295 */ static int hf_h245_rtpPayloadIndication; /* NULL */ static int hf_h245_paramS; /* Params */ static int hf_h245_encryptedSignalType; /* OCTET_STRING_SIZE_1 */ static int hf_h245_algorithmOID; /* OBJECT_IDENTIFIER */ static int hf_h245_signalUpdate; /* T_signalUpdate */ static int hf_h245_si_rtp; /* Si_rtp */ static int hf_h245_extendedAlphanumeric; /* T_extendedAlphanumeric */ static int hf_h245_encrypted; /* OCTET_STRING */ static int hf_h245_encryptedAlphanumeric; /* EncryptedAlphanumeric */ /* Initialize the subtree pointers */ static int ett_h245; static int ett_h245_returnedFunction; static int ett_h245_MultimediaSystemControlMessage; static int ett_h245_RequestMessage; static int ett_h245_ResponseMessage; static int ett_h245_CommandMessage; static int ett_h245_IndicationMessage; static int ett_h245_GenericMessage; static int ett_h245_T_messageContent; static int ett_h245_NonStandardMessage; static int ett_h245_NonStandardParameter; static int ett_h245_NonStandardIdentifier; static int ett_h245_H221NonStandardID; static int ett_h245_MasterSlaveDetermination; static int ett_h245_MasterSlaveDeterminationAck; static int ett_h245_T_decision; static int ett_h245_MasterSlaveDeterminationReject; static int ett_h245_MasterSlaveDeterminationRejectCause; static int ett_h245_MasterSlaveDeterminationRelease; static int ett_h245_TerminalCapabilitySet; static int ett_h245_SET_SIZE_1_256_OF_CapabilityTableEntry; static int ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptor; static int ett_h245_SEQUENCE_OF_GenericInformation; static int ett_h245_CapabilityTableEntry; static int ett_h245_CapabilityDescriptor; static int ett_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet; static int ett_h245_AlternativeCapabilitySet; static int ett_h245_TerminalCapabilitySetAck; static int ett_h245_TerminalCapabilitySetReject; static int ett_h245_TerminalCapabilitySetRejectCause; static int ett_h245_T_tableEntryCapacityExceeded; static int ett_h245_TerminalCapabilitySetRelease; static int ett_h245_Capability; static int ett_h245_T_h233EncryptionReceiveCapability; static int ett_h245_H235SecurityCapability; static int ett_h245_MultiplexCapability; static int ett_h245_H222Capability; static int ett_h245_SET_OF_VCCapability; static int ett_h245_VCCapability; static int ett_h245_T_aal1; static int ett_h245_T_aal5; static int ett_h245_T_availableBitRates; static int ett_h245_Avb_type; static int ett_h245_T_rangeOfBitRates; static int ett_h245_T_aal1ViaGateway; static int ett_h245_SET_SIZE_1_256_OF_Q2931Address; static int ett_h245_H223Capability; static int ett_h245_T_h223MultiplexTableCapability; static int ett_h245_T_enhanced; static int ett_h245_T_mobileOperationTransmitCapability; static int ett_h245_T_mobileMultilinkFrameCapability; static int ett_h245_H223AnnexCCapability; static int ett_h245_V76Capability; static int ett_h245_V75Capability; static int ett_h245_H2250Capability; static int ett_h245_T_mcCapability; static int ett_h245_SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability; static int ett_h245_MediaPacketizationCapability; static int ett_h245_SEQUENCE_SIZE_1_256_OF_RTPPayloadType; static int ett_h245_RSVPParameters; static int ett_h245_QOSMode; static int ett_h245_ATMParameters; static int ett_h245_ServicePriorityValue; static int ett_h245_ServicePriority; static int ett_h245_AuthorizationParameters; static int ett_h245_QOSType; static int ett_h245_QOSClass; static int ett_h245_QOSDescriptor; static int ett_h245_GenericTransportParameters; static int ett_h245_QOSCapability; static int ett_h245_MediaTransportType; static int ett_h245_T_atm_AAL5_compressed; static int ett_h245_MediaChannelCapability; static int ett_h245_TransportCapability; static int ett_h245_SEQUENCE_SIZE_1_256_OF_QOSCapability; static int ett_h245_SEQUENCE_SIZE_1_256_OF_MediaChannelCapability; static int ett_h245_RedundancyEncodingCapability; static int ett_h245_SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber; static int ett_h245_RedundancyEncodingMethod; static int ett_h245_RTPH263VideoRedundancyEncoding; static int ett_h245_T_frameToThreadMapping; static int ett_h245_SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping; static int ett_h245_T_containedThreads; static int ett_h245_RTPH263VideoRedundancyFrameMapping; static int ett_h245_T_frameSequence; static int ett_h245_MultipointCapability; static int ett_h245_SEQUENCE_OF_MediaDistributionCapability; static int ett_h245_MediaDistributionCapability; static int ett_h245_SEQUENCE_OF_DataApplicationCapability; static int ett_h245_VideoCapability; static int ett_h245_ExtendedVideoCapability; static int ett_h245_SEQUENCE_OF_VideoCapability; static int ett_h245_SEQUENCE_OF_GenericCapability; static int ett_h245_H261VideoCapability; static int ett_h245_H262VideoCapability; static int ett_h245_H263VideoCapability; static int ett_h245_EnhancementLayerInfo; static int ett_h245_SET_SIZE_1_14_OF_EnhancementOptions; static int ett_h245_SET_SIZE_1_14_OF_BEnhancementParameters; static int ett_h245_BEnhancementParameters; static int ett_h245_EnhancementOptions; static int ett_h245_H263Options; static int ett_h245_SET_SIZE_1_16_OF_CustomPictureClockFrequency; static int ett_h245_SET_SIZE_1_16_OF_CustomPictureFormat; static int ett_h245_SET_SIZE_1_16_OF_H263VideoModeCombos; static int ett_h245_TransparencyParameters; static int ett_h245_RefPictureSelection; static int ett_h245_T_additionalPictureMemory; static int ett_h245_T_videoBackChannelSend; static int ett_h245_T_enhancedReferencePicSelect; static int ett_h245_T_subPictureRemovalParameters; static int ett_h245_CustomPictureClockFrequency; static int ett_h245_CustomPictureFormat; static int ett_h245_T_mPI; static int ett_h245_T_customPCF; static int ett_h245_T_customPCF_item; static int ett_h245_T_pixelAspectInformation; static int ett_h245_T_pixelAspectCode; static int ett_h245_T_extendedPAR; static int ett_h245_T_extendedPAR_item; static int ett_h245_H263VideoModeCombos; static int ett_h245_SET_SIZE_1_16_OF_H263ModeComboFlags; static int ett_h245_H263ModeComboFlags; static int ett_h245_H263Version3Options; static int ett_h245_IS11172VideoCapability; static int ett_h245_AudioCapability; static int ett_h245_T_g7231; static int ett_h245_G729Extensions; static int ett_h245_G7231AnnexCCapability; static int ett_h245_G723AnnexCAudioMode; static int ett_h245_IS11172AudioCapability; static int ett_h245_IS13818AudioCapability; static int ett_h245_GSMAudioCapability; static int ett_h245_VBDCapability; static int ett_h245_DataApplicationCapability; static int ett_h245_Application; static int ett_h245_T_t84; static int ett_h245_Nlpid; static int ett_h245_T_t38fax; static int ett_h245_DataProtocolCapability; static int ett_h245_T_v76wCompression; static int ett_h245_CompressionType; static int ett_h245_V42bis; static int ett_h245_T84Profile; static int ett_h245_T_t84Restricted; static int ett_h245_T38FaxProfile; static int ett_h245_T38FaxRateManagement; static int ett_h245_T38FaxUdpOptions; static int ett_h245_T_t38FaxUdpEC; static int ett_h245_T38FaxTcpOptions; static int ett_h245_EncryptionAuthenticationAndIntegrity; static int ett_h245_EncryptionCapability; static int ett_h245_MediaEncryptionAlgorithm; static int ett_h245_AuthenticationCapability; static int ett_h245_IntegrityCapability; static int ett_h245_UserInputCapability; static int ett_h245_SEQUENCE_SIZE_1_16_OF_NonStandardParameter; static int ett_h245_ConferenceCapability; static int ett_h245_SEQUENCE_OF_NonStandardParameter; static int ett_h245_GenericCapability; static int ett_h245_T_collapsing; static int ett_h245_T_nonCollapsing; static int ett_h245_CapabilityIdentifier; static int ett_h245_GenericParameter; static int ett_h245_SEQUENCE_OF_ParameterIdentifier; static int ett_h245_ParameterIdentifier; static int ett_h245_ParameterValue; static int ett_h245_SEQUENCE_OF_GenericParameter; static int ett_h245_MultiplexedStreamCapability; static int ett_h245_MultiplexFormat; static int ett_h245_AudioTelephonyEventCapability; static int ett_h245_AudioToneCapability; static int ett_h245_NoPTAudioTelephonyEventCapability; static int ett_h245_NoPTAudioToneCapability; static int ett_h245_MultiplePayloadStreamCapability; static int ett_h245_DepFECCapability; static int ett_h245_FECC_rfc2733; static int ett_h245_T_separateStreamBool; static int ett_h245_FECCapability; static int ett_h245_Rfc2733Format; static int ett_h245_OpenLogicalChannel; static int ett_h245_T_forwardLogicalChannelParameters; static int ett_h245_OLC_forw_multiplexParameters; static int ett_h245_OLC_reverseLogicalChannelParameters; static int ett_h245_OLC_rev_multiplexParameters; static int ett_h245_NetworkAccessParameters; static int ett_h245_T_distribution; static int ett_h245_T_networkAddress; static int ett_h245_T_t120SetupProcedure; static int ett_h245_Q2931Address; static int ett_h245_T_address; static int ett_h245_V75Parameters; static int ett_h245_DataType; static int ett_h245_H235Media; static int ett_h245_T_mediaType; static int ett_h245_MultiplexedStreamParameter; static int ett_h245_H222LogicalChannelParameters; static int ett_h245_H223LogicalChannelParameters; static int ett_h245_T_adaptationLayerType; static int ett_h245_Al3; static int ett_h245_H223AL1MParameters; static int ett_h245_T_transferMode; static int ett_h245_AL1HeaderFEC; static int ett_h245_AL1CrcLength; static int ett_h245_ArqType; static int ett_h245_H223AL2MParameters; static int ett_h245_AL2HeaderFEC; static int ett_h245_H223AL3MParameters; static int ett_h245_T_headerFormat; static int ett_h245_AL3CrcLength; static int ett_h245_H223AnnexCArqParameters; static int ett_h245_T_numberOfRetransmissions; static int ett_h245_V76LogicalChannelParameters; static int ett_h245_T_suspendResume; static int ett_h245_V76LCP_mode; static int ett_h245_T_eRM; static int ett_h245_T_recovery; static int ett_h245_V76HDLCParameters; static int ett_h245_CRCLength; static int ett_h245_H2250LogicalChannelParameters; static int ett_h245_T_mediaPacketization; static int ett_h245_RTPPayloadType; static int ett_h245_T_payloadDescriptor; static int ett_h245_RedundancyEncoding; static int ett_h245_T_rtpRedundancyEncoding; static int ett_h245_SEQUENCE_OF_RedundancyEncodingElement; static int ett_h245_RedundancyEncodingElement; static int ett_h245_MultiplePayloadStream; static int ett_h245_SEQUENCE_OF_MultiplePayloadStreamElement; static int ett_h245_MultiplePayloadStreamElement; static int ett_h245_DepFECData; static int ett_h245_RFC2733Data; static int ett_h245_FECdata_mode; static int ett_h245_DepSeparateStream; static int ett_h245_T_differentPort; static int ett_h245_T_samePort; static int ett_h245_FECData; static int ett_h245_T_rfc2733; static int ett_h245_T_pktMode; static int ett_h245_T_mode_rfc2733sameport; static int ett_h245_T_mode_rfc2733diffport; static int ett_h245_TransportAddress; static int ett_h245_UnicastAddress; static int ett_h245_T_iPAddress; static int ett_h245_T_iPXAddress; static int ett_h245_T_iP6Address; static int ett_h245_T_iPSourceRouteAddress; static int ett_h245_T_routing; static int ett_h245_T_route; static int ett_h245_MulticastAddress; static int ett_h245_MIPAddress; static int ett_h245_MIP6Address; static int ett_h245_EncryptionSync; static int ett_h245_SEQUENCE_SIZE_1_256_OF_EscrowData; static int ett_h245_EscrowData; static int ett_h245_OpenLogicalChannelAck; static int ett_h245_OLC_ack_reverseLogicalChannelParameters; static int ett_h245_T_olc_ack_multiplexParameters; static int ett_h245_T_forwardMultiplexAckParameters; static int ett_h245_OpenLogicalChannelReject; static int ett_h245_OpenLogicalChannelRejectCause; static int ett_h245_OpenLogicalChannelConfirm; static int ett_h245_H2250LogicalChannelAckParameters; static int ett_h245_CloseLogicalChannel; static int ett_h245_T_cLC_source; static int ett_h245_Clc_reason; static int ett_h245_CloseLogicalChannelAck; static int ett_h245_RequestChannelClose; static int ett_h245_T_reason; static int ett_h245_RequestChannelCloseAck; static int ett_h245_RequestChannelCloseReject; static int ett_h245_RequestChannelCloseRejectCause; static int ett_h245_RequestChannelCloseRelease; static int ett_h245_MultiplexEntrySend; static int ett_h245_SET_SIZE_1_15_OF_MultiplexEntryDescriptor; static int ett_h245_MultiplexEntryDescriptor; static int ett_h245_T_elementList; static int ett_h245_MultiplexElement; static int ett_h245_Me_type; static int ett_h245_T_subElementList; static int ett_h245_ME_repeatCount; static int ett_h245_MultiplexEntrySendAck; static int ett_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber; static int ett_h245_MultiplexEntrySendReject; static int ett_h245_SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions; static int ett_h245_MultiplexEntryRejectionDescriptions; static int ett_h245_MultiplexEntryRejectionDescriptionsCause; static int ett_h245_MultiplexEntrySendRelease; static int ett_h245_RequestMultiplexEntry; static int ett_h245_RequestMultiplexEntryAck; static int ett_h245_RequestMultiplexEntryReject; static int ett_h245_SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions; static int ett_h245_RequestMultiplexEntryRejectionDescriptions; static int ett_h245_RequestMultiplexEntryRejectionDescriptionsCause; static int ett_h245_RequestMultiplexEntryRelease; static int ett_h245_RequestMode; static int ett_h245_SEQUENCE_SIZE_1_256_OF_ModeDescription; static int ett_h245_RequestModeAck; static int ett_h245_Req_mode_ack_response; static int ett_h245_RequestModeReject; static int ett_h245_RequestModeRejectCause; static int ett_h245_RequestModeRelease; static int ett_h245_ModeDescription; static int ett_h245_ModeElementType; static int ett_h245_ModeElement; static int ett_h245_H235Mode; static int ett_h245_T_mediaMode; static int ett_h245_MultiplexedStreamModeParameters; static int ett_h245_RedundancyEncodingDTMode; static int ett_h245_SEQUENCE_OF_RedundancyEncodingDTModeElement; static int ett_h245_RedundancyEncodingDTModeElement; static int ett_h245_Re_type; static int ett_h245_MultiplePayloadStreamMode; static int ett_h245_SEQUENCE_OF_MultiplePayloadStreamElementMode; static int ett_h245_MultiplePayloadStreamElementMode; static int ett_h245_DepFECMode; static int ett_h245_T_rfc2733Mode; static int ett_h245_FEC_mode; static int ett_h245_FECMode; static int ett_h245_H223ModeParameters; static int ett_h245_AdaptationLayerType; static int ett_h245_V76ModeParameters; static int ett_h245_H2250ModeParameters; static int ett_h245_RedundancyEncodingMode; static int ett_h245_T_secondaryEncodingMode; static int ett_h245_VideoMode; static int ett_h245_H261VideoMode; static int ett_h245_H261Resolution; static int ett_h245_H262VideoMode; static int ett_h245_T_profileAndLevel; static int ett_h245_H263VideoMode; static int ett_h245_H263Resolution; static int ett_h245_IS11172VideoMode; static int ett_h245_AudioMode; static int ett_h245_Mode_g7231; static int ett_h245_IS11172AudioMode; static int ett_h245_T_audioLayer; static int ett_h245_T_audioSampling; static int ett_h245_IS11172_multichannelType; static int ett_h245_IS13818AudioMode; static int ett_h245_IS13818AudioLayer; static int ett_h245_IS13818AudioSampling; static int ett_h245_IS13818MultichannelType; static int ett_h245_G7231AnnexCMode; static int ett_h245_VBDMode; static int ett_h245_DataMode; static int ett_h245_DataModeApplication; static int ett_h245_T38faxApp; static int ett_h245_EncryptionMode; static int ett_h245_RoundTripDelayRequest; static int ett_h245_RoundTripDelayResponse; static int ett_h245_MaintenanceLoopRequest; static int ett_h245_Mlr_type; static int ett_h245_MaintenanceLoopAck; static int ett_h245_Mla_type; static int ett_h245_MaintenanceLoopReject; static int ett_h245_Mlrej_type; static int ett_h245_MaintenanceLoopRejectCause; static int ett_h245_MaintenanceLoopOffCommand; static int ett_h245_CommunicationModeCommand; static int ett_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry; static int ett_h245_CommunicationModeRequest; static int ett_h245_CommunicationModeResponse; static int ett_h245_CommunicationModeTableEntry; static int ett_h245_T_entryDataType; static int ett_h245_ConferenceRequest; static int ett_h245_T_requestTerminalCertificate; static int ett_h245_CertSelectionCriteria; static int ett_h245_Criteria; static int ett_h245_TerminalLabel; static int ett_h245_ConferenceResponse; static int ett_h245_T_mCTerminalIDResponse; static int ett_h245_T_terminalIDResponse; static int ett_h245_T_conferenceIDResponse; static int ett_h245_T_passwordResponse; static int ett_h245_SET_SIZE_1_256_OF_TerminalLabel; static int ett_h245_T_makeMeChairResponse; static int ett_h245_T_extensionAddressResponse; static int ett_h245_T_chairTokenOwnerResponse; static int ett_h245_T_terminalCertificateResponse; static int ett_h245_T_broadcastMyLogicalChannelResponse; static int ett_h245_T_makeTerminalBroadcasterResponse; static int ett_h245_T_sendThisSourceResponse; static int ett_h245_RequestAllTerminalIDsResponse; static int ett_h245_SEQUENCE_OF_TerminalInformation; static int ett_h245_TerminalInformation; static int ett_h245_RemoteMCRequest; static int ett_h245_RemoteMCResponse; static int ett_h245_T_reject; static int ett_h245_MultilinkRequest; static int ett_h245_CallInformationReq; static int ett_h245_AddConnectionReq; static int ett_h245_RemoveConnectionReq; static int ett_h245_MaximumHeaderIntervalReq; static int ett_h245_T_requestType; static int ett_h245_MultilinkResponse; static int ett_h245_CallInformationResp; static int ett_h245_AddConnectionResp; static int ett_h245_T_responseCode; static int ett_h245_T_rejected; static int ett_h245_RemoveConnectionResp; static int ett_h245_MaximumHeaderIntervalResp; static int ett_h245_MultilinkIndication; static int ett_h245_T_crcDesired; static int ett_h245_T_excessiveError; static int ett_h245_DialingInformation; static int ett_h245_SET_SIZE_1_65535_OF_DialingInformationNumber; static int ett_h245_DialingInformationNumber; static int ett_h245_SET_SIZE_1_255_OF_DialingInformationNetworkType; static int ett_h245_DialingInformationNetworkType; static int ett_h245_ConnectionIdentifier; static int ett_h245_LogicalChannelRateRequest; static int ett_h245_LogicalChannelRateAcknowledge; static int ett_h245_LogicalChannelRateReject; static int ett_h245_LogicalChannelRateRejectReason; static int ett_h245_LogicalChannelRateRelease; static int ett_h245_SendTerminalCapabilitySet; static int ett_h245_T_specificRequest; static int ett_h245_SET_SIZE_1_65535_OF_CapabilityTableEntryNumber; static int ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptorNumber; static int ett_h245_EncryptionCommand; static int ett_h245_T_encryptionAlgorithmID; static int ett_h245_FlowControlCommand; static int ett_h245_Scope; static int ett_h245_Restriction; static int ett_h245_EndSessionCommand; static int ett_h245_T_gstnOptions; static int ett_h245_T_isdnOptions; static int ett_h245_ConferenceCommand; static int ett_h245_SubstituteConferenceIDCommand; static int ett_h245_EncryptionUpdateDirection; static int ett_h245_MiscellaneousCommand; static int ett_h245_Mc_type; static int ett_h245_T_videoFastUpdateGOB; static int ett_h245_T_videoFastUpdateMB; static int ett_h245_T_progressiveRefinementStart; static int ett_h245_T_repeatCount; static int ett_h245_T_videoBadMBs; static int ett_h245_SEQUENCE_OF_PictureReference; static int ett_h245_T_lostPartialPicture; static int ett_h245_T_encryptionUpdateCommand; static int ett_h245_T_encryptionUpdateAck; static int ett_h245_KeyProtectionMethod; static int ett_h245_EncryptionUpdateRequest; static int ett_h245_PictureReference; static int ett_h245_H223MultiplexReconfiguration; static int ett_h245_T_h223ModeChange; static int ett_h245_T_h223AnnexADoubleFlag; static int ett_h245_NewATMVCCommand; static int ett_h245_Cmd_aal; static int ett_h245_Cmd_aal1; static int ett_h245_Cmd_clockRecovery; static int ett_h245_Cmd_errorCorrection; static int ett_h245_Cmd_aal5; static int ett_h245_Cmd_multiplex; static int ett_h245_Cmd_reverseParameters; static int ett_h245_CmdR_multiplex; static int ett_h245_MobileMultilinkReconfigurationCommand; static int ett_h245_T_status; static int ett_h245_FunctionNotUnderstood; static int ett_h245_FunctionNotSupported; static int ett_h245_FunctionNotSupportedCause; static int ett_h245_ConferenceIndication; static int ett_h245_TerminalYouAreSeeingInSubPictureNumber; static int ett_h245_VideoIndicateCompose; static int ett_h245_MiscellaneousIndication; static int ett_h245_Mi_type; static int ett_h245_T_videoNotDecodedMBs; static int ett_h245_JitterIndication; static int ett_h245_H223SkewIndication; static int ett_h245_H2250MaximumSkewIndication; static int ett_h245_MCLocationIndication; static int ett_h245_VendorIdentification; static int ett_h245_NewATMVCIndication; static int ett_h245_Ind_aal; static int ett_h245_Ind_aal1; static int ett_h245_Ind_clockRecovery; static int ett_h245_Ind_errorCorrection; static int ett_h245_Ind_aal5; static int ett_h245_Ind_multiplex; static int ett_h245_Ind_reverseParameters; static int ett_h245_IndR_multiplex; static int ett_h245_Params; static int ett_h245_UserInputIndication; static int ett_h245_T_userInputSupportIndication; static int ett_h245_T_signal; static int ett_h245_T_rtp; static int ett_h245_T_signalUpdate; static int ett_h245_Si_rtp; static int ett_h245_T_extendedAlphanumeric; static int ett_h245_EncryptedAlphanumeric; static int ett_h245_FlowControlIndication; static int ett_h245_MobileMultilinkReconfigurationIndication; /* Forward declarations */ static int dissect_h245_MultimediaSystemControlMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); static void reset_h245_pi(void *dummy _U_) { h245_pi = NULL; /* Make sure we don't leave pinfo->pool memory lying around */ } /*--- Cyclic dependencies ---*/ /* GenericParameter -> ParameterValue -> ParameterValue/genericParameter -> GenericParameter */ static int dissect_h245_GenericParameter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); /* VideoCapability -> ExtendedVideoCapability -> ExtendedVideoCapability/videoCapability -> VideoCapability */ static int dissect_h245_VideoCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); /* AudioCapability -> VBDCapability -> AudioCapability */ static int dissect_h245_AudioCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); /* DataType -> H235Media -> H235Media/mediaType -> RedundancyEncoding -> DataType */ /* DataType -> H235Media -> H235Media/mediaType -> RedundancyEncoding -> RedundancyEncoding/rtpRedundancyEncoding -> RedundancyEncodingElement -> DataType */ /* DataType -> H235Media -> H235Media/mediaType -> MultiplePayloadStream -> MultiplePayloadStream/elements -> MultiplePayloadStreamElement -> DataType */ static int dissect_h245_DataType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); /* MultiplexElement -> MultiplexElement/type -> MultiplexElement/type/subElementList -> MultiplexElement */ static int dissect_h245_MultiplexElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); /* AudioMode -> VBDMode -> AudioMode */ static int dissect_h245_AudioMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); /* ModeElementType -> RedundancyEncodingDTMode -> RedundancyEncodingDTModeElement -> RedundancyEncodingDTModeElement/type -> FECMode -> ModeElementType */ /* ModeElementType -> MultiplePayloadStreamMode -> MultiplePayloadStreamMode/elements -> MultiplePayloadStreamElementMode -> ModeElementType */ static int dissect_h245_ModeElementType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); static int dissect_h245_T_object(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_object_identifier_str(tvb, offset, actx, tree, hf_index, &nsiOID); return offset; } static int dissect_h245_T_t35CountryCode(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, 255U, &t35CountryCode, false); return offset; } static int dissect_h245_T_t35Extension(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, 255U, &t35Extension, false); return offset; } static int dissect_h245_T_manufacturerCode(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, &manufacturerCode, false); return offset; } static const per_sequence_t H221NonStandardID_sequence[] = { { &hf_h245_t35CountryCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_T_t35CountryCode }, { &hf_h245_t35Extension , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_T_t35Extension }, { &hf_h245_manufacturerCode, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_T_manufacturerCode }, { NULL, 0, 0, NULL } }; static int dissect_h245_H221NonStandardID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { t35CountryCode = 0; t35Extension = 0; manufacturerCode = 0; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_h245_H221NonStandardID, H221NonStandardID_sequence); h221NonStandard = ((t35CountryCode * 256) + t35Extension) * 65536 + manufacturerCode; proto_tree_add_uint(tree, hf_h245Manufacturer, tvb, (offset>>3)-4, 4, h221NonStandard); return offset; } static const value_string h245_NonStandardIdentifier_vals[] = { { 0, "object" }, { 1, "h221NonStandard" }, { 0, NULL } }; static const per_choice_t NonStandardIdentifier_choice[] = { { 0, &hf_h245_object , ASN1_NO_EXTENSIONS , dissect_h245_T_object }, { 1, &hf_h245_h221NonStandardID, ASN1_NO_EXTENSIONS , dissect_h245_H221NonStandardID }, { 0, NULL, 0, NULL } }; static int dissect_h245_NonStandardIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { int32_t value; nsiOID = ""; h221NonStandard = 0; offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_h245_NonStandardIdentifier, NonStandardIdentifier_choice, &value); switch (value) { case 0 : /* object */ nsp_handle = dissector_get_string_handle(nsp_object_dissector_table, nsiOID); break; case 1 : /* h221NonStandard */ nsp_handle = dissector_get_uint_handle(nsp_h221_dissector_table, h221NonStandard); break; default : nsp_handle = NULL; } return offset; } static int dissect_h245_T_nsd_data(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *next_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, false, &next_tvb); if (next_tvb && tvb_reported_length(next_tvb)) { call_dissector((nsp_handle)?nsp_handle:data_handle, next_tvb, actx->pinfo, tree); } return offset; } static const per_sequence_t NonStandardParameter_sequence[] = { { &hf_h245_nonStandardIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardIdentifier }, { &hf_h245_nsd_data , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_T_nsd_data }, { NULL, 0, 0, NULL } }; static int dissect_h245_NonStandardParameter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { nsp_handle = NULL; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_h245_NonStandardParameter, NonStandardParameter_sequence); return offset; } static const per_sequence_t NonStandardMessage_sequence[] = { { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardParameter }, { NULL, 0, 0, NULL } }; static int dissect_h245_NonStandardMessage(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_h245_NonStandardMessage, NonStandardMessage_sequence); return offset; } static int dissect_h245_INTEGER_0_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, 0U, 255U, NULL, false); return offset; } static int dissect_h245_INTEGER_0_16777215(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, 16777215U, NULL, false); return offset; } static const per_sequence_t MasterSlaveDetermination_sequence[] = { { &hf_h245_terminalType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 }, { &hf_h245_statusDeterminationNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_16777215 }, { NULL, 0, 0, NULL } }; static int dissect_h245_MasterSlaveDetermination(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_h245_MasterSlaveDetermination, MasterSlaveDetermination_sequence); if (h245_pi != NULL) h245_pi->msg_type = H245_MastSlvDet; return offset; } static int dissect_h245_SequenceNumber(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, 255U, NULL, false); return offset; } static int dissect_h245_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 int dissect_h245_INTEGER_1_256(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, 256U, NULL, false); return offset; } static int dissect_h245_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL); return offset; } static const per_sequence_t T_aal1_sequence[] = { { &hf_h245_nullClockRecovery, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_srtsClockRecovery_bool, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_adaptiveClockRecovery, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_nullErrorCorrection, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_longInterleaver, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_shortInterleaver, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_errorCorrectionOnly, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_structuredDataTransfer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_partiallyFilledCells, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_aal1(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_h245_T_aal1, T_aal1_sequence); return offset; } static int dissect_h245_INTEGER_0_65535(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 65535U, NULL, false); return offset; } static const per_sequence_t T_aal5_sequence[] = { { &hf_h245_forwardMaximumSDUSize, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 }, { &hf_h245_backwardMaximumSDUSize, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_aal5(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_h245_T_aal5, T_aal5_sequence); return offset; } static int dissect_h245_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_rangeOfBitRates_sequence[] = { { &hf_h245_lowerBitRate , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 }, { &hf_h245_higherBitRate , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_rangeOfBitRates(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_h245_T_rangeOfBitRates, T_rangeOfBitRates_sequence); return offset; } static const value_string h245_Avb_type_vals[] = { { 0, "singleBitRate" }, { 1, "rangeOfBitRates" }, { 0, NULL } }; static const per_choice_t Avb_type_choice[] = { { 0, &hf_h245_singleBitRate , ASN1_NO_EXTENSIONS , dissect_h245_INTEGER_1_65535 }, { 1, &hf_h245_rangeOfBitRates, ASN1_NO_EXTENSIONS , dissect_h245_T_rangeOfBitRates }, { 0, NULL, 0, NULL } }; static int dissect_h245_Avb_type(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_h245_Avb_type, Avb_type_choice, NULL); return offset; } static const per_sequence_t T_availableBitRates_sequence[] = { { &hf_h245_avb_type , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_Avb_type }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_availableBitRates(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_h245_T_availableBitRates, T_availableBitRates_sequence); return offset; } static int dissect_h245_NumericString_SIZE_1_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_NumericString(tvb, offset, actx, tree, hf_index, 1, 16, false, NULL); return offset; } static int dissect_h245_OCTET_STRING_SIZE_1_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, 1, 20, false, NULL); return offset; } static const value_string h245_T_address_vals[] = { { 0, "internationalNumber" }, { 1, "nsapAddress" }, { 0, NULL } }; static const per_choice_t T_address_choice[] = { { 0, &hf_h245_internationalNumber, ASN1_EXTENSION_ROOT , dissect_h245_NumericString_SIZE_1_16 }, { 1, &hf_h245_nsapAddress , ASN1_EXTENSION_ROOT , dissect_h245_OCTET_STRING_SIZE_1_20 }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_address(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_h245_T_address, T_address_choice, NULL); return offset; } static const per_sequence_t Q2931Address_sequence[] = { { &hf_h245_address , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_address }, { &hf_h245_subaddress , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_OCTET_STRING_SIZE_1_20 }, { NULL, 0, 0, NULL } }; static int dissect_h245_Q2931Address(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_h245_Q2931Address, Q2931Address_sequence); return offset; } static const per_sequence_t SET_SIZE_1_256_OF_Q2931Address_set_of[1] = { { &hf_h245_gatewayAddress_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_Q2931Address }, }; static int dissect_h245_SET_SIZE_1_256_OF_Q2931Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index, ett_h245_SET_SIZE_1_256_OF_Q2931Address, SET_SIZE_1_256_OF_Q2931Address_set_of, 1, 256, false); return offset; } static const per_sequence_t T_aal1ViaGateway_sequence[] = { { &hf_h245_gatewayAddress , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_256_OF_Q2931Address }, { &hf_h245_nullClockRecovery, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_srtsClockRecoveryflag, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_adaptiveClockRecovery, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_nullErrorCorrection, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_longInterleaver, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_shortInterleaver, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_errorCorrectionOnly, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_structuredDataTransfer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_partiallyFilledCells, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_aal1ViaGateway(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_h245_T_aal1ViaGateway, T_aal1ViaGateway_sequence); return offset; } static const per_sequence_t VCCapability_sequence[] = { { &hf_h245_aal1 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_T_aal1 }, { &hf_h245_aal5 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_T_aal5 }, { &hf_h245_transportStream_bool, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_programStream , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_availableBitRates, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_availableBitRates }, { &hf_h245_aal1ViaGateway , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_T_aal1ViaGateway }, { NULL, 0, 0, NULL } }; static int dissect_h245_VCCapability(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_h245_VCCapability, VCCapability_sequence); return offset; } static const per_sequence_t SET_OF_VCCapability_set_of[1] = { { &hf_h245_vcCapability_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_VCCapability }, }; static int dissect_h245_SET_OF_VCCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_set_of(tvb, offset, actx, tree, hf_index, ett_h245_SET_OF_VCCapability, SET_OF_VCCapability_set_of); return offset; } static const per_sequence_t H222Capability_sequence[] = { { &hf_h245_numberOfVCs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 }, { &hf_h245_vcCapability , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SET_OF_VCCapability }, { NULL, 0, 0, NULL } }; static int dissect_h245_H222Capability(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_h245_H222Capability, H222Capability_sequence); return offset; } static int dissect_h245_INTEGER_0_1023(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, 1023U, NULL, false); return offset; } static int dissect_h245_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_h245_INTEGER_1_15(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, 15U, NULL, false); return offset; } static int dissect_h245_INTEGER_2_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, 2U, 255U, NULL, false); return offset; } static const per_sequence_t T_enhanced_sequence[] = { { &hf_h245_maximumNestingDepth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_15 }, { &hf_h245_maximumElementListSize, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_2_255 }, { &hf_h245_maximumSubElementListSize, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_2_255 }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_enhanced(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_h245_T_enhanced, T_enhanced_sequence); return offset; } static const value_string h245_T_h223MultiplexTableCapability_vals[] = { { 0, "basic" }, { 1, "enhanced" }, { 0, NULL } }; static const per_choice_t T_h223MultiplexTableCapability_choice[] = { { 0, &hf_h245_basic , ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 1, &hf_h245_enhanced , ASN1_NO_EXTENSIONS , dissect_h245_T_enhanced }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_h223MultiplexTableCapability(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_h245_T_h223MultiplexTableCapability, T_h223MultiplexTableCapability_choice, NULL); return offset; } static const per_sequence_t T_mobileOperationTransmitCapability_sequence[] = { { &hf_h245_modeChangeCapability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_h223AnnexA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_h223AnnexADoubleFlagFlag, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_h223AnnexB , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_h223AnnexBwithHeader, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_mobileOperationTransmitCapability(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_h245_T_mobileOperationTransmitCapability, T_mobileOperationTransmitCapability_sequence); return offset; } static const per_sequence_t H223AnnexCCapability_sequence[] = { { &hf_h245_videoWithAL1M , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_videoWithAL2M , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_videoWithAL3M , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_audioWithAL1M , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_audioWithAL2M , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_audioWithAL3M , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_dataWithAL1M , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_dataWithAL2M , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_dataWithAL3M , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_alpduInterleaving, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_maximumAL1MPDUSize, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 }, { &hf_h245_maximumAL2MSDUSize, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 }, { &hf_h245_maximumAL3MSDUSize, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 }, { &hf_h245_rsCodeCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_h245_H223AnnexCCapability(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_h245_H223AnnexCCapability, H223AnnexCCapability_sequence); return offset; } static int dissect_h245_INTEGER_1_19200(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, 19200U, NULL, false); return offset; } static int dissect_h245_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 int dissect_h245_INTEGER_1_65025(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, 65025U, NULL, false); return offset; } static const per_sequence_t T_mobileMultilinkFrameCapability_sequence[] = { { &hf_h245_maximumSampleSize, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 }, { &hf_h245_maximumPayloadLength, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65025 }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_mobileMultilinkFrameCapability(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_h245_T_mobileMultilinkFrameCapability, T_mobileMultilinkFrameCapability_sequence); return offset; } static const per_sequence_t H223Capability_sequence[] = { { &hf_h245_transportWithI_frames, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_videoWithAL1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_videoWithAL2 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_videoWithAL3 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_audioWithAL1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_audioWithAL2 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_audioWithAL3 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_dataWithAL1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_dataWithAL2 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_dataWithAL3 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_maximumAl2SDUSize, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 }, { &hf_h245_maximumAl3SDUSize, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 }, { &hf_h245_maximumDelayJitter, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_1023 }, { &hf_h245_h223MultiplexTableCapability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_h223MultiplexTableCapability }, { &hf_h245_maxMUXPDUSizeCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_nsrpSupport , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_mobileOperationTransmitCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_T_mobileOperationTransmitCapability }, { &hf_h245_h223AnnexCCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_H223AnnexCCapability }, { &hf_h245_bitRate_1_19200, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_INTEGER_1_19200 }, { &hf_h245_mobileMultilinkFrameCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_T_mobileMultilinkFrameCapability }, { NULL, 0, 0, NULL } }; int dissect_h245_H223Capability(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_h245_H223Capability, H223Capability_sequence); return offset; } static int dissect_h245_INTEGER_2_8191(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, 2U, 8191U, NULL, false); return offset; } static int dissect_h245_INTEGER_1_4095(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, 4095U, NULL, false); return offset; } static int dissect_h245_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 V75Capability_sequence[] = { { &hf_h245_audioHeader , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_h245_V75Capability(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_h245_V75Capability, V75Capability_sequence); return offset; } static const per_sequence_t V76Capability_sequence[] = { { &hf_h245_suspendResumeCapabilitywAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_suspendResumeCapabilitywoAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_rejCapability , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_sREJCapability , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_mREJCapability , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_crc8bitCapability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_crc16bitCapability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_crc32bitCapability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_uihCapability , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_numOfDLCS , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_2_8191 }, { &hf_h245_twoOctetAddressFieldCapability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_loopBackTestCapability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_n401Capability , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_4095 }, { &hf_h245_maxWindowSizeCapability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_127 }, { &hf_h245_v75Capability , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_V75Capability }, { NULL, 0, 0, NULL } }; static int dissect_h245_V76Capability(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_h245_V76Capability, V76Capability_sequence); return offset; } static int dissect_h245_INTEGER_1_65536(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 65536U, NULL, false); return offset; } static const per_sequence_t V42bis_sequence[] = { { &hf_h245_numberOfCodewords, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65536 }, { &hf_h245_maximumStringLength, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 }, { NULL, 0, 0, NULL } }; static int dissect_h245_V42bis(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_h245_V42bis, V42bis_sequence); return offset; } static const value_string h245_CompressionType_vals[] = { { 0, "v42bis" }, { 0, NULL } }; static const per_choice_t CompressionType_choice[] = { { 0, &hf_h245_v42bis , ASN1_EXTENSION_ROOT , dissect_h245_V42bis }, { 0, NULL, 0, NULL } }; static int dissect_h245_CompressionType(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_h245_CompressionType, CompressionType_choice, NULL); return offset; } static const value_string h245_T_v76wCompression_vals[] = { { 0, "transmitCompression" }, { 1, "receiveCompression" }, { 2, "transmitAndReceiveCompression" }, { 0, NULL } }; static const per_choice_t T_v76wCompression_choice[] = { { 0, &hf_h245_transmitCompression, ASN1_EXTENSION_ROOT , dissect_h245_CompressionType }, { 1, &hf_h245_receiveCompression, ASN1_EXTENSION_ROOT , dissect_h245_CompressionType }, { 2, &hf_h245_transmitAndReceiveCompression, ASN1_EXTENSION_ROOT , dissect_h245_CompressionType }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_v76wCompression(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_h245_T_v76wCompression, T_v76wCompression_choice, NULL); return offset; } const value_string DataProtocolCapability_vals[] = { { 0, "nonStandard" }, { 1, "v14buffered" }, { 2, "v42lapm" }, { 3, "hdlcFrameTunnelling" }, { 4, "h310SeparateVCStack" }, { 5, "h310SingleVCStack" }, { 6, "transparent" }, { 7, "segmentationAndReassembly" }, { 8, "hdlcFrameTunnelingwSAR" }, { 9, "v120" }, { 10, "separateLANStack" }, { 11, "v76wCompression" }, { 12, "tcp" }, { 13, "udp" }, { 0, NULL } }; static const per_choice_t DataProtocolCapability_choice[] = { { 0, &hf_h245_nonStandard , ASN1_EXTENSION_ROOT , dissect_h245_NonStandardParameter }, { 1, &hf_h245_v14buffered , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_v42lapm , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 3, &hf_h245_hdlcFrameTunnelling, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 4, &hf_h245_h310SeparateVCStack, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 5, &hf_h245_h310SingleVCStack, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 6, &hf_h245_transparent , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 7, &hf_h245_segmentationAndReassembly, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 8, &hf_h245_hdlcFrameTunnelingwSAR, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 9, &hf_h245_v120 , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 10, &hf_h245_separateLANStack, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 11, &hf_h245_v76wCompression, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_v76wCompression }, { 12, &hf_h245_tcp , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 13, &hf_h245_udp , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 0, NULL, 0, NULL } }; int dissect_h245_DataProtocolCapability(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_h245_DataProtocolCapability, DataProtocolCapability_choice, NULL); return offset; } static const per_sequence_t T_t84Restricted_sequence[] = { { &hf_h245_qcif_bool , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_cif_bool , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_ccir601Seq , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_ccir601Prog , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_hdtvSeq , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_hdtvProg , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_g3FacsMH200x100, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_g3FacsMH200x200, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_g4FacsMMR200x100, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_g4FacsMMR200x200, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_jbig200x200Seq , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_jbig200x200Prog, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_jbig300x300Seq , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_jbig300x300Prog, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_digPhotoLow , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_digPhotoMedSeq , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_digPhotoMedProg, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_digPhotoHighSeq, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_digPhotoHighProg, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_t84Restricted(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_h245_T_t84Restricted, T_t84Restricted_sequence); return offset; } static const value_string h245_T84Profile_vals[] = { { 0, "t84Unrestricted" }, { 1, "t84Restricted" }, { 0, NULL } }; static const per_choice_t T84Profile_choice[] = { { 0, &hf_h245_t84Unrestricted, ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 1, &hf_h245_t84Restricted , ASN1_NO_EXTENSIONS , dissect_h245_T_t84Restricted }, { 0, NULL, 0, NULL } }; static int dissect_h245_T84Profile(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_h245_T84Profile, T84Profile_choice, NULL); return offset; } static const per_sequence_t T_t84_sequence[] = { { &hf_h245_t84Protocol , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_DataProtocolCapability }, { &hf_h245_t84Profile , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_T84Profile }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_t84(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_h245_T_t84, T_t84_sequence); return offset; } static int dissect_h245_OCTET_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, false, NULL); return offset; } static const per_sequence_t Nlpid_sequence[] = { { &hf_h245_nlpidProtocol , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_DataProtocolCapability }, { &hf_h245_nlpidData , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING }, { NULL, 0, 0, NULL } }; static int dissect_h245_Nlpid(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_h245_Nlpid, Nlpid_sequence); return offset; } static const value_string h245_T38FaxRateManagement_vals[] = { { 0, "localTCF" }, { 1, "transferredTCF" }, { 0, NULL } }; static const per_choice_t T38FaxRateManagement_choice[] = { { 0, &hf_h245_localTCF , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_transferredTCF , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_T38FaxRateManagement(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_h245_T38FaxRateManagement, T38FaxRateManagement_choice, NULL); return offset; } static int dissect_h245_INTEGER(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_integer(tvb, offset, actx, tree, hf_index, NULL); return offset; } static const value_string h245_T_t38FaxUdpEC_vals[] = { { 0, "t38UDPFEC" }, { 1, "t38UDPRedundancy" }, { 0, NULL } }; static const per_choice_t T_t38FaxUdpEC_choice[] = { { 0, &hf_h245_t38UDPFEC , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_t38UDPRedundancy, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_t38FaxUdpEC(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_h245_T_t38FaxUdpEC, T_t38FaxUdpEC_choice, NULL); return offset; } static const per_sequence_t T38FaxUdpOptions_sequence[] = { { &hf_h245_t38FaxMaxBuffer, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_h245_INTEGER }, { &hf_h245_t38FaxMaxDatagram, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_h245_INTEGER }, { &hf_h245_t38FaxUdpEC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_T_t38FaxUdpEC }, { NULL, 0, 0, NULL } }; static int dissect_h245_T38FaxUdpOptions(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_h245_T38FaxUdpOptions, T38FaxUdpOptions_sequence); return offset; } static const per_sequence_t T38FaxTcpOptions_sequence[] = { { &hf_h245_t38TCPBidirectionalMode, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_h245_T38FaxTcpOptions(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_h245_T38FaxTcpOptions, T38FaxTcpOptions_sequence); return offset; } static const per_sequence_t T38FaxProfile_sequence[] = { { &hf_h245_fillBitRemoval , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_transcodingJBIG, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_transcodingMMR , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_version , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 }, { &hf_h245_t38FaxRateManagement, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_T38FaxRateManagement }, { &hf_h245_t38FaxUdpOptions, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_T38FaxUdpOptions }, { &hf_h245_t38FaxTcpOptions, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_T38FaxTcpOptions }, { NULL, 0, 0, NULL } }; int dissect_h245_T38FaxProfile(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_h245_T38FaxProfile, T38FaxProfile_sequence); return offset; } static const per_sequence_t T_t38fax_sequence[] = { { &hf_h245_t38FaxProtocol , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_DataProtocolCapability }, { &hf_h245_t38FaxProfile , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_T38FaxProfile }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_t38fax(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_h245_T_t38fax, T_t38fax_sequence); return offset; } static int dissect_h245_T_standardOid(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { const char *standard_oid_str = NULL; gef_ctx_t *gefx; offset = dissect_per_object_identifier_str(tvb, offset, actx, tree, hf_index, &standard_oid_str); gefx = gef_ctx_get(actx->private_data); if (gefx) gefx->id = standard_oid_str; if(strcmp(standard_oid_str,"0.0.8.235.0.3.76") == 0) { /* MIKEY */ if (upcoming_channel) upcoming_channel->srtp_flag = true; } if(!h245_lc_dissector && strcmp(standard_oid_str,"0.0.8.245.1.1.1") == 0) h245_lc_dissector = amr_handle; return offset; } static int dissect_h245_OCTET_STRING_SIZE_16(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, 16, 16, false, NULL); return offset; } static int dissect_h245_IA5String_SIZE_1_64(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, 64, false, NULL); return offset; } static const value_string h245_CapabilityIdentifier_vals[] = { { 0, "standard" }, { 1, "h221NonStandard" }, { 2, "uuid" }, { 3, "domainBased" }, { 0, NULL } }; static const per_choice_t CapabilityIdentifier_choice[] = { { 0, &hf_h245_standardOid , ASN1_EXTENSION_ROOT , dissect_h245_T_standardOid }, { 1, &hf_h245_h221NonStandard, ASN1_EXTENSION_ROOT , dissect_h245_NonStandardParameter }, { 2, &hf_h245_uuid , ASN1_EXTENSION_ROOT , dissect_h245_OCTET_STRING_SIZE_16 }, { 3, &hf_h245_domainBased , ASN1_EXTENSION_ROOT , dissect_h245_IA5String_SIZE_1_64 }, { 0, NULL, 0, NULL } }; static int dissect_h245_CapabilityIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { gef_ctx_t *gefx; proto_item* ti; offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_h245_CapabilityIdentifier, CapabilityIdentifier_choice, NULL); gef_ctx_update_key(actx->pinfo->pool, gef_ctx_get(actx->private_data)); gefx = gef_ctx_get(actx->private_data); if (gefx) { ti = proto_tree_add_string(tree, hf_h245_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key); proto_item_set_hidden(ti); dissector_try_string(gef_name_dissector_table, gefx->key, tvb_new_subset_length_caplen(tvb, offset>>3, 0, 0), actx->pinfo, tree, actx); } actx->private_data = gefx; /* subdissector could overwrite it */ return offset; } static int dissect_h245_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 int dissect_h245_T_standard(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { uint32_t value_int = (uint32_t)-1; gef_ctx_t *gefx; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 127U, &value_int, false); gefx = gef_ctx_get(actx->private_data); if (gefx) gefx->id = wmem_strdup_printf(actx->pinfo->pool, "%d", value_int); return offset; } static const value_string h245_ParameterIdentifier_vals[] = { { 0, "standard" }, { 1, "h221NonStandard" }, { 2, "uuid" }, { 3, "domainBased" }, { 0, NULL } }; static const per_choice_t ParameterIdentifier_choice[] = { { 0, &hf_h245_standard , ASN1_EXTENSION_ROOT , dissect_h245_T_standard }, { 1, &hf_h245_h221NonStandard, ASN1_EXTENSION_ROOT , dissect_h245_NonStandardParameter }, { 2, &hf_h245_uuid , ASN1_EXTENSION_ROOT , dissect_h245_OCTET_STRING_SIZE_16 }, { 3, &hf_h245_domainBased , ASN1_EXTENSION_ROOT , dissect_h245_IA5String_SIZE_1_64 }, { 0, NULL, 0, NULL } }; static int dissect_h245_ParameterIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { gef_ctx_t *gefx; proto_item* ti; offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_h245_ParameterIdentifier, ParameterIdentifier_choice, NULL); gef_ctx_update_key(actx->pinfo->pool, gef_ctx_get(actx->private_data)); gefx = gef_ctx_get(actx->private_data); if (gefx) { ti = proto_tree_add_string(tree, hf_h245_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key); proto_item_set_hidden(ti); dissector_try_string_new(gef_name_dissector_table, gefx->key, tvb_new_subset_length_caplen(tvb, offset>>3, 0, 0), actx->pinfo, tree, false, actx); } actx->private_data = gefx; /* subdissector could overwrite it */ return offset; } static int dissect_h245_T_booleanArray(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { uint32_t value; uint8_t *buf; tvbuff_t *value_tvb; gef_ctx_t *gefx; proto_item* ti; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 255U, &value, false); gefx = gef_ctx_get(actx->private_data); if (gefx) { buf = wmem_new(actx->pinfo->pool, uint8_t); buf[0] = value; value_tvb = tvb_new_child_real_data(tvb, buf, sizeof(uint8_t), sizeof(uint8_t)); ti = proto_tree_add_string(tree, hf_h245_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key); proto_item_set_hidden(ti); add_new_data_source(actx->pinfo, value_tvb, "booleanArray"); dissector_try_string_new(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree, false, actx); } return offset; } static int dissect_h245_T_unsignedMin(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { uint32_t value; uint8_t *buf; tvbuff_t *value_tvb; gef_ctx_t *gefx; proto_item* ti; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 65535U, &value, false); gefx = gef_ctx_get(actx->private_data); if (gefx) { buf = (uint8_t *)wmem_new(actx->pinfo->pool, uint16_t); phton16(buf, value); value_tvb = tvb_new_child_real_data(tvb, buf, sizeof(uint16_t), sizeof(uint16_t)); ti = proto_tree_add_string(tree, hf_h245_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key); proto_item_set_hidden(ti); add_new_data_source(actx->pinfo, value_tvb, "unsignedMin"); dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree, actx); } return offset; } static int dissect_h245_T_unsignedMax(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { uint32_t value; uint8_t *buf; tvbuff_t *value_tvb; gef_ctx_t *gefx; proto_item* ti; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 65535U, &value, false); gefx = gef_ctx_get(actx->private_data); if (gefx) { buf = (uint8_t *)wmem_new(actx->pinfo->pool, uint16_t); phton16(buf, value); value_tvb = tvb_new_child_real_data(tvb, buf, sizeof(uint16_t), sizeof(uint16_t)); ti = proto_tree_add_string(tree, hf_h245_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key); proto_item_set_hidden(ti); add_new_data_source(actx->pinfo, value_tvb, "unsignedMax"); dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree, actx); } return offset; } static int dissect_h245_T_unsigned32Min(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { uint32_t value; uint8_t *buf; tvbuff_t *value_tvb; gef_ctx_t *gefx; proto_item* ti; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 4294967295U, &value, false); gefx = gef_ctx_get(actx->private_data); if (gefx) { buf = (uint8_t *)wmem_new(actx->pinfo->pool, uint32_t); phton32(buf, value); value_tvb = tvb_new_child_real_data(tvb, buf, sizeof(uint32_t), sizeof(uint32_t)); ti = proto_tree_add_string(tree, hf_h245_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key); proto_item_set_hidden(ti); add_new_data_source(actx->pinfo, value_tvb, "unsigned32Min"); dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree, actx); } return offset; } static int dissect_h245_T_unsigned32Max(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { uint32_t value; uint8_t *buf; tvbuff_t *value_tvb; gef_ctx_t *gefx; proto_item* ti; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 4294967295U, &value, false); gefx = gef_ctx_get(actx->private_data); if (gefx) { buf = (uint8_t *)wmem_new(actx->pinfo->pool, uint32_t); phton32(buf, value); value_tvb = tvb_new_child_real_data(tvb, buf, sizeof(uint32_t), sizeof(uint32_t)); ti = proto_tree_add_string(tree, hf_h245_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key); proto_item_set_hidden(ti); add_new_data_source(actx->pinfo, value_tvb, "unsigned32Max"); dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree, actx); } return offset; } static int dissect_h245_T_octetString(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *value_tvb; gef_ctx_t *gefx; proto_item* ti; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, false, &value_tvb); gefx = gef_ctx_get(actx->private_data); if (gefx) { ti = proto_tree_add_string(tree, hf_h245_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key); proto_item_set_hidden(ti); dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree, actx); } return offset; } static const per_sequence_t SEQUENCE_OF_GenericParameter_sequence_of[1] = { { &hf_h245_genericParameters_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_GenericParameter }, }; static int dissect_h245_SEQUENCE_OF_GenericParameter(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_h245_SEQUENCE_OF_GenericParameter, SEQUENCE_OF_GenericParameter_sequence_of); return offset; } static const value_string h245_ParameterValue_vals[] = { { 0, "logical" }, { 1, "booleanArray" }, { 2, "unsignedMin" }, { 3, "unsignedMax" }, { 4, "unsigned32Min" }, { 5, "unsigned32Max" }, { 6, "octetString" }, { 7, "genericParameter" }, { 0, NULL } }; static const per_choice_t ParameterValue_choice[] = { { 0, &hf_h245_logical , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_booleanArray , ASN1_EXTENSION_ROOT , dissect_h245_T_booleanArray }, { 2, &hf_h245_unsignedMin , ASN1_EXTENSION_ROOT , dissect_h245_T_unsignedMin }, { 3, &hf_h245_unsignedMax , ASN1_EXTENSION_ROOT , dissect_h245_T_unsignedMax }, { 4, &hf_h245_unsigned32Min , ASN1_EXTENSION_ROOT , dissect_h245_T_unsigned32Min }, { 5, &hf_h245_unsigned32Max , ASN1_EXTENSION_ROOT , dissect_h245_T_unsigned32Max }, { 6, &hf_h245_octetString , ASN1_EXTENSION_ROOT , dissect_h245_T_octetString }, { 7, &hf_h245_genericParameters, ASN1_EXTENSION_ROOT , dissect_h245_SEQUENCE_OF_GenericParameter }, { 0, NULL, 0, NULL } }; static int dissect_h245_ParameterValue(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_h245_ParameterValue, ParameterValue_choice, NULL); return offset; } static const per_sequence_t SEQUENCE_OF_ParameterIdentifier_sequence_of[1] = { { &hf_h245_supersedes_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_ParameterIdentifier }, }; static int dissect_h245_SEQUENCE_OF_ParameterIdentifier(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_h245_SEQUENCE_OF_ParameterIdentifier, SEQUENCE_OF_ParameterIdentifier_sequence_of); return offset; } static const per_sequence_t GenericParameter_sequence[] = { { &hf_h245_parameterIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_ParameterIdentifier }, { &hf_h245_parameterValue , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_ParameterValue }, { &hf_h245_supersedes , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_SEQUENCE_OF_ParameterIdentifier }, { NULL, 0, 0, NULL } }; static int dissect_h245_GenericParameter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { // GenericParameter -> ParameterValue -> ParameterValue/genericParameter -> GenericParameter actx->pinfo->dissection_depth += 3; increment_dissection_depth(actx->pinfo); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_h245_GenericParameter, GenericParameter_sequence); actx->pinfo->dissection_depth -= 3; decrement_dissection_depth(actx->pinfo); return offset; } static int dissect_h245_T_collapsing_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { gef_ctx_t *parent_gefx; parent_gefx = gef_ctx_get(actx->private_data); actx->private_data = gef_ctx_alloc(actx->pinfo->pool, parent_gefx, "collapsing"); offset = dissect_h245_GenericParameter(tvb, offset, actx, tree, hf_index); actx->private_data = parent_gefx; return offset; } static const per_sequence_t T_collapsing_sequence_of[1] = { { &hf_h245_collapsing_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_T_collapsing_item }, }; static int dissect_h245_T_collapsing(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_h245_T_collapsing, T_collapsing_sequence_of); return offset; } static int dissect_h245_T_nonCollapsing_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { gef_ctx_t *parent_gefx; parent_gefx = gef_ctx_get(actx->private_data); actx->private_data = gef_ctx_alloc(actx->pinfo->pool, parent_gefx, "nonCollapsing"); offset = dissect_h245_GenericParameter(tvb, offset, actx, tree, hf_index); actx->private_data = parent_gefx; return offset; } static const per_sequence_t T_nonCollapsing_sequence_of[1] = { { &hf_h245_nonCollapsing_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_T_nonCollapsing_item }, }; static int dissect_h245_T_nonCollapsing(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_h245_T_nonCollapsing, T_nonCollapsing_sequence_of); return offset; } static int dissect_h245_T_nonCollapsingRaw(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *value_tvb; gef_ctx_t *parent_gefx; gef_ctx_t *gefx; proto_item* ti; parent_gefx = gef_ctx_get(actx->private_data); actx->private_data = gef_ctx_alloc(actx->pinfo->pool, parent_gefx, "nonCollapsingRaw"); offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, false, &value_tvb); gefx = gef_ctx_get(actx->private_data); if (gefx) { ti = proto_tree_add_string(tree, hf_h245_debug_dissector_try_string, tvb, offset>>3, 0, gefx->key); proto_item_set_hidden(ti); dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree, actx); } actx->private_data = parent_gefx; return offset; } static const per_sequence_t GenericCapability_sequence[] = { { &hf_h245_capabilityIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityIdentifier }, { &hf_h245_maxBitRate2_0_4294967295, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_4294967295 }, { &hf_h245_collapsing , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_T_collapsing }, { &hf_h245_nonCollapsing , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_T_nonCollapsing }, { &hf_h245_nonCollapsingRaw, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_T_nonCollapsingRaw }, { &hf_h245_transport , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_DataProtocolCapability }, { NULL, 0, 0, NULL } }; static int dissect_h245_GenericCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { void *priv_data = actx->private_data; actx->private_data = gef_ctx_alloc(actx->pinfo->pool, NULL, "GenericCapability"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_h245_GenericCapability, GenericCapability_sequence); actx->private_data = priv_data; return offset; } static const value_string h245_Application_vals[] = { { 0, "nonStandard" }, { 1, "t120" }, { 2, "dsm-cc" }, { 3, "userData" }, { 4, "t84" }, { 5, "t434" }, { 6, "h224" }, { 7, "nlpid" }, { 8, "dsvdControl" }, { 9, "h222DataPartitioning" }, { 10, "t30fax" }, { 11, "t140" }, { 12, "t38fax" }, { 13, "genericDataCapability" }, { 0, NULL } }; static const per_choice_t Application_choice[] = { { 0, &hf_h245_nonStandard , ASN1_EXTENSION_ROOT , dissect_h245_NonStandardParameter }, { 1, &hf_h245_t120 , ASN1_EXTENSION_ROOT , dissect_h245_DataProtocolCapability }, { 2, &hf_h245_dsm_cc , ASN1_EXTENSION_ROOT , dissect_h245_DataProtocolCapability }, { 3, &hf_h245_userData , ASN1_EXTENSION_ROOT , dissect_h245_DataProtocolCapability }, { 4, &hf_h245_t84 , ASN1_EXTENSION_ROOT , dissect_h245_T_t84 }, { 5, &hf_h245_t434 , ASN1_EXTENSION_ROOT , dissect_h245_DataProtocolCapability }, { 6, &hf_h245_h224 , ASN1_EXTENSION_ROOT , dissect_h245_DataProtocolCapability }, { 7, &hf_h245_nlpid , ASN1_EXTENSION_ROOT , dissect_h245_Nlpid }, { 8, &hf_h245_dsvdControl , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 9, &hf_h245_h222DataPartitioning, ASN1_EXTENSION_ROOT , dissect_h245_DataProtocolCapability }, { 10, &hf_h245_t30fax , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DataProtocolCapability }, { 11, &hf_h245_t140 , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DataProtocolCapability }, { 12, &hf_h245_t38fax , ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_t38fax }, { 13, &hf_h245_genericDataCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability }, { 0, NULL, 0, NULL } }; static int dissect_h245_Application(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { int32_t value; offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_h245_Application, Application_choice, &value); codec_type = val_to_str_const(value, h245_Application_vals, ""); return offset; } static const per_sequence_t DataApplicationCapability_sequence[] = { { &hf_h245_application , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_Application }, { &hf_h245_maxBitRate2_0_4294967295, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4294967295 }, { NULL, 0, 0, NULL } }; static int dissect_h245_DataApplicationCapability(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_h245_DataApplicationCapability, DataApplicationCapability_sequence); return offset; } static const per_sequence_t SEQUENCE_OF_DataApplicationCapability_sequence_of[1] = { { &hf_h245_centralizedData_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_DataApplicationCapability }, }; static int dissect_h245_SEQUENCE_OF_DataApplicationCapability(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_h245_SEQUENCE_OF_DataApplicationCapability, SEQUENCE_OF_DataApplicationCapability_sequence_of); return offset; } static const per_sequence_t MediaDistributionCapability_sequence[] = { { &hf_h245_centralizedControl, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_distributedControl, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_centralizedAudio, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_distributedAudio, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_centralizedVideo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_distributedVideo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_centralizedData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_SEQUENCE_OF_DataApplicationCapability }, { &hf_h245_distributedData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_SEQUENCE_OF_DataApplicationCapability }, { NULL, 0, 0, NULL } }; static int dissect_h245_MediaDistributionCapability(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_h245_MediaDistributionCapability, MediaDistributionCapability_sequence); return offset; } static const per_sequence_t SEQUENCE_OF_MediaDistributionCapability_sequence_of[1] = { { &hf_h245_mediaDistributionCapability_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_MediaDistributionCapability }, }; static int dissect_h245_SEQUENCE_OF_MediaDistributionCapability(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_h245_SEQUENCE_OF_MediaDistributionCapability, SEQUENCE_OF_MediaDistributionCapability_sequence_of); return offset; } static const per_sequence_t MultipointCapability_sequence[] = { { &hf_h245_multicastCapability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_multiUniCastConference, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_mediaDistributionCapability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_MediaDistributionCapability }, { NULL, 0, 0, NULL } }; static int dissect_h245_MultipointCapability(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_h245_MultipointCapability, MultipointCapability_sequence); return offset; } static const per_sequence_t T_mcCapability_sequence[] = { { &hf_h245_centralizedConferenceMC, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_decentralizedConferenceMC, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_mcCapability(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_h245_T_mcCapability, T_mcCapability_sequence); return offset; } static int dissect_h245_T_rfc_number(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, 32768U, &rfc_number, true); return offset; } static const value_string h245_T_payloadDescriptor_vals[] = { { 0, "nonStandardIdentifier" }, { 1, "rfc-number" }, { 2, "oid" }, { 0, NULL } }; static const per_choice_t T_payloadDescriptor_choice[] = { { 0, &hf_h245_nonStandard , ASN1_EXTENSION_ROOT , dissect_h245_NonStandardParameter }, { 1, &hf_h245_rfc_number , ASN1_EXTENSION_ROOT , dissect_h245_T_rfc_number }, { 2, &hf_h245_oid , ASN1_EXTENSION_ROOT , dissect_h245_OBJECT_IDENTIFIER }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_payloadDescriptor(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_h245_T_payloadDescriptor, T_payloadDescriptor_choice, NULL); return offset; } static int dissect_h245_T_rtpPayloadType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { unsigned int pt; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 127U, &pt, false); if ((rfc_number == 2198) && upcoming_channel) { upcoming_channel->rfc2198 = pt; } return offset; } static const per_sequence_t RTPPayloadType_sequence[] = { { &hf_h245_payloadDescriptor, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_payloadDescriptor }, { &hf_h245_rtpPayloadType_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_T_rtpPayloadType }, { NULL, 0, 0, NULL } }; static int dissect_h245_RTPPayloadType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { rfc_number = 0; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_h245_RTPPayloadType, RTPPayloadType_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_256_OF_RTPPayloadType_sequence_of[1] = { { &hf_h245_rtpPayloadTypes_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_RTPPayloadType }, }; static int dissect_h245_SEQUENCE_SIZE_1_256_OF_RTPPayloadType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_h245_SEQUENCE_SIZE_1_256_OF_RTPPayloadType, SEQUENCE_SIZE_1_256_OF_RTPPayloadType_sequence_of, 1, 256, false); return offset; } static const per_sequence_t MediaPacketizationCapability_sequence[] = { { &hf_h245_h261aVideoPacketization, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_rtpPayloadTypes, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_SEQUENCE_SIZE_1_256_OF_RTPPayloadType }, { NULL, 0, 0, NULL } }; static int dissect_h245_MediaPacketizationCapability(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_h245_MediaPacketizationCapability, MediaPacketizationCapability_sequence); return offset; } static const value_string h245_QOSMode_vals[] = { { 0, "guaranteedQOS" }, { 1, "controlledLoad" }, { 0, NULL } }; static const per_choice_t QOSMode_choice[] = { { 0, &hf_h245_guaranteedQOS , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_controlledLoad , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_QOSMode(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_h245_QOSMode, QOSMode_choice, NULL); return offset; } static int dissect_h245_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 const per_sequence_t RSVPParameters_sequence[] = { { &hf_h245_qosMode , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_QOSMode }, { &hf_h245_tokenRate , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_4294967295 }, { &hf_h245_bucketSize , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_4294967295 }, { &hf_h245_peakRate , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_4294967295 }, { &hf_h245_minPoliced , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_4294967295 }, { &hf_h245_maxPktSize , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_4294967295 }, { NULL, 0, 0, NULL } }; static int dissect_h245_RSVPParameters(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_h245_RSVPParameters, RSVPParameters_sequence); return offset; } static const per_sequence_t ATMParameters_sequence[] = { { &hf_h245_maxNTUSize , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 }, { &hf_h245_atmUBR , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_atmrtVBR , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_atmnrtVBR , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_atmABR , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_atmCBR , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_h245_ATMParameters(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_h245_ATMParameters, ATMParameters_sequence); return offset; } static const per_sequence_t GenericTransportParameters_sequence[] = { { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_NonStandardParameter }, { &hf_h245_averageRate , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_4294967295 }, { &hf_h245_burst , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_4294967295 }, { &hf_h245_peakRate , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_4294967295 }, { &hf_h245_maxPktSize , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_4294967295 }, { NULL, 0, 0, NULL } }; static int dissect_h245_GenericTransportParameters(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_h245_GenericTransportParameters, GenericTransportParameters_sequence); return offset; } static const per_sequence_t ServicePriorityValue_sequence[] = { { &hf_h245_nonStandardParameter, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_NonStandardParameter }, { &hf_h245_value , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 }, { NULL, 0, 0, NULL } }; static int dissect_h245_ServicePriorityValue(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_h245_ServicePriorityValue, ServicePriorityValue_sequence); return offset; } static int dissect_h245_INTEGER_0_4095(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, 4095U, NULL, false); return offset; } static const per_sequence_t ServicePriority_sequence[] = { { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_NonStandardParameter }, { &hf_h245_servicePrioritySignalled, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_servicePriorityValue, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_ServicePriorityValue }, { &hf_h245_serviceClass , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_INTEGER_0_4095 }, { &hf_h245_serviceSubclass, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_INTEGER_0_255 }, { NULL, 0, 0, NULL } }; static int dissect_h245_ServicePriority(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_h245_ServicePriority, ServicePriority_sequence); return offset; } static const per_sequence_t AuthorizationParameters_sequence[] = { { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_NonStandardParameter }, { NULL, 0, 0, NULL } }; static int dissect_h245_AuthorizationParameters(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_h245_AuthorizationParameters, AuthorizationParameters_sequence); return offset; } static const value_string h245_QOSType_vals[] = { { 0, "desired" }, { 1, "required" }, { 0, NULL } }; static const per_choice_t QOSType_choice[] = { { 0, &hf_h245_desired , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_required , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_QOSType(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_h245_QOSType, QOSType_choice, NULL); return offset; } static const value_string h245_QOSClass_vals[] = { { 0, "class0" }, { 1, "class1" }, { 2, "class2" }, { 3, "class3" }, { 4, "class4" }, { 5, "class5" }, { 0, NULL } }; static const per_choice_t QOSClass_choice[] = { { 0, &hf_h245_class0 , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_class1 , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_class2 , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 3, &hf_h245_class3 , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 4, &hf_h245_class4 , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 5, &hf_h245_class5 , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_QOSClass(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_h245_QOSClass, QOSClass_choice, NULL); return offset; } static const per_sequence_t QOSDescriptor_sequence[] = { { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_NonStandardParameter }, { &hf_h245_qosType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_QOSType }, { &hf_h245_qosClass , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_QOSClass }, { NULL, 0, 0, NULL } }; static int dissect_h245_QOSDescriptor(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_h245_QOSDescriptor, QOSDescriptor_sequence); return offset; } static int dissect_h245_INTEGER_0_63(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, 63U, NULL, false); return offset; } static const per_sequence_t QOSCapability_sequence[] = { { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_NonStandardParameter }, { &hf_h245_rsvpParameters , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_RSVPParameters }, { &hf_h245_atmParameters , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_ATMParameters }, { &hf_h245_localQoS , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_BOOLEAN }, { &hf_h245_genericTransportParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_GenericTransportParameters }, { &hf_h245_servicePriority, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_ServicePriority }, { &hf_h245_authorizationParameter, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_AuthorizationParameters }, { &hf_h245_qosDescriptor , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_QOSDescriptor }, { &hf_h245_dscpValue , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_INTEGER_0_63 }, { NULL, 0, 0, NULL } }; int dissect_h245_QOSCapability(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_h245_QOSCapability, QOSCapability_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_256_OF_QOSCapability_sequence_of[1] = { { &hf_h245_qOSCapabilities_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_QOSCapability }, }; static int dissect_h245_SEQUENCE_SIZE_1_256_OF_QOSCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_h245_SEQUENCE_SIZE_1_256_OF_QOSCapability, SEQUENCE_SIZE_1_256_OF_QOSCapability_sequence_of, 1, 256, false); return offset; } static const per_sequence_t T_atm_AAL5_compressed_sequence[] = { { &hf_h245_variable_delta , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_atm_AAL5_compressed(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_h245_T_atm_AAL5_compressed, T_atm_AAL5_compressed_sequence); return offset; } static const value_string h245_MediaTransportType_vals[] = { { 0, "ip-UDP" }, { 1, "ip-TCP" }, { 2, "atm-AAL5-UNIDIR" }, { 3, "atm-AAL5-BIDIR" }, { 4, "atm-AAL5-compressed" }, { 0, NULL } }; static const per_choice_t MediaTransportType_choice[] = { { 0, &hf_h245_ip_UDP , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_ip_TCP , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_atm_AAL5_UNIDIR, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 3, &hf_h245_atm_AAL5_BIDIR , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 4, &hf_h245_atm_AAL5_compressed, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_atm_AAL5_compressed }, { 0, NULL, 0, NULL } }; static int dissect_h245_MediaTransportType(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_h245_MediaTransportType, MediaTransportType_choice, NULL); return offset; } static const per_sequence_t MediaChannelCapability_sequence[] = { { &hf_h245_mediaTransport , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_MediaTransportType }, { NULL, 0, 0, NULL } }; static int dissect_h245_MediaChannelCapability(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_h245_MediaChannelCapability, MediaChannelCapability_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_256_OF_MediaChannelCapability_sequence_of[1] = { { &hf_h245_mediaChannelCapabilities_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_MediaChannelCapability }, }; static int dissect_h245_SEQUENCE_SIZE_1_256_OF_MediaChannelCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_h245_SEQUENCE_SIZE_1_256_OF_MediaChannelCapability, SEQUENCE_SIZE_1_256_OF_MediaChannelCapability_sequence_of, 1, 256, false); return offset; } static const per_sequence_t TransportCapability_sequence[] = { { &hf_h245_nonStandard , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_NonStandardParameter }, { &hf_h245_qOSCapabilities, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_SEQUENCE_SIZE_1_256_OF_QOSCapability }, { &hf_h245_mediaChannelCapabilities, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_SEQUENCE_SIZE_1_256_OF_MediaChannelCapability }, { NULL, 0, 0, NULL } }; static int dissect_h245_TransportCapability(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_h245_TransportCapability, TransportCapability_sequence); return offset; } static int dissect_h245_INTEGER_1_16(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, 16U, NULL, false); return offset; } static int dissect_h245_INTEGER_0_15(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, 15U, NULL, false); return offset; } static const per_sequence_t T_frameSequence_sequence_of[1] = { { &hf_h245_frameSequence_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 }, }; static int dissect_h245_T_frameSequence(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_h245_T_frameSequence, T_frameSequence_sequence_of, 1, 256, false); return offset; } static const per_sequence_t RTPH263VideoRedundancyFrameMapping_sequence[] = { { &hf_h245_threadNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_15 }, { &hf_h245_frameSequence , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_frameSequence }, { NULL, 0, 0, NULL } }; static int dissect_h245_RTPH263VideoRedundancyFrameMapping(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_h245_RTPH263VideoRedundancyFrameMapping, RTPH263VideoRedundancyFrameMapping_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping_sequence_of[1] = { { &hf_h245_custom_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_RTPH263VideoRedundancyFrameMapping }, }; static int dissect_h245_SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_h245_SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping, SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping_sequence_of, 1, 256, false); return offset; } static const value_string h245_T_frameToThreadMapping_vals[] = { { 0, "roundrobin" }, { 1, "custom" }, { 0, NULL } }; static const per_choice_t T_frameToThreadMapping_choice[] = { { 0, &hf_h245_roundrobin , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_custom , ASN1_EXTENSION_ROOT , dissect_h245_SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_frameToThreadMapping(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_h245_T_frameToThreadMapping, T_frameToThreadMapping_choice, NULL); return offset; } static const per_sequence_t T_containedThreads_sequence_of[1] = { { &hf_h245_containedThreads_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_15 }, }; static int dissect_h245_T_containedThreads(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_h245_T_containedThreads, T_containedThreads_sequence_of, 1, 256, false); return offset; } static const per_sequence_t RTPH263VideoRedundancyEncoding_sequence[] = { { &hf_h245_numberOfThreads, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_16 }, { &hf_h245_framesBetweenSyncPoints, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 }, { &hf_h245_frameToThreadMapping, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_frameToThreadMapping }, { &hf_h245_containedThreads, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_T_containedThreads }, { NULL, 0, 0, NULL } }; static int dissect_h245_RTPH263VideoRedundancyEncoding(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_h245_RTPH263VideoRedundancyEncoding, RTPH263VideoRedundancyEncoding_sequence); return offset; } static const value_string h245_RedundancyEncodingMethod_vals[] = { { 0, "nonStandard" }, { 1, "rtpAudioRedundancyEncoding" }, { 2, "rtpH263VideoRedundancyEncoding" }, { 0, NULL } }; static const per_choice_t RedundancyEncodingMethod_choice[] = { { 0, &hf_h245_nonStandard , ASN1_EXTENSION_ROOT , dissect_h245_NonStandardParameter }, { 1, &hf_h245_rtpAudioRedundancyEncoding, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_rtpH263VideoRedundancyEncoding, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RTPH263VideoRedundancyEncoding }, { 0, NULL, 0, NULL } }; static int dissect_h245_RedundancyEncodingMethod(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_h245_RedundancyEncodingMethod, RedundancyEncodingMethod_choice, NULL); return offset; } static int dissect_h245_CapabilityTableEntryNumber(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 SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber_sequence_of[1] = { { &hf_h245_secondaryEncodingCapability_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber }, }; static int dissect_h245_SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_h245_SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber, SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber_sequence_of, 1, 256, false); return offset; } static const per_sequence_t RedundancyEncodingCapability_sequence[] = { { &hf_h245_redundancyEncodingMethod, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingMethod }, { &hf_h245_primaryEncoding, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber }, { &hf_h245_secondaryEncodingCapability, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber }, { NULL, 0, 0, NULL } }; static int dissect_h245_RedundancyEncodingCapability(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_h245_RedundancyEncodingCapability, RedundancyEncodingCapability_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability_sequence_of[1] = { { &hf_h245_redundancyEncodingCapability_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingCapability }, }; static int dissect_h245_SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_h245_SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability, SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability_sequence_of, 1, 256, false); return offset; } static const per_sequence_t H2250Capability_sequence[] = { { &hf_h245_maximumAudioDelayJitter, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_1023 }, { &hf_h245_receiveMultipointCapability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_MultipointCapability }, { &hf_h245_transmitMultipointCapability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_MultipointCapability }, { &hf_h245_receiveAndTransmitMultipointCapability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_MultipointCapability }, { &hf_h245_mcCapability , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_mcCapability }, { &hf_h245_rtcpVideoControlCapability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_mediaPacketizationCapability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_MediaPacketizationCapability }, { &hf_h245_transportCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_TransportCapability }, { &hf_h245_redundancyEncodingCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability }, { &hf_h245_logicalChannelSwitchingCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_t120DynamicPortCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_h245_H2250Capability(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_h245_H2250Capability, H2250Capability_sequence); return offset; } static const value_string h245_MultiplexCapability_vals[] = { { 0, "nonStandard" }, { 1, "h222Capability" }, { 2, "h223Capability" }, { 3, "v76Capability" }, { 4, "h2250Capability" }, { 5, "genericMultiplexCapability" }, { 0, NULL } }; static const per_choice_t MultiplexCapability_choice[] = { { 0, &hf_h245_nonStandard , ASN1_EXTENSION_ROOT , dissect_h245_NonStandardParameter }, { 1, &hf_h245_h222Capability , ASN1_EXTENSION_ROOT , dissect_h245_H222Capability }, { 2, &hf_h245_h223Capability , ASN1_EXTENSION_ROOT , dissect_h245_H223Capability }, { 3, &hf_h245_v76Capability , ASN1_EXTENSION_ROOT , dissect_h245_V76Capability }, { 4, &hf_h245_h2250Capability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H2250Capability }, { 5, &hf_h245_genericMultiplexCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability }, { 0, NULL, 0, NULL } }; static int dissect_h245_MultiplexCapability(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_h245_MultiplexCapability, MultiplexCapability_choice, NULL); return offset; } static int dissect_h245_INTEGER_1_4(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, 4U, NULL, false); return offset; } static const per_sequence_t H261VideoCapability_sequence[] = { { &hf_h245_qcifMPI_1_4 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_4 }, { &hf_h245_cifMPI_1_4 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_4 }, { &hf_h245_temporalSpatialTradeOffCapability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_maxBitRate_1_19200, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_19200 }, { &hf_h245_stillImageTransmission, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_videoBadMBsCap , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_h245_H261VideoCapability(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_h245_H261VideoCapability, H261VideoCapability_sequence); return offset; } static int dissect_h245_INTEGER_0_1073741823(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, 1073741823U, NULL, false); return offset; } static int dissect_h245_INTEGER_0_262143(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, 262143U, NULL, false); return offset; } static int dissect_h245_INTEGER_0_16383(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, 16383U, NULL, false); return offset; } static const per_sequence_t H262VideoCapability_sequence[] = { { &hf_h245_profileAndLevel_SPatML, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_profileAndLevel_MPatLL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_profileAndLevel_MPatML, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_profileAndLevel_MPatH_14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_profileAndLevel_MPatHL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_profileAndLevel_SNRatLL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_profileAndLevel_SNRatML, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_profileAndLevel_SpatialatH_14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_profileAndLevel_HPatML, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_profileAndLevel_HPatH_14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_profileAndLevel_HPatHL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_videoBitRate , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_1073741823 }, { &hf_h245_vbvBufferSize , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_262143 }, { &hf_h245_samplesPerLine , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_16383 }, { &hf_h245_linesPerFrame , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_16383 }, { &hf_h245_framesPerSecond, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_15 }, { &hf_h245_luminanceSampleRate, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_4294967295 }, { &hf_h245_videoBadMBsCap , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_h245_H262VideoCapability(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_h245_H262VideoCapability, H262VideoCapability_sequence); return offset; } static int dissect_h245_INTEGER_1_32(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, 32U, NULL, false); return offset; } static int dissect_h245_INTEGER_1_192400(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, 192400U, NULL, false); return offset; } static int dissect_h245_INTEGER_0_524287(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, 524287U, NULL, false); return offset; } static int dissect_h245_INTEGER_1_3600(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, 3600U, NULL, false); return offset; } static int dissect_h245_INTEGER_M262144_262143(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, -262144, 262143U, NULL, false); return offset; } static const per_sequence_t TransparencyParameters_sequence[] = { { &hf_h245_presentationOrder, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 }, { &hf_h245_offset_x , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_M262144_262143 }, { &hf_h245_offset_y , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_M262144_262143 }, { &hf_h245_scale_x , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 }, { &hf_h245_scale_y , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 }, { NULL, 0, 0, NULL } }; static int dissect_h245_TransparencyParameters(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_h245_TransparencyParameters, TransparencyParameters_sequence); return offset; } static const per_sequence_t T_additionalPictureMemory_sequence[] = { { &hf_h245_sqcifAdditionalPictureMemory, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_256 }, { &hf_h245_qcifAdditionalPictureMemory, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_256 }, { &hf_h245_cifAdditionalPictureMemory, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_256 }, { &hf_h245_cif4AdditionalPictureMemory, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_256 }, { &hf_h245_cif16AdditionalPictureMemory, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_256 }, { &hf_h245_bigCpfAdditionalPictureMemory, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_256 }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_additionalPictureMemory(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_h245_T_additionalPictureMemory, T_additionalPictureMemory_sequence); return offset; } static const value_string h245_T_videoBackChannelSend_vals[] = { { 0, "none" }, { 1, "ackMessageOnly" }, { 2, "nackMessageOnly" }, { 3, "ackOrNackMessageOnly" }, { 4, "ackAndNackMessage" }, { 0, NULL } }; static const per_choice_t T_videoBackChannelSend_choice[] = { { 0, &hf_h245_none , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_ackMessageOnly , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_nackMessageOnly, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 3, &hf_h245_ackOrNackMessageOnly, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 4, &hf_h245_ackAndNackMessage, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_videoBackChannelSend(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_h245_T_videoBackChannelSend, T_videoBackChannelSend_choice, NULL); return offset; } static int dissect_h245_INTEGER_1_128(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, 128U, NULL, false); return offset; } static int dissect_h245_INTEGER_1_72(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, 72U, NULL, false); return offset; } static const per_sequence_t T_subPictureRemovalParameters_sequence[] = { { &hf_h245_mpuHorizMBs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_128 }, { &hf_h245_mpuVertMBs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_72 }, { &hf_h245_mpuTotalNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65536 }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_subPictureRemovalParameters(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_h245_T_subPictureRemovalParameters, T_subPictureRemovalParameters_sequence); return offset; } static const per_sequence_t T_enhancedReferencePicSelect_sequence[] = { { &hf_h245_subPictureRemovalParameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_T_subPictureRemovalParameters }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_enhancedReferencePicSelect(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_h245_T_enhancedReferencePicSelect, T_enhancedReferencePicSelect_sequence); return offset; } static const per_sequence_t RefPictureSelection_sequence[] = { { &hf_h245_additionalPictureMemory, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_T_additionalPictureMemory }, { &hf_h245_videoMux , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_videoBackChannelSend, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_videoBackChannelSend }, { &hf_h245_enhancedReferencePicSelect, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_T_enhancedReferencePicSelect }, { NULL, 0, 0, NULL } }; static int dissect_h245_RefPictureSelection(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_h245_RefPictureSelection, RefPictureSelection_sequence); return offset; } static int dissect_h245_INTEGER_1000_1001(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, 1000U, 1001U, NULL, false); return offset; } static int dissect_h245_INTEGER_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_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 2048U, NULL, false); return offset; } static const per_sequence_t CustomPictureClockFrequency_sequence[] = { { &hf_h245_clockConversionCode, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1000_1001 }, { &hf_h245_clockDivisor , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_127 }, { &hf_h245_sqcifMPI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_2048 }, { &hf_h245_qcifMPI_1_2048 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_2048 }, { &hf_h245_cifMPI2_1_2048 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_2048 }, { &hf_h245_cif4MPI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_2048 }, { &hf_h245_cif16MPI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_2048 }, { NULL, 0, 0, NULL } }; static int dissect_h245_CustomPictureClockFrequency(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_h245_CustomPictureClockFrequency, CustomPictureClockFrequency_sequence); return offset; } static const per_sequence_t SET_SIZE_1_16_OF_CustomPictureClockFrequency_set_of[1] = { { &hf_h245_customPictureClockFrequency_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_CustomPictureClockFrequency }, }; static int dissect_h245_SET_SIZE_1_16_OF_CustomPictureClockFrequency(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index, ett_h245_SET_SIZE_1_16_OF_CustomPictureClockFrequency, SET_SIZE_1_16_OF_CustomPictureClockFrequency_set_of, 1, 16, false); return offset; } static int dissect_h245_INTEGER_1_31(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, 31U, NULL, false); return offset; } static const per_sequence_t T_customPCF_item_sequence[] = { { &hf_h245_clockConversionCode, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1000_1001 }, { &hf_h245_clockDivisor , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_127 }, { &hf_h245_customMPI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_2048 }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_customPCF_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_h245_T_customPCF_item, T_customPCF_item_sequence); return offset; } static const per_sequence_t T_customPCF_set_of[1] = { { &hf_h245_customPCF_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_T_customPCF_item }, }; static int dissect_h245_T_customPCF(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index, ett_h245_T_customPCF, T_customPCF_set_of, 1, 16, false); return offset; } static const per_sequence_t T_mPI_sequence[] = { { &hf_h245_standardMPI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_31 }, { &hf_h245_customPCF , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_T_customPCF }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_mPI(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_h245_T_mPI, T_mPI_sequence); return offset; } static int dissect_h245_INTEGER_1_14(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, 14U, NULL, false); return offset; } static const per_sequence_t T_pixelAspectCode_set_of[1] = { { &hf_h245_pixelAspectCode_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_14 }, }; static int dissect_h245_T_pixelAspectCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index, ett_h245_T_pixelAspectCode, T_pixelAspectCode_set_of, 1, 14, false); return offset; } static const per_sequence_t T_extendedPAR_item_sequence[] = { { &hf_h245_width , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 }, { &hf_h245_height , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_extendedPAR_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_h245_T_extendedPAR_item, T_extendedPAR_item_sequence); return offset; } static const per_sequence_t T_extendedPAR_set_of[1] = { { &hf_h245_extendedPAR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_T_extendedPAR_item }, }; static int dissect_h245_T_extendedPAR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index, ett_h245_T_extendedPAR, T_extendedPAR_set_of, 1, 256, false); return offset; } static const value_string h245_T_pixelAspectInformation_vals[] = { { 0, "anyPixelAspectRatio" }, { 1, "pixelAspectCode" }, { 2, "extendedPAR" }, { 0, NULL } }; static const per_choice_t T_pixelAspectInformation_choice[] = { { 0, &hf_h245_anyPixelAspectRatio, ASN1_EXTENSION_ROOT , dissect_h245_BOOLEAN }, { 1, &hf_h245_pixelAspectCode, ASN1_EXTENSION_ROOT , dissect_h245_T_pixelAspectCode }, { 2, &hf_h245_extendedPAR , ASN1_EXTENSION_ROOT , dissect_h245_T_extendedPAR }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_pixelAspectInformation(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_h245_T_pixelAspectInformation, T_pixelAspectInformation_choice, NULL); return offset; } static const per_sequence_t CustomPictureFormat_sequence[] = { { &hf_h245_maxCustomPictureWidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_2048 }, { &hf_h245_maxCustomPictureHeight, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_2048 }, { &hf_h245_minCustomPictureWidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_2048 }, { &hf_h245_minCustomPictureHeight, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_2048 }, { &hf_h245_mPI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_mPI }, { &hf_h245_pixelAspectInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_pixelAspectInformation }, { NULL, 0, 0, NULL } }; static int dissect_h245_CustomPictureFormat(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_h245_CustomPictureFormat, CustomPictureFormat_sequence); return offset; } static const per_sequence_t SET_SIZE_1_16_OF_CustomPictureFormat_set_of[1] = { { &hf_h245_customPictureFormat_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_CustomPictureFormat }, }; static int dissect_h245_SET_SIZE_1_16_OF_CustomPictureFormat(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index, ett_h245_SET_SIZE_1_16_OF_CustomPictureFormat, SET_SIZE_1_16_OF_CustomPictureFormat_set_of, 1, 16, false); return offset; } static const per_sequence_t H263Version3Options_sequence[] = { { &hf_h245_dataPartitionedSlices, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_fixedPointIDCT0, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_interlacedFields, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_currentPictureHeaderRepetition, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_previousPictureHeaderRepetition, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_nextPictureHeaderRepetition, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_pictureNumberBoolean, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_spareReferencePictures, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_h245_H263Version3Options(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_h245_H263Version3Options, H263Version3Options_sequence); return offset; } static const per_sequence_t H263ModeComboFlags_sequence[] = { { &hf_h245_unrestrictedVector, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_arithmeticCoding, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_advancedPrediction, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_pbFrames , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_advancedIntraCodingMode, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_deblockingFilterMode, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_unlimitedMotionVectors, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_slicesInOrder_NonRect, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_slicesInOrder_Rect, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_slicesNoOrder_NonRect, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_slicesNoOrder_Rect, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_improvedPBFramesMode, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_referencePicSelect, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_dynamicPictureResizingByFour, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_dynamicPictureResizingSixteenthPel, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_dynamicWarpingHalfPel, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_dynamicWarpingSixteenthPel, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_reducedResolutionUpdate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_independentSegmentDecoding, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_alternateInterVLCMode, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_modifiedQuantizationMode, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_enhancedReferencePicSelectBool, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_h263Version3Options, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_H263Version3Options }, { NULL, 0, 0, NULL } }; static int dissect_h245_H263ModeComboFlags(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_h245_H263ModeComboFlags, H263ModeComboFlags_sequence); return offset; } static const per_sequence_t SET_SIZE_1_16_OF_H263ModeComboFlags_set_of[1] = { { &hf_h245_h263VideoCoupledModes_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_H263ModeComboFlags }, }; static int dissect_h245_SET_SIZE_1_16_OF_H263ModeComboFlags(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index, ett_h245_SET_SIZE_1_16_OF_H263ModeComboFlags, SET_SIZE_1_16_OF_H263ModeComboFlags_set_of, 1, 16, false); return offset; } static const per_sequence_t H263VideoModeCombos_sequence[] = { { &hf_h245_h263VideoUncoupledModes, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_H263ModeComboFlags }, { &hf_h245_h263VideoCoupledModes, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_16_OF_H263ModeComboFlags }, { NULL, 0, 0, NULL } }; static int dissect_h245_H263VideoModeCombos(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_h245_H263VideoModeCombos, H263VideoModeCombos_sequence); return offset; } static const per_sequence_t SET_SIZE_1_16_OF_H263VideoModeCombos_set_of[1] = { { &hf_h245_modeCombos_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_H263VideoModeCombos }, }; static int dissect_h245_SET_SIZE_1_16_OF_H263VideoModeCombos(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index, ett_h245_SET_SIZE_1_16_OF_H263VideoModeCombos, SET_SIZE_1_16_OF_H263VideoModeCombos_set_of, 1, 16, false); return offset; } static const per_sequence_t H263Options_sequence[] = { { &hf_h245_advancedIntraCodingMode, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_deblockingFilterMode, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_improvedPBFramesMode, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_unlimitedMotionVectors, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_fullPictureFreeze, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_partialPictureFreezeAndRelease, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_resizingPartPicFreezeAndRelease, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_fullPictureSnapshot, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_partialPictureSnapshot, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_videoSegmentTagging, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_progressiveRefinement, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_dynamicPictureResizingByFour, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_dynamicPictureResizingSixteenthPel, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_dynamicWarpingHalfPel, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_dynamicWarpingSixteenthPel, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_independentSegmentDecoding, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_slicesInOrder_NonRect, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_slicesInOrder_Rect, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_slicesNoOrder_NonRect, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_slicesNoOrder_Rect, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_alternateInterVLCMode, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_modifiedQuantizationMode, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_reducedResolutionUpdate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_transparencyParameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_TransparencyParameters }, { &hf_h245_separateVideoBackChannel, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_refPictureSelection, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_RefPictureSelection }, { &hf_h245_customPictureClockFrequency, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_SET_SIZE_1_16_OF_CustomPictureClockFrequency }, { &hf_h245_customPictureFormat, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_SET_SIZE_1_16_OF_CustomPictureFormat }, { &hf_h245_modeCombos , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_SET_SIZE_1_16_OF_H263VideoModeCombos }, { &hf_h245_videoBadMBsCap , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_h263Version3Options, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_H263Version3Options }, { NULL, 0, 0, NULL } }; static int dissect_h245_H263Options(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_h245_H263Options, H263Options_sequence); return offset; } static const per_sequence_t EnhancementOptions_sequence[] = { { &hf_h245_sqcifMPI_1_32 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_32 }, { &hf_h245_qcifMPI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_32 }, { &hf_h245_cifMPI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_32 }, { &hf_h245_cif4MPI_1_32 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_32 }, { &hf_h245_cif16MPI_1_32 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_32 }, { &hf_h245_maxBitRate , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_192400 }, { &hf_h245_unrestrictedVector, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_arithmeticCoding, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_temporalSpatialTradeOffCapability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_slowSqcifMPI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_3600 }, { &hf_h245_slowQcifMPI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_3600 }, { &hf_h245_slowCifMPI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_3600 }, { &hf_h245_slowCif4MPI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_3600 }, { &hf_h245_slowCif16MPI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_3600 }, { &hf_h245_errorCompensation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_h263Options , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_H263Options }, { NULL, 0, 0, NULL } }; static int dissect_h245_EnhancementOptions(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_h245_EnhancementOptions, EnhancementOptions_sequence); return offset; } static const per_sequence_t SET_SIZE_1_14_OF_EnhancementOptions_set_of[1] = { { &hf_h245_snrEnhancement_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_EnhancementOptions }, }; static int dissect_h245_SET_SIZE_1_14_OF_EnhancementOptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index, ett_h245_SET_SIZE_1_14_OF_EnhancementOptions, SET_SIZE_1_14_OF_EnhancementOptions_set_of, 1, 14, false); return offset; } static int dissect_h245_INTEGER_1_64(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, 64U, NULL, false); return offset; } static const per_sequence_t BEnhancementParameters_sequence[] = { { &hf_h245_enhancementOptions, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_EnhancementOptions }, { &hf_h245_numberOfBPictures, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_64 }, { NULL, 0, 0, NULL } }; static int dissect_h245_BEnhancementParameters(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_h245_BEnhancementParameters, BEnhancementParameters_sequence); return offset; } static const per_sequence_t SET_SIZE_1_14_OF_BEnhancementParameters_set_of[1] = { { &hf_h245_bPictureEnhancement_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_BEnhancementParameters }, }; static int dissect_h245_SET_SIZE_1_14_OF_BEnhancementParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index, ett_h245_SET_SIZE_1_14_OF_BEnhancementParameters, SET_SIZE_1_14_OF_BEnhancementParameters_set_of, 1, 14, false); return offset; } static const per_sequence_t EnhancementLayerInfo_sequence[] = { { &hf_h245_baseBitRateConstrained, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_snrEnhancement , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_SET_SIZE_1_14_OF_EnhancementOptions }, { &hf_h245_spatialEnhancement, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_SET_SIZE_1_14_OF_EnhancementOptions }, { &hf_h245_bPictureEnhancement, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_SET_SIZE_1_14_OF_BEnhancementParameters }, { NULL, 0, 0, NULL } }; static int dissect_h245_EnhancementLayerInfo(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_h245_EnhancementLayerInfo, EnhancementLayerInfo_sequence); return offset; } static const per_sequence_t H263VideoCapability_sequence[] = { { &hf_h245_sqcifMPI_1_32 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_32 }, { &hf_h245_qcifMPI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_32 }, { &hf_h245_cifMPI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_32 }, { &hf_h245_cif4MPI_1_32 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_32 }, { &hf_h245_cif16MPI_1_32 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_32 }, { &hf_h245_maxBitRate , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_192400 }, { &hf_h245_unrestrictedVector, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_arithmeticCoding, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_advancedPrediction, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_pbFrames , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_temporalSpatialTradeOffCapability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_hrd_B , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_524287 }, { &hf_h245_bppMaxKb , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_65535 }, { &hf_h245_slowSqcifMPI , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_INTEGER_1_3600 }, { &hf_h245_slowQcifMPI , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_INTEGER_1_3600 }, { &hf_h245_slowCifMPI , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_INTEGER_1_3600 }, { &hf_h245_slowCif4MPI , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_INTEGER_1_3600 }, { &hf_h245_slowCif16MPI , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_INTEGER_1_3600 }, { &hf_h245_errorCompensation, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_enhancementLayerInfo, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_EnhancementLayerInfo }, { &hf_h245_h263Options , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_H263Options }, { NULL, 0, 0, NULL } }; static int dissect_h245_H263VideoCapability(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_h245_H263VideoCapability, H263VideoCapability_sequence); h245_lc_dissector = h263_handle; return offset; } static const per_sequence_t IS11172VideoCapability_sequence[] = { { &hf_h245_constrainedBitstream, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_videoBitRate , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_1073741823 }, { &hf_h245_vbvBufferSize , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_262143 }, { &hf_h245_samplesPerLine , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_16383 }, { &hf_h245_linesPerFrame , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_16383 }, { &hf_h245_pictureRate , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_15 }, { &hf_h245_luminanceSampleRate, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_4294967295 }, { &hf_h245_videoBadMBsCap , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_h245_IS11172VideoCapability(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_h245_IS11172VideoCapability, IS11172VideoCapability_sequence); return offset; } static const per_sequence_t SEQUENCE_OF_VideoCapability_sequence_of[1] = { { &hf_h245_videoCapability_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_VideoCapability }, }; static int dissect_h245_SEQUENCE_OF_VideoCapability(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_h245_SEQUENCE_OF_VideoCapability, SEQUENCE_OF_VideoCapability_sequence_of); return offset; } static const per_sequence_t SEQUENCE_OF_GenericCapability_sequence_of[1] = { { &hf_h245_videoCapabilityExtension_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_GenericCapability }, }; static int dissect_h245_SEQUENCE_OF_GenericCapability(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_h245_SEQUENCE_OF_GenericCapability, SEQUENCE_OF_GenericCapability_sequence_of); return offset; } static const per_sequence_t ExtendedVideoCapability_sequence[] = { { &hf_h245_videoCapability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_VideoCapability }, { &hf_h245_videoCapabilityExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_SEQUENCE_OF_GenericCapability }, { NULL, 0, 0, NULL } }; static int dissect_h245_ExtendedVideoCapability(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_h245_ExtendedVideoCapability, ExtendedVideoCapability_sequence); return offset; } static const value_string h245_VideoCapability_vals[] = { { 0, "nonStandard" }, { 1, "h261VideoCapability" }, { 2, "h262VideoCapability" }, { 3, "h263VideoCapability" }, { 4, "is11172VideoCapability" }, { 5, "genericVideoCapability" }, { 6, "extendedVideoCapability" }, { 0, NULL } }; static const per_choice_t VideoCapability_choice[] = { { 0, &hf_h245_nonStandard , ASN1_EXTENSION_ROOT , dissect_h245_NonStandardParameter }, { 1, &hf_h245_h261VideoCapability, ASN1_EXTENSION_ROOT , dissect_h245_H261VideoCapability }, { 2, &hf_h245_h262VideoCapability, ASN1_EXTENSION_ROOT , dissect_h245_H262VideoCapability }, { 3, &hf_h245_h263VideoCapability, ASN1_EXTENSION_ROOT , dissect_h245_H263VideoCapability }, { 4, &hf_h245_is11172VideoCapability, ASN1_EXTENSION_ROOT , dissect_h245_IS11172VideoCapability }, { 5, &hf_h245_genericVideoCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability }, { 6, &hf_h245_extendedVideoCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ExtendedVideoCapability }, { 0, NULL, 0, NULL } }; static int dissect_h245_VideoCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { // VideoCapability -> ExtendedVideoCapability -> ExtendedVideoCapability/videoCapability -> VideoCapability actx->pinfo->dissection_depth += 3; increment_dissection_depth(actx->pinfo); int32_t value; offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_h245_VideoCapability, VideoCapability_choice, &value); codec_type = val_to_str_const(value, h245_VideoCapability_vals, ""); actx->pinfo->dissection_depth -= 3; decrement_dissection_depth(actx->pinfo); return offset; } static const per_sequence_t T_g7231_sequence[] = { { &hf_h245_maxAl_sduAudioFrames, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 }, { &hf_h245_silenceSuppression, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_g7231(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_h245_T_g7231, T_g7231_sequence); return offset; } static int dissect_h245_INTEGER_1_448(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, 448U, NULL, false); return offset; } static const per_sequence_t IS11172AudioCapability_sequence[] = { { &hf_h245_audioLayer1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_audioLayer2 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_audioLayer3 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_audioSampling32k, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_audioSampling44k1, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_audioSampling48k, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_singleChannel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_twoChannels , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_bitRate_1_448 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_448 }, { NULL, 0, 0, NULL } }; static int dissect_h245_IS11172AudioCapability(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_h245_IS11172AudioCapability, IS11172AudioCapability_sequence); return offset; } static int dissect_h245_INTEGER_1_1130(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, 1130U, NULL, false); return offset; } static const per_sequence_t IS13818AudioCapability_sequence[] = { { &hf_h245_audioLayer1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_audioLayer2 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_audioLayer3 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_audioSampling16k, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_audioSampling22k05, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_audioSampling24k, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_audioSampling32k, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_audioSampling44k1, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_audioSampling48k, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_singleChannel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_twoChannels , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_threeChannels2_1, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_threeChannels3_0, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_fourChannels2_0_2_0, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_fourChannels2_2, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_fourChannels3_1, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_fiveChannels3_0_2_0, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_fiveChannels3_2, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_lowFrequencyEnhancement, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_multilingual , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_bitRate2_1_1130, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_1130 }, { NULL, 0, 0, NULL } }; static int dissect_h245_IS13818AudioCapability(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_h245_IS13818AudioCapability, IS13818AudioCapability_sequence); return offset; } static int dissect_h245_INTEGER_27_78(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, 27U, 78U, NULL, false); return offset; } static int dissect_h245_INTEGER_23_66(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, 23U, 66U, NULL, false); return offset; } static int dissect_h245_INTEGER_6_17(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, 6U, 17U, NULL, false); return offset; } static const per_sequence_t G723AnnexCAudioMode_sequence[] = { { &hf_h245_highRateMode0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_27_78 }, { &hf_h245_highRateMode1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_27_78 }, { &hf_h245_lowRateMode0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_23_66 }, { &hf_h245_lowRateMode1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_23_66 }, { &hf_h245_sidMode0 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_6_17 }, { &hf_h245_sidMode1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_6_17 }, { NULL, 0, 0, NULL } }; static int dissect_h245_G723AnnexCAudioMode(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_h245_G723AnnexCAudioMode, G723AnnexCAudioMode_sequence); return offset; } static const per_sequence_t G7231AnnexCCapability_sequence[] = { { &hf_h245_maxAl_sduAudioFrames, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 }, { &hf_h245_silenceSuppression, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_g723AnnexCAudioMode, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_G723AnnexCAudioMode }, { NULL, 0, 0, NULL } }; static int dissect_h245_G7231AnnexCCapability(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_h245_G7231AnnexCCapability, G7231AnnexCCapability_sequence); return offset; } static const per_sequence_t GSMAudioCapability_sequence[] = { { &hf_h245_audioUnitSize , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 }, { &hf_h245_comfortNoise , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_scrambled , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_h245_GSMAudioCapability(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_h245_GSMAudioCapability, GSMAudioCapability_sequence); return offset; } static const per_sequence_t G729Extensions_sequence[] = { { &hf_h245_audioUnit , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_256 }, { &hf_h245_annexA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_annexB , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_annexD , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_annexE , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_annexF , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_annexG , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_annexH , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_h245_G729Extensions(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_h245_G729Extensions, G729Extensions_sequence); return offset; } static const per_sequence_t VBDCapability_sequence[] = { { &hf_h245_vbd_cap_type , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_AudioCapability }, { NULL, 0, 0, NULL } }; static int dissect_h245_VBDCapability(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_h245_VBDCapability, VBDCapability_sequence); return offset; } static int dissect_h245_GeneralString(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_GeneralString(tvb, offset, actx, tree, hf_index); return offset; } static const per_sequence_t NoPTAudioTelephonyEventCapability_sequence[] = { { &hf_h245_audioTelephoneEvent, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_GeneralString }, { NULL, 0, 0, NULL } }; static int dissect_h245_NoPTAudioTelephonyEventCapability(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_h245_NoPTAudioTelephonyEventCapability, NoPTAudioTelephonyEventCapability_sequence); return offset; } static const per_sequence_t NoPTAudioToneCapability_sequence[] = { { NULL, ASN1_EXTENSION_ROOT, 0, NULL } }; static int dissect_h245_NoPTAudioToneCapability(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_h245_NoPTAudioToneCapability, NoPTAudioToneCapability_sequence); return offset; } static const value_string h245_AudioCapability_vals[] = { { AudioCapability_nonStandard, "nonStandard" }, { AudioCapability_g711Alaw64k, "g711Alaw64k" }, { AudioCapability_g711Alaw56k, "g711Alaw56k" }, { AudioCapability_g711Ulaw64k, "g711Ulaw64k" }, { AudioCapability_g711Ulaw56k, "g711Ulaw56k" }, { AudioCapability_g722_64k, "g722-64k" }, { AudioCapability_g722_56k, "g722-56k" }, { AudioCapability_g722_48k, "g722-48k" }, { AudioCapability_g7231, "g7231" }, { AudioCapability_g728, "g728" }, { AudioCapability_g729, "g729" }, { AudioCapability_g729AnnexA, "g729AnnexA" }, { AudioCapability_is11172AudioCapability, "is11172AudioCapability" }, { AudioCapability_is13818AudioCapability, "is13818AudioCapability" }, { AudioCapability_g729wAnnexB, "g729wAnnexB" }, { AudioCapability_g729AnnexAwAnnexB, "g729AnnexAwAnnexB" }, { AudioCapability_g7231AnnexCCapability, "g7231AnnexCCapability" }, { AudioCapability_gsmFullRate, "gsmFullRate" }, { AudioCapability_gsmHalfRate, "gsmHalfRate" }, { AudioCapability_gsmEnhancedFullRate, "gsmEnhancedFullRate" }, { AudioCapability_genericAudioCapability, "genericAudioCapability" }, { AudioCapability_g729Extensions, "g729Extensions" }, { AudioCapability_vbd, "vbd" }, { AudioCapability_audioTelephonyEvent, "audioTelephonyEvent" }, { AudioCapability_audioTone, "audioTone" }, { 0, NULL } }; static const per_choice_t AudioCapability_choice[] = { { AudioCapability_nonStandard, &hf_h245_nonStandard , ASN1_EXTENSION_ROOT , dissect_h245_NonStandardParameter }, { AudioCapability_g711Alaw64k, &hf_h245_g711Alaw64k , ASN1_EXTENSION_ROOT , dissect_h245_INTEGER_1_256 }, { AudioCapability_g711Alaw56k, &hf_h245_g711Alaw56k , ASN1_EXTENSION_ROOT , dissect_h245_INTEGER_1_256 }, { AudioCapability_g711Ulaw64k, &hf_h245_g711Ulaw64k , ASN1_EXTENSION_ROOT , dissect_h245_INTEGER_1_256 }, { AudioCapability_g711Ulaw56k, &hf_h245_g711Ulaw56k , ASN1_EXTENSION_ROOT , dissect_h245_INTEGER_1_256 }, { AudioCapability_g722_64k, &hf_h245_g722_64k , ASN1_EXTENSION_ROOT , dissect_h245_INTEGER_1_256 }, { AudioCapability_g722_56k, &hf_h245_g722_56k , ASN1_EXTENSION_ROOT , dissect_h245_INTEGER_1_256 }, { AudioCapability_g722_48k, &hf_h245_g722_48k , ASN1_EXTENSION_ROOT , dissect_h245_INTEGER_1_256 }, { AudioCapability_g7231, &hf_h245_g7231 , ASN1_EXTENSION_ROOT , dissect_h245_T_g7231 }, { AudioCapability_g728, &hf_h245_g728 , ASN1_EXTENSION_ROOT , dissect_h245_INTEGER_1_256 }, { AudioCapability_g729, &hf_h245_g729 , ASN1_EXTENSION_ROOT , dissect_h245_INTEGER_1_256 }, { AudioCapability_g729AnnexA, &hf_h245_g729AnnexA , ASN1_EXTENSION_ROOT , dissect_h245_INTEGER_1_256 }, { AudioCapability_is11172AudioCapability, &hf_h245_is11172AudioCapability, ASN1_EXTENSION_ROOT , dissect_h245_IS11172AudioCapability }, { AudioCapability_is13818AudioCapability, &hf_h245_is13818AudioCapability, ASN1_EXTENSION_ROOT , dissect_h245_IS13818AudioCapability }, { AudioCapability_g729wAnnexB, &hf_h245_g729wAnnexB , ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_1_256 }, { AudioCapability_g729AnnexAwAnnexB, &hf_h245_g729AnnexAwAnnexB, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_1_256 }, { AudioCapability_g7231AnnexCCapability, &hf_h245_g7231AnnexCCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_G7231AnnexCCapability }, { AudioCapability_gsmFullRate, &hf_h245_gsmFullRate , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability }, { AudioCapability_gsmHalfRate, &hf_h245_gsmHalfRate , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability }, { AudioCapability_gsmEnhancedFullRate, &hf_h245_gsmEnhancedFullRate, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability }, { AudioCapability_genericAudioCapability, &hf_h245_genericAudioCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability }, { AudioCapability_g729Extensions, &hf_h245_g729Extensions , ASN1_NOT_EXTENSION_ROOT, dissect_h245_G729Extensions }, { AudioCapability_vbd, &hf_h245_vbd , ASN1_NOT_EXTENSION_ROOT, dissect_h245_VBDCapability }, { AudioCapability_audioTelephonyEvent, &hf_h245_audioTelephonyEvent, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NoPTAudioTelephonyEventCapability }, { AudioCapability_audioTone, &hf_h245_audioTone , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NoPTAudioToneCapability }, { 0, NULL, 0, NULL } }; static int dissect_h245_AudioCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { // AudioCapability -> VBDCapability -> AudioCapability actx->pinfo->dissection_depth += 2; increment_dissection_depth(actx->pinfo); int32_t value; offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_h245_AudioCapability, AudioCapability_choice, &value); codec_type = val_to_str_const(value, h245_AudioCapability_short_vals, ""); actx->pinfo->dissection_depth -= 2; decrement_dissection_depth(actx->pinfo); return offset; } static const per_sequence_t T_h233EncryptionReceiveCapability_sequence[] = { { &hf_h245_h233IVResponseTime, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_h233EncryptionReceiveCapability(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_h245_T_h233EncryptionReceiveCapability, T_h233EncryptionReceiveCapability_sequence); return offset; } static const per_sequence_t SEQUENCE_OF_NonStandardParameter_sequence_of[1] = { { &hf_h245_nonStandardParams_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardParameter }, }; static int dissect_h245_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_h245_SEQUENCE_OF_NonStandardParameter, SEQUENCE_OF_NonStandardParameter_sequence_of); return offset; } static const per_sequence_t ConferenceCapability_sequence[] = { { &hf_h245_nonStandardParams, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_SEQUENCE_OF_NonStandardParameter }, { &hf_h245_chairControlCapability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_videoIndicateMixingCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_multipointVisualizationCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_h245_ConferenceCapability(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_h245_ConferenceCapability, ConferenceCapability_sequence); return offset; } static const value_string h245_MediaEncryptionAlgorithm_vals[] = { { 0, "nonStandard" }, { 1, "algorithm" }, { 0, NULL } }; static const per_choice_t MediaEncryptionAlgorithm_choice[] = { { 0, &hf_h245_nonStandard , ASN1_EXTENSION_ROOT , dissect_h245_NonStandardParameter }, { 1, &hf_h245_algorithm , ASN1_EXTENSION_ROOT , dissect_h245_OBJECT_IDENTIFIER }, { 0, NULL, 0, NULL } }; static int dissect_h245_MediaEncryptionAlgorithm(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_h245_MediaEncryptionAlgorithm, MediaEncryptionAlgorithm_choice, NULL); return offset; } static const per_sequence_t EncryptionCapability_sequence_of[1] = { { &hf_h245_EncryptionCapability_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_MediaEncryptionAlgorithm }, }; static int dissect_h245_EncryptionCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_h245_EncryptionCapability, EncryptionCapability_sequence_of, 1, 256, false); return offset; } static const per_sequence_t AuthenticationCapability_sequence[] = { { &hf_h245_nonStandard , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_NonStandardParameter }, { &hf_h245_antiSpamAlgorithm, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_OBJECT_IDENTIFIER }, { NULL, 0, 0, NULL } }; static int dissect_h245_AuthenticationCapability(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_h245_AuthenticationCapability, AuthenticationCapability_sequence); return offset; } static const per_sequence_t IntegrityCapability_sequence[] = { { &hf_h245_nonStandard , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_NonStandardParameter }, { NULL, 0, 0, NULL } }; static int dissect_h245_IntegrityCapability(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_h245_IntegrityCapability, IntegrityCapability_sequence); return offset; } static const per_sequence_t EncryptionAuthenticationAndIntegrity_sequence[] = { { &hf_h245_encryptionCapability, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_EncryptionCapability }, { &hf_h245_authenticationCapability, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_AuthenticationCapability }, { &hf_h245_integrityCapability, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_IntegrityCapability }, { &hf_h245_genericH235SecurityCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_GenericCapability }, { NULL, 0, 0, NULL } }; static int dissect_h245_EncryptionAuthenticationAndIntegrity(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_h245_EncryptionAuthenticationAndIntegrity, EncryptionAuthenticationAndIntegrity_sequence); return offset; } static const per_sequence_t H235SecurityCapability_sequence[] = { { &hf_h245_encryptionAuthenticationAndIntegrity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_EncryptionAuthenticationAndIntegrity }, { &hf_h245_mediaCapability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber }, { NULL, 0, 0, NULL } }; static int dissect_h245_H235SecurityCapability(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_h245_H235SecurityCapability, H235SecurityCapability_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_16_OF_NonStandardParameter_sequence_of[1] = { { &hf_h245_ui_nonStandard_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardParameter }, }; static int dissect_h245_SEQUENCE_SIZE_1_16_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_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_h245_SEQUENCE_SIZE_1_16_OF_NonStandardParameter, SEQUENCE_SIZE_1_16_OF_NonStandardParameter_sequence_of, 1, 16, false); return offset; } static const value_string h245_UserInputCapability_vals[] = { { 0, "nonStandard" }, { 1, "basicString" }, { 2, "iA5String" }, { 3, "generalString" }, { 4, "dtmf" }, { 5, "hookflash" }, { 6, "extendedAlphanumeric" }, { 7, "encryptedBasicString" }, { 8, "encryptedIA5String" }, { 9, "encryptedGeneralString" }, { 10, "secureDTMF" }, { 11, "genericUserInputCapability" }, { 0, NULL } }; static const per_choice_t UserInputCapability_choice[] = { { 0, &hf_h245_ui_nonStandard , ASN1_EXTENSION_ROOT , dissect_h245_SEQUENCE_SIZE_1_16_OF_NonStandardParameter }, { 1, &hf_h245_basicString , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_iA5String , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 3, &hf_h245_generalString , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 4, &hf_h245_dtmf , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 5, &hf_h245_hookflash , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 6, &hf_h245_extendedAlphanumericFlag, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 7, &hf_h245_encryptedBasicString, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 8, &hf_h245_encryptedIA5String, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 9, &hf_h245_encryptedGeneralString, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 10, &hf_h245_secureDTMF , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 11, &hf_h245_genericUserInputCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability }, { 0, NULL, 0, NULL } }; static int dissect_h245_UserInputCapability(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_h245_UserInputCapability, UserInputCapability_choice, NULL); return offset; } static const value_string h245_MultiplexFormat_vals[] = { { 0, "nonStandard" }, { 1, "h222Capability" }, { 2, "h223Capability" }, { 0, NULL } }; static const per_choice_t MultiplexFormat_choice[] = { { 0, &hf_h245_nonStandard , ASN1_EXTENSION_ROOT , dissect_h245_NonStandardParameter }, { 1, &hf_h245_h222Capability , ASN1_EXTENSION_ROOT , dissect_h245_H222Capability }, { 2, &hf_h245_h223Capability , ASN1_EXTENSION_ROOT , dissect_h245_H223Capability }, { 0, NULL, 0, NULL } }; static int dissect_h245_MultiplexFormat(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_h245_MultiplexFormat, MultiplexFormat_choice, NULL); return offset; } static const per_sequence_t AlternativeCapabilitySet_sequence_of[1] = { { &hf_h245_AlternativeCapabilitySet_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber }, }; static int dissect_h245_AlternativeCapabilitySet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_h245_AlternativeCapabilitySet, AlternativeCapabilitySet_sequence_of, 1, 256, false); return offset; } static const per_sequence_t SET_SIZE_1_256_OF_AlternativeCapabilitySet_set_of[1] = { { &hf_h245_simultaneousCapabilities_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_AlternativeCapabilitySet }, }; static int dissect_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index, ett_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet, SET_SIZE_1_256_OF_AlternativeCapabilitySet_set_of, 1, 256, false); return offset; } static const per_sequence_t MultiplexedStreamCapability_sequence[] = { { &hf_h245_multiplexFormat, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexFormat }, { &hf_h245_controlOnMuxStream, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_capabilityOnMuxStream, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet }, { NULL, 0, 0, NULL } }; static int dissect_h245_MultiplexedStreamCapability(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_h245_MultiplexedStreamCapability, MultiplexedStreamCapability_sequence); return offset; } static int dissect_h245_INTEGER_96_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, 96U, 127U, NULL, false); return offset; } static const per_sequence_t AudioTelephonyEventCapability_sequence[] = { { &hf_h245_dynamicRTPPayloadType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_96_127 }, { &hf_h245_audioTelephoneEvent, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_GeneralString }, { NULL, 0, 0, NULL } }; static int dissect_h245_AudioTelephonyEventCapability(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_h245_AudioTelephonyEventCapability, AudioTelephonyEventCapability_sequence); return offset; } static const per_sequence_t AudioToneCapability_sequence[] = { { &hf_h245_dynamicRTPPayloadType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_96_127 }, { NULL, 0, 0, NULL } }; static int dissect_h245_AudioToneCapability(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_h245_AudioToneCapability, AudioToneCapability_sequence); return offset; } static const per_sequence_t T_separateStreamBool_sequence[] = { { &hf_h245_separatePort , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_samePortBool , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_separateStreamBool(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_h245_T_separateStreamBool, T_separateStreamBool_sequence); return offset; } static const per_sequence_t FECC_rfc2733_sequence[] = { { &hf_h245_redundancyEncodingBool, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_separateStreamBool, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_separateStreamBool }, { NULL, 0, 0, NULL } }; static int dissect_h245_FECC_rfc2733(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_h245_FECC_rfc2733, FECC_rfc2733_sequence); return offset; } static const value_string h245_DepFECCapability_vals[] = { { 0, "rfc2733" }, { 0, NULL } }; static const per_choice_t DepFECCapability_choice[] = { { 0, &hf_h245_fecc_rfc2733 , ASN1_EXTENSION_ROOT , dissect_h245_FECC_rfc2733 }, { 0, NULL, 0, NULL } }; static int dissect_h245_DepFECCapability(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_h245_DepFECCapability, DepFECCapability_choice, NULL); return offset; } static const per_sequence_t MultiplePayloadStreamCapability_sequence[] = { { &hf_h245_capabilities , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet }, { NULL, 0, 0, NULL } }; static int dissect_h245_MultiplePayloadStreamCapability(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_h245_MultiplePayloadStreamCapability, MultiplePayloadStreamCapability_sequence); return offset; } static int dissect_h245_MaxRedundancy(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_64b(tvb, offset, actx, tree, hf_index, 1U, NO_BOUND, NULL, false); return offset; } static const value_string h245_Rfc2733Format_vals[] = { { 0, "rfc2733rfc2198" }, { 1, "rfc2733sameport" }, { 2, "rfc2733diffport" }, { 0, NULL } }; static const per_choice_t Rfc2733Format_choice[] = { { 0, &hf_h245_rfc2733rfc2198 , ASN1_NO_EXTENSIONS , dissect_h245_MaxRedundancy }, { 1, &hf_h245_rfc2733sameport, ASN1_NO_EXTENSIONS , dissect_h245_MaxRedundancy }, { 2, &hf_h245_rfc2733diffport, ASN1_NO_EXTENSIONS , dissect_h245_MaxRedundancy }, { 0, NULL, 0, NULL } }; static int dissect_h245_Rfc2733Format(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_h245_Rfc2733Format, Rfc2733Format_choice, NULL); return offset; } static const per_sequence_t FECCapability_sequence[] = { { &hf_h245_protectedCapability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber }, { &hf_h245_fecScheme , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_OBJECT_IDENTIFIER }, { &hf_h245_rfc2733Format , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_Rfc2733Format }, { NULL, 0, 0, NULL } }; static int dissect_h245_FECCapability(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_h245_FECCapability, FECCapability_sequence); return offset; } const value_string h245_Capability_vals[] = { { 0, "nonStandard" }, { 1, "receiveVideoCapability" }, { 2, "transmitVideoCapability" }, { 3, "receiveAndTransmitVideoCapability" }, { 4, "receiveAudioCapability" }, { 5, "transmitAudioCapability" }, { 6, "receiveAndTransmitAudioCapability" }, { 7, "receiveDataApplicationCapability" }, { 8, "transmitDataApplicationCapability" }, { 9, "receiveAndTransmitDataApplicationCapability" }, { 10, "h233EncryptionTransmitCapability" }, { 11, "h233EncryptionReceiveCapability" }, { 12, "conferenceCapability" }, { 13, "h235SecurityCapability" }, { 14, "maxPendingReplacementFor" }, { 15, "receiveUserInputCapability" }, { 16, "transmitUserInputCapability" }, { 17, "receiveAndTransmitUserInputCapability" }, { 18, "genericControlCapability" }, { 19, "receiveMultiplexedStreamCapability" }, { 20, "transmitMultiplexedStreamCapability" }, { 21, "receiveAndTransmitMultiplexedStreamCapability" }, { 22, "receiveRTPAudioTelephonyEventCapability" }, { 23, "receiveRTPAudioToneCapability" }, { 24, "depFecCapability" }, { 25, "multiplePayloadStreamCapability" }, { 26, "fecCapability" }, { 27, "redundancyEncodingCap" }, { 28, "oneOfCapabilities" }, { 0, NULL } }; static const per_choice_t Capability_choice[] = { { 0, &hf_h245_nonStandard , ASN1_EXTENSION_ROOT , dissect_h245_NonStandardParameter }, { 1, &hf_h245_receiveVideoCapability, ASN1_EXTENSION_ROOT , dissect_h245_VideoCapability }, { 2, &hf_h245_transmitVideoCapability, ASN1_EXTENSION_ROOT , dissect_h245_VideoCapability }, { 3, &hf_h245_receiveAndTransmitVideoCapability, ASN1_EXTENSION_ROOT , dissect_h245_VideoCapability }, { 4, &hf_h245_receiveAudioCapability, ASN1_EXTENSION_ROOT , dissect_h245_AudioCapability }, { 5, &hf_h245_transmitAudioCapability, ASN1_EXTENSION_ROOT , dissect_h245_AudioCapability }, { 6, &hf_h245_receiveAndTransmitAudioCapability, ASN1_EXTENSION_ROOT , dissect_h245_AudioCapability }, { 7, &hf_h245_receiveDataApplicationCapability, ASN1_EXTENSION_ROOT , dissect_h245_DataApplicationCapability }, { 8, &hf_h245_transmitDataApplicationCapability, ASN1_EXTENSION_ROOT , dissect_h245_DataApplicationCapability }, { 9, &hf_h245_receiveAndTransmitDataApplicationCapability, ASN1_EXTENSION_ROOT , dissect_h245_DataApplicationCapability }, { 10, &hf_h245_h233EncryptionTransmitCapability, ASN1_EXTENSION_ROOT , dissect_h245_BOOLEAN }, { 11, &hf_h245_h233EncryptionReceiveCapability, ASN1_EXTENSION_ROOT , dissect_h245_T_h233EncryptionReceiveCapability }, { 12, &hf_h245_conferenceCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ConferenceCapability }, { 13, &hf_h245_h235SecurityCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H235SecurityCapability }, { 14, &hf_h245_maxPendingReplacementFor, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_0_255 }, { 15, &hf_h245_receiveUserInputCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_UserInputCapability }, { 16, &hf_h245_transmitUserInputCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_UserInputCapability }, { 17, &hf_h245_receiveAndTransmitUserInputCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_UserInputCapability }, { 18, &hf_h245_genericControlCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability }, { 19, &hf_h245_receiveMultiplexedStreamCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplexedStreamCapability }, { 20, &hf_h245_transmitMultiplexedStreamCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplexedStreamCapability }, { 21, &hf_h245_receiveAndTransmitMultiplexedStreamCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplexedStreamCapability }, { 22, &hf_h245_receiveRTPAudioTelephonyEventCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_AudioTelephonyEventCapability }, { 23, &hf_h245_receiveRTPAudioToneCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_AudioToneCapability }, { 24, &hf_h245_depFecCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_DepFECCapability }, { 25, &hf_h245_multiplePayloadStreamCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplePayloadStreamCapability }, { 26, &hf_h245_fecCapability , ASN1_NOT_EXTENSION_ROOT, dissect_h245_FECCapability }, { 27, &hf_h245_redundancyEncodingCap, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RedundancyEncodingCapability }, { 28, &hf_h245_oneOfCapabilities, ASN1_NOT_EXTENSION_ROOT, dissect_h245_AlternativeCapabilitySet }, { 0, NULL, 0, NULL } }; int dissect_h245_Capability(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_h245_Capability, Capability_choice, NULL); return offset; } static const per_sequence_t CapabilityTableEntry_sequence[] = { { &hf_h245_capabilityTableEntryNumber, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber }, { &hf_h245_capability , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_h245_Capability }, { NULL, 0, 0, NULL } }; static int dissect_h245_CapabilityTableEntry(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_h245_CapabilityTableEntry, CapabilityTableEntry_sequence); return offset; } static const per_sequence_t SET_SIZE_1_256_OF_CapabilityTableEntry_set_of[1] = { { &hf_h245_capabilityTable_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntry }, }; static int dissect_h245_SET_SIZE_1_256_OF_CapabilityTableEntry(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index, ett_h245_SET_SIZE_1_256_OF_CapabilityTableEntry, SET_SIZE_1_256_OF_CapabilityTableEntry_set_of, 1, 256, false); return offset; } static int dissect_h245_CapabilityDescriptorNumber(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, 255U, NULL, false); return offset; } static const per_sequence_t CapabilityDescriptor_sequence[] = { { &hf_h245_capabilityDescriptorNumber, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityDescriptorNumber }, { &hf_h245_simultaneousCapabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet }, { NULL, 0, 0, NULL } }; static int dissect_h245_CapabilityDescriptor(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_h245_CapabilityDescriptor, CapabilityDescriptor_sequence); return offset; } static const per_sequence_t SET_SIZE_1_256_OF_CapabilityDescriptor_set_of[1] = { { &hf_h245_capabilityDescriptors_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityDescriptor }, }; static int dissect_h245_SET_SIZE_1_256_OF_CapabilityDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index, ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptor, SET_SIZE_1_256_OF_CapabilityDescriptor_set_of, 1, 256, false); return offset; } static int dissect_h245_T_subMessageIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { uint32_t subMessageIdentifier; gef_ctx_t *gefx; gefx = gef_ctx_get(actx->private_data); if (gefx) { /* If this is a standard generic message use hf_h245_subMessageIdentifier_standard to get * the value translated and make it fileterable. */ if (strcmp("GenericMessage/0.0.8.239.2", gefx->key) == 0) { hf_index = hf_h245_subMessageIdentifier_standard; } } offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 127U, &subMessageIdentifier, false); if (gefx) { gefx->subid = wmem_strdup_printf(actx->pinfo->pool, "%u", subMessageIdentifier); gef_ctx_update_key(actx->pinfo->pool, gef_ctx_get(actx->private_data)); } if (hf_index == hf_h245_subMessageIdentifier_standard) { col_append_str(actx->pinfo->cinfo, COL_INFO, val_to_str_const(subMessageIdentifier, h245_h239subMessageIdentifier_vals, "") ); snprintf(h245_pi->frame_label, 50, "%s", val_to_str_const(subMessageIdentifier, h245_h239subMessageIdentifier_vals, "")); } return offset; } static int dissect_h245_T_messageContent_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { gef_ctx_t *parent_gefx; parent_gefx = gef_ctx_get(actx->private_data); actx->private_data = gef_ctx_alloc(actx->pinfo->pool, parent_gefx, NULL); offset = dissect_h245_GenericParameter(tvb, offset, actx, tree, hf_index); actx->private_data = parent_gefx; return offset; } static const per_sequence_t T_messageContent_sequence_of[1] = { { &hf_h245_messageContent_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_T_messageContent_item }, }; static int dissect_h245_T_messageContent(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_h245_T_messageContent, T_messageContent_sequence_of); return offset; } static const per_sequence_t GenericMessage_sequence[] = { { &hf_h245_messageIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityIdentifier }, { &hf_h245_subMessageIdentifier, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_T_subMessageIdentifier }, { &hf_h245_messageContent , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_T_messageContent }, { NULL, 0, 0, NULL } }; static int dissect_h245_GenericMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { void *priv_data = actx->private_data; gef_ctx_t *gefx; /* check if not inherited from GenericInformation */ gefx = gef_ctx_get(actx->private_data); if (!gefx) { gefx = gef_ctx_alloc(actx->pinfo->pool, NULL, "GenericMessage"); actx->private_data = gefx; } offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_h245_GenericMessage, GenericMessage_sequence); actx->private_data = priv_data; return offset; } static int dissect_h245_GenericInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { void *priv_data = actx->private_data; actx->private_data = gef_ctx_alloc(actx->pinfo->pool, NULL, "GenericInformation"); offset = dissect_h245_GenericMessage(tvb, offset, actx, tree, hf_index); actx->private_data = priv_data; return offset; } static const per_sequence_t SEQUENCE_OF_GenericInformation_sequence_of[1] = { { &hf_h245_genericInformation_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_GenericInformation }, }; static int dissect_h245_SEQUENCE_OF_GenericInformation(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_h245_SEQUENCE_OF_GenericInformation, SEQUENCE_OF_GenericInformation_sequence_of); return offset; } static const per_sequence_t TerminalCapabilitySet_sequence[] = { { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber }, { &hf_h245_protocolIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_OBJECT_IDENTIFIER }, { &hf_h245_multiplexCapability, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_MultiplexCapability }, { &hf_h245_capabilityTable, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_SET_SIZE_1_256_OF_CapabilityTableEntry }, { &hf_h245_capabilityDescriptors, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_SET_SIZE_1_256_OF_CapabilityDescriptor }, { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_SEQUENCE_OF_GenericInformation }, { NULL, 0, 0, NULL } }; static int dissect_h245_TerminalCapabilitySet(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_h245_TerminalCapabilitySet, TerminalCapabilitySet_sequence); if (h245_pi != NULL) h245_pi->msg_type = H245_TermCapSet; return offset; } static int dissect_h245_LogicalChannelNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { uint32_t value; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 65535U, &value, false); h245_lc_temp = value & 0xfff; return offset; } static int dissect_h245_OLC_fw_lcn(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_h245_LogicalChannelNumber(tvb, offset, actx, tree, hf_index); if (upcoming_olc) upcoming_olc->fwd_lc_num = h245_lc_temp; h223_fw_lc_num = h245_lc_temp; return offset; } static const value_string h245_EncryptionMode_vals[] = { { 0, "nonStandard" }, { 1, "h233Encryption" }, { 0, NULL } }; static const per_choice_t EncryptionMode_choice[] = { { 0, &hf_h245_nonStandard , ASN1_EXTENSION_ROOT , dissect_h245_NonStandardParameter }, { 1, &hf_h245_h233Encryption , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_EncryptionMode(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_h245_EncryptionMode, EncryptionMode_choice, NULL); return offset; } static int dissect_h245_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 per_sequence_t RedundancyEncodingElement_sequence[] = { { &hf_h245_dataType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_DataType }, { &hf_h245_payloadType , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_127 }, { NULL, 0, 0, NULL } }; static int dissect_h245_RedundancyEncodingElement(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_h245_RedundancyEncodingElement, RedundancyEncodingElement_sequence); return offset; } static const per_sequence_t SEQUENCE_OF_RedundancyEncodingElement_sequence_of[1] = { { &hf_h245_secondary_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingElement }, }; static int dissect_h245_SEQUENCE_OF_RedundancyEncodingElement(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_h245_SEQUENCE_OF_RedundancyEncodingElement, SEQUENCE_OF_RedundancyEncodingElement_sequence_of); return offset; } static const per_sequence_t T_rtpRedundancyEncoding_sequence[] = { { &hf_h245_primary , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_RedundancyEncodingElement }, { &hf_h245_secondary , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_SEQUENCE_OF_RedundancyEncodingElement }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_rtpRedundancyEncoding(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_h245_T_rtpRedundancyEncoding, T_rtpRedundancyEncoding_sequence); return offset; } static const per_sequence_t RedundancyEncoding_sequence[] = { { &hf_h245_redundancyEncodingMethod, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingMethod }, { &hf_h245_secondaryEncoding, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_DataType }, { &hf_h245_rtpRedundancyEncoding, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_T_rtpRedundancyEncoding }, { NULL, 0, 0, NULL } }; static int dissect_h245_RedundancyEncoding(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_h245_RedundancyEncoding, RedundancyEncoding_sequence); return offset; } static const per_sequence_t MultiplePayloadStreamElement_sequence[] = { { &hf_h245_dataType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_DataType }, { &hf_h245_payloadType , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_127 }, { NULL, 0, 0, NULL } }; static int dissect_h245_MultiplePayloadStreamElement(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_h245_MultiplePayloadStreamElement, MultiplePayloadStreamElement_sequence); return offset; } static const per_sequence_t SEQUENCE_OF_MultiplePayloadStreamElement_sequence_of[1] = { { &hf_h245_elements_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_MultiplePayloadStreamElement }, }; static int dissect_h245_SEQUENCE_OF_MultiplePayloadStreamElement(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_h245_SEQUENCE_OF_MultiplePayloadStreamElement, SEQUENCE_OF_MultiplePayloadStreamElement_sequence_of); return offset; } static const per_sequence_t MultiplePayloadStream_sequence[] = { { &hf_h245_elements , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_MultiplePayloadStreamElement }, { NULL, 0, 0, NULL } }; static int dissect_h245_MultiplePayloadStream(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_h245_MultiplePayloadStream, MultiplePayloadStream_sequence); return offset; } static const per_sequence_t T_differentPort_sequence[] = { { &hf_h245_protectedSessionID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 }, { &hf_h245_protectedPayloadType, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_127 }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_differentPort(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_h245_T_differentPort, T_differentPort_sequence); return offset; } static const per_sequence_t T_samePort_sequence[] = { { &hf_h245_protectedPayloadType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_127 }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_samePort(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_h245_T_samePort, T_samePort_sequence); return offset; } static const value_string h245_DepSeparateStream_vals[] = { { 0, "differentPort" }, { 1, "samePort" }, { 0, NULL } }; static const per_choice_t DepSeparateStream_choice[] = { { 0, &hf_h245_differentPort , ASN1_EXTENSION_ROOT , dissect_h245_T_differentPort }, { 1, &hf_h245_samePort , ASN1_EXTENSION_ROOT , dissect_h245_T_samePort }, { 0, NULL, 0, NULL } }; static int dissect_h245_DepSeparateStream(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_h245_DepSeparateStream, DepSeparateStream_choice, NULL); return offset; } static const value_string h245_FECdata_mode_vals[] = { { 0, "redundancyEncoding" }, { 1, "separateStream" }, { 0, NULL } }; static const per_choice_t FECdata_mode_choice[] = { { 0, &hf_h245_redundancyEncodingFlag, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_separateStream , ASN1_EXTENSION_ROOT , dissect_h245_DepSeparateStream }, { 0, NULL, 0, NULL } }; static int dissect_h245_FECdata_mode(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_h245_FECdata_mode, FECdata_mode_choice, NULL); return offset; } static const per_sequence_t RFC2733Data_sequence[] = { { &hf_h245_fec_data_mode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_FECdata_mode }, { NULL, 0, 0, NULL } }; static int dissect_h245_RFC2733Data(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_h245_RFC2733Data, RFC2733Data_sequence); return offset; } static const value_string h245_DepFECData_vals[] = { { 0, "rfc2733" }, { 0, NULL } }; static const per_choice_t DepFECData_choice[] = { { 0, &hf_h245_dep_rfc2733 , ASN1_NO_EXTENSIONS , dissect_h245_RFC2733Data }, { 0, NULL, 0, NULL } }; static int dissect_h245_DepFECData(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_h245_DepFECData, DepFECData_choice, NULL); return offset; } static const per_sequence_t T_mode_rfc2733sameport_sequence[] = { { NULL, ASN1_EXTENSION_ROOT, 0, NULL } }; static int dissect_h245_T_mode_rfc2733sameport(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_h245_T_mode_rfc2733sameport, T_mode_rfc2733sameport_sequence); return offset; } static const per_sequence_t T_mode_rfc2733diffport_sequence[] = { { &hf_h245_protectedChannel, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_mode_rfc2733diffport(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_h245_T_mode_rfc2733diffport, T_mode_rfc2733diffport_sequence); return offset; } static const value_string h245_T_pktMode_vals[] = { { 0, "rfc2198coding" }, { 1, "rfc2733sameport" }, { 2, "rfc2733diffport" }, { 0, NULL } }; static const per_choice_t T_pktMode_choice[] = { { 0, &hf_h245_rfc2198coding , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_mode_rfc2733sameport, ASN1_EXTENSION_ROOT , dissect_h245_T_mode_rfc2733sameport }, { 2, &hf_h245_mode_rfc2733diffport, ASN1_EXTENSION_ROOT , dissect_h245_T_mode_rfc2733diffport }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_pktMode(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_h245_T_pktMode, T_pktMode_choice, NULL); return offset; } static const per_sequence_t T_rfc2733_sequence[] = { { &hf_h245_protectedPayloadType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_127 }, { &hf_h245_fecScheme , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_OBJECT_IDENTIFIER }, { &hf_h245_pktMode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_pktMode }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_rfc2733(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_h245_T_rfc2733, T_rfc2733_sequence); return offset; } static const value_string h245_FECData_vals[] = { { 0, "rfc2733" }, { 0, NULL } }; static const per_choice_t FECData_choice[] = { { 0, &hf_h245_rfc2733 , ASN1_EXTENSION_ROOT , dissect_h245_T_rfc2733 }, { 0, NULL, 0, NULL } }; static int dissect_h245_FECData(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_h245_FECData, FECData_choice, NULL); return offset; } static const value_string h245_T_mediaType_vals[] = { { 0, "nonStandard" }, { 1, "videoData" }, { 2, "audioData" }, { 3, "data" }, { 4, "redundancyEncoding" }, { 5, "multiplePayloadStream" }, { 6, "depFec" }, { 7, "fec" }, { 0, NULL } }; static const per_choice_t T_mediaType_choice[] = { { 0, &hf_h245_nonStandard , ASN1_EXTENSION_ROOT , dissect_h245_NonStandardParameter }, { 1, &hf_h245_videoData , ASN1_EXTENSION_ROOT , dissect_h245_VideoCapability }, { 2, &hf_h245_audioData , ASN1_EXTENSION_ROOT , dissect_h245_AudioCapability }, { 3, &hf_h245_data , ASN1_EXTENSION_ROOT , dissect_h245_DataApplicationCapability }, { 4, &hf_h245_redundancyEncoding, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RedundancyEncoding }, { 5, &hf_h245_multiplePayloadStream, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplePayloadStream }, { 6, &hf_h245_depFec , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DepFECData }, { 7, &hf_h245_fec , ASN1_NOT_EXTENSION_ROOT, dissect_h245_FECData }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_mediaType(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_h245_T_mediaType, T_mediaType_choice, NULL); return offset; } static const per_sequence_t H235Media_sequence[] = { { &hf_h245_encryptionAuthenticationAndIntegrity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_EncryptionAuthenticationAndIntegrity }, { &hf_h245_mediaType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_mediaType }, { NULL, 0, 0, NULL } }; static int dissect_h245_H235Media(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_h245_H235Media, H235Media_sequence); return offset; } static const per_sequence_t MultiplexedStreamParameter_sequence[] = { { &hf_h245_multiplexFormat, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexFormat }, { &hf_h245_controlOnMuxStream, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_h245_MultiplexedStreamParameter(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_h245_MultiplexedStreamParameter, MultiplexedStreamParameter_sequence); return offset; } static const value_string h245_DataType_vals[] = { { 0, "nonStandard" }, { 1, "nullData" }, { 2, "videoData" }, { 3, "audioData" }, { 4, "data" }, { 5, "encryptionData" }, { 6, "h235Control" }, { 7, "h235Media" }, { 8, "multiplexedStream" }, { 9, "redundancyEncoding" }, { 10, "multiplePayloadStream" }, { 11, "depFec" }, { 12, "fec" }, { 0, NULL } }; static const per_choice_t DataType_choice[] = { { 0, &hf_h245_nonStandard , ASN1_EXTENSION_ROOT , dissect_h245_NonStandardParameter }, { 1, &hf_h245_nullData , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_videoData , ASN1_EXTENSION_ROOT , dissect_h245_VideoCapability }, { 3, &hf_h245_audioData , ASN1_EXTENSION_ROOT , dissect_h245_AudioCapability }, { 4, &hf_h245_data , ASN1_EXTENSION_ROOT , dissect_h245_DataApplicationCapability }, { 5, &hf_h245_encryptionData , ASN1_EXTENSION_ROOT , dissect_h245_EncryptionMode }, { 6, &hf_h245_h235Control , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NonStandardParameter }, { 7, &hf_h245_h235Media , ASN1_NOT_EXTENSION_ROOT, dissect_h245_H235Media }, { 8, &hf_h245_multiplexedStream, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplexedStreamParameter }, { 9, &hf_h245_redundancyEncoding, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RedundancyEncoding }, { 10, &hf_h245_multiplePayloadStream, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplePayloadStream }, { 11, &hf_h245_depFec , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DepFECData }, { 12, &hf_h245_fec , ASN1_NOT_EXTENSION_ROOT, dissect_h245_FECData }, { 0, NULL, 0, NULL } }; static int dissect_h245_DataType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { // DataType -> H235Media -> H235Media/mediaType -> RedundancyEncoding -> DataType actx->pinfo->dissection_depth += 4; increment_dissection_depth(actx->pinfo); int choice_index; offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_h245_DataType, DataType_choice, &choice_index); if (upcoming_channel){ if (choice_index==2){ upcoming_channel->is_video=true; }else{ upcoming_channel->is_video=false; } } actx->pinfo->dissection_depth -= 4; decrement_dissection_depth(actx->pinfo); return offset; } static int dissect_h245_INTEGER_0_8191(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, 8191U, NULL, false); return offset; } static const per_sequence_t H222LogicalChannelParameters_sequence[] = { { &hf_h245_resourceID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 }, { &hf_h245_subChannelID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_8191 }, { &hf_h245_pcr_pid , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_8191 }, { &hf_h245_programDescriptors, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_OCTET_STRING }, { &hf_h245_streamDescriptors, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_OCTET_STRING }, { NULL, 0, 0, NULL } }; static int dissect_h245_H222LogicalChannelParameters(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_h245_H222LogicalChannelParameters, H222LogicalChannelParameters_sequence); return offset; } static int dissect_h245_T_h223_al_type_al1Framed(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { if(h223_lc_params_temp) h223_lc_params_temp->al_type = al1Framed; offset = dissect_per_null(tvb, offset, actx, tree, hf_index); return offset; } static int dissect_h245_T_h223_al_type_al1NotFramed(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { if(h223_lc_params_temp) h223_lc_params_temp->al_type = al1NotFramed; offset = dissect_per_null(tvb, offset, actx, tree, hf_index); return offset; } static int dissect_h245_T_h223_al_type_al2WithoutSequenceNumbers(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { if(h223_lc_params_temp) h223_lc_params_temp->al_type = al2WithoutSequenceNumbers; offset = dissect_per_null(tvb, offset, actx, tree, hf_index); return offset; } static int dissect_h245_T_h223_al_type_al2WithSequenceNumbers(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { if(h223_lc_params_temp) h223_lc_params_temp->al_type = al2WithSequenceNumbers; offset = dissect_per_null(tvb, offset, actx, tree, hf_index); return offset; } static int dissect_h245_T_controlFieldOctets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { uint32_t value; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 2U, &value, false); if(h223_lc_params_temp && h223_lc_params_temp->al_params) ((h223_al3_params*)h223_lc_params_temp->al_params)->control_field_octets = value & 3 ; return offset; } static int dissect_h245_T_al3_sendBufferSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { uint32_t value; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 16777215U, &value, false); if(h223_lc_params_temp && h223_lc_params_temp->al_params) ((h223_al3_params*)h223_lc_params_temp->al_params)->send_buffer_size = value & 0xfffff; return offset; } static const per_sequence_t Al3_sequence[] = { { &hf_h245_controlFieldOctets, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_T_controlFieldOctets }, { &hf_h245_al3_sendBufferSize, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_T_al3_sendBufferSize }, { NULL, 0, 0, NULL } }; static int dissect_h245_Al3(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_h245_Al3, Al3_sequence); return offset; } static int dissect_h245_T_h223_al_type_al3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { if(h223_lc_params_temp) { h223_lc_params_temp->al_type = al3; h223_lc_params_temp->al_params = wmem_new(wmem_file_scope(), h223_al3_params); } offset = dissect_h245_Al3(tvb, offset, actx, tree, hf_index); return offset; } static const value_string h245_T_transferMode_vals[] = { { 0, "framed" }, { 1, "unframed" }, { 0, NULL } }; static const per_choice_t T_transferMode_choice[] = { { 0, &hf_h245_framed , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_unframed , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_transferMode(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_h245_T_transferMode, T_transferMode_choice, NULL); return offset; } static const value_string h245_AL1HeaderFEC_vals[] = { { 0, "sebch16-7" }, { 1, "golay24-12" }, { 0, NULL } }; static const per_choice_t AL1HeaderFEC_choice[] = { { 0, &hf_h245_sebch16_7 , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_golay24_12 , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_AL1HeaderFEC(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_h245_AL1HeaderFEC, AL1HeaderFEC_choice, NULL); return offset; } static const value_string h245_AL1CrcLength_vals[] = { { 0, "crc4bit" }, { 1, "crc12bit" }, { 2, "crc20bit" }, { 3, "crc28bit" }, { 4, "crc8bit" }, { 5, "crc16bit" }, { 6, "crc32bit" }, { 7, "crcNotUsed" }, { 0, NULL } }; static const per_choice_t AL1CrcLength_choice[] = { { 0, &hf_h245_crc4bit , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_crc12bit , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_crc20bit , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 3, &hf_h245_crc28bit , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 4, &hf_h245_crc8bit , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 5, &hf_h245_crc16bit , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 6, &hf_h245_crc32bit , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 7, &hf_h245_crcNotUsed , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_AL1CrcLength(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_h245_AL1CrcLength, AL1CrcLength_choice, NULL); return offset; } static int dissect_h245_INTEGER_8_32(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, 8U, 32U, NULL, false); return offset; } static int dissect_h245_INTEGER_0_16(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, 16U, NULL, false); return offset; } static const value_string h245_T_numberOfRetransmissions_vals[] = { { 0, "finite" }, { 1, "infinite" }, { 0, NULL } }; static const per_choice_t T_numberOfRetransmissions_choice[] = { { 0, &hf_h245_finite , ASN1_EXTENSION_ROOT , dissect_h245_INTEGER_0_16 }, { 1, &hf_h245_infinite , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_numberOfRetransmissions(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_h245_T_numberOfRetransmissions, T_numberOfRetransmissions_choice, NULL); return offset; } static const per_sequence_t H223AnnexCArqParameters_sequence[] = { { &hf_h245_numberOfRetransmissions, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_numberOfRetransmissions }, { &hf_h245_sendBufferSize , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_16777215 }, { NULL, 0, 0, NULL } }; static int dissect_h245_H223AnnexCArqParameters(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_h245_H223AnnexCArqParameters, H223AnnexCArqParameters_sequence); return offset; } static const value_string h245_ArqType_vals[] = { { 0, "noArq" }, { 1, "typeIArq" }, { 2, "typeIIArq" }, { 0, NULL } }; static const per_choice_t ArqType_choice[] = { { 0, &hf_h245_noArq , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_typeIArq , ASN1_EXTENSION_ROOT , dissect_h245_H223AnnexCArqParameters }, { 2, &hf_h245_typeIIArq , ASN1_EXTENSION_ROOT , dissect_h245_H223AnnexCArqParameters }, { 0, NULL, 0, NULL } }; static int dissect_h245_ArqType(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_h245_ArqType, ArqType_choice, NULL); return offset; } static const per_sequence_t H223AL1MParameters_sequence[] = { { &hf_h245_transferMode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_transferMode }, { &hf_h245_aL1HeaderFEC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_AL1HeaderFEC }, { &hf_h245_crcLength2 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_AL1CrcLength }, { &hf_h245_rcpcCodeRate , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_8_32 }, { &hf_h245_arqType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_ArqType }, { &hf_h245_alpduInterleaving, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_alsduSplitting , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_rsCodeCorrection, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_INTEGER_0_127 }, { NULL, 0, 0, NULL } }; static int dissect_h245_H223AL1MParameters(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_h245_H223AL1MParameters, H223AL1MParameters_sequence); return offset; } static int dissect_h245_T_h223_al_type_al1M(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { if(h223_lc_params_temp) h223_lc_params_temp->al_type = al1M; offset = dissect_h245_H223AL1MParameters(tvb, offset, actx, tree, hf_index); return offset; } static const value_string h245_AL2HeaderFEC_vals[] = { { 0, "sebch16-5" }, { 1, "golay24-12" }, { 0, NULL } }; static const per_choice_t AL2HeaderFEC_choice[] = { { 0, &hf_h245_sebch16_5 , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_golay24_12 , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_AL2HeaderFEC(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_h245_AL2HeaderFEC, AL2HeaderFEC_choice, NULL); return offset; } static const per_sequence_t H223AL2MParameters_sequence[] = { { &hf_h245_aL2HeaderFEC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_AL2HeaderFEC }, { &hf_h245_alpduInterleaving, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_h245_H223AL2MParameters(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_h245_H223AL2MParameters, H223AL2MParameters_sequence); return offset; } static int dissect_h245_T_h223_al_type_al2M(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { if(h223_lc_params_temp) h223_lc_params_temp->al_type = al2M; offset = dissect_h245_H223AL2MParameters(tvb, offset, actx, tree, hf_index); return offset; } static const value_string h245_T_headerFormat_vals[] = { { 0, "sebch16-7" }, { 1, "golay24-12" }, { 0, NULL } }; static const per_choice_t T_headerFormat_choice[] = { { 0, &hf_h245_sebch16_7 , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_golay24_12 , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_headerFormat(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_h245_T_headerFormat, T_headerFormat_choice, NULL); return offset; } static const value_string h245_AL3CrcLength_vals[] = { { 0, "crc4bit" }, { 1, "crc12bit" }, { 2, "crc20bit" }, { 3, "crc28bit" }, { 4, "crc8bit" }, { 5, "crc16bit" }, { 6, "crc32bit" }, { 7, "crcNotUsed" }, { 0, NULL } }; static const per_choice_t AL3CrcLength_choice[] = { { 0, &hf_h245_crc4bit , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_crc12bit , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_crc20bit , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 3, &hf_h245_crc28bit , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 4, &hf_h245_crc8bit , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 5, &hf_h245_crc16bit , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 6, &hf_h245_crc32bit , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 7, &hf_h245_crcNotUsed , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_AL3CrcLength(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_h245_AL3CrcLength, AL3CrcLength_choice, NULL); return offset; } static const per_sequence_t H223AL3MParameters_sequence[] = { { &hf_h245_headerFormat , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_headerFormat }, { &hf_h245_crlength2 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_AL3CrcLength }, { &hf_h245_rcpcCodeRate , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_8_32 }, { &hf_h245_arqType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_ArqType }, { &hf_h245_alpduInterleaving, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_rsCodeCorrection, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_INTEGER_0_127 }, { NULL, 0, 0, NULL } }; static int dissect_h245_H223AL3MParameters(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_h245_H223AL3MParameters, H223AL3MParameters_sequence); return offset; } static int dissect_h245_T_h223_al_type_al3M(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { if(h223_lc_params_temp) h223_lc_params_temp->al_type = al3M; offset = dissect_h245_H223AL3MParameters(tvb, offset, actx, tree, hf_index); return offset; } static const value_string h245_T_adaptationLayerType_vals[] = { { 0, "nonStandard" }, { 1, "al1Framed" }, { 2, "al1NotFramed" }, { 3, "al2WithoutSequenceNumbers" }, { 4, "al2WithSequenceNumbers" }, { 5, "al3" }, { 6, "al1M" }, { 7, "al2M" }, { 8, "al3M" }, { 0, NULL } }; static const per_choice_t T_adaptationLayerType_choice[] = { { 0, &hf_h245_nonStandard , ASN1_EXTENSION_ROOT , dissect_h245_NonStandardParameter }, { 1, &hf_h245_h223_al_type_al1Framed, ASN1_EXTENSION_ROOT , dissect_h245_T_h223_al_type_al1Framed }, { 2, &hf_h245_h223_al_type_al1NotFramed, ASN1_EXTENSION_ROOT , dissect_h245_T_h223_al_type_al1NotFramed }, { 3, &hf_h245_h223_al_type_al2WithoutSequenceNumbers, ASN1_EXTENSION_ROOT , dissect_h245_T_h223_al_type_al2WithoutSequenceNumbers }, { 4, &hf_h245_h223_al_type_al2WithSequenceNumbers, ASN1_EXTENSION_ROOT , dissect_h245_T_h223_al_type_al2WithSequenceNumbers }, { 5, &hf_h245_h223_al_type_al3, ASN1_EXTENSION_ROOT , dissect_h245_T_h223_al_type_al3 }, { 6, &hf_h245_h223_al_type_al1M, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_h223_al_type_al1M }, { 7, &hf_h245_h223_al_type_al2M, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_h223_al_type_al2M }, { 8, &hf_h245_h223_al_type_al3M, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_h223_al_type_al3M }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_adaptationLayerType(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_h245_T_adaptationLayerType, T_adaptationLayerType_choice, NULL); return offset; } static int dissect_h245_T_h223_lc_segmentableFlag(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { bool value; offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, &value); if(h223_lc_params_temp) h223_lc_params_temp->segmentable = value; return offset; } static const per_sequence_t H223LogicalChannelParameters_sequence[] = { { &hf_h245_adaptationLayerType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_adaptationLayerType }, { &hf_h245_h223_lc_segmentableFlag, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_h223_lc_segmentableFlag }, { NULL, 0, 0, NULL } }; int dissect_h245_H223LogicalChannelParameters(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_h245_H223LogicalChannelParameters, H223LogicalChannelParameters_sequence); return offset; } static int dissect_h245_OLC_fw_h223_params(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { h223_fw_lc_params = wmem_new(wmem_file_scope(), h223_lc_params); h223_fw_lc_params->al_type = al_nonStandard; h223_fw_lc_params->al_params = NULL; h223_fw_lc_params->segmentable = 0; h223_fw_lc_params->subdissector = NULL; h223_lc_params_temp = h223_fw_lc_params; offset = dissect_h245_H223LogicalChannelParameters(tvb, offset, actx, tree, hf_index); return offset; } static const value_string h245_CRCLength_vals[] = { { 0, "crc8bit" }, { 1, "crc16bit" }, { 2, "crc32bit" }, { 0, NULL } }; static const per_choice_t CRCLength_choice[] = { { 0, &hf_h245_crc8bit , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_crc16bit , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_crc32bit , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_CRCLength(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_h245_CRCLength, CRCLength_choice, NULL); return offset; } static const per_sequence_t V76HDLCParameters_sequence[] = { { &hf_h245_crcLength , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_CRCLength }, { &hf_h245_n401 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_4095 }, { &hf_h245_loopbackTestProcedure, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_h245_V76HDLCParameters(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_h245_V76HDLCParameters, V76HDLCParameters_sequence); return offset; } static const value_string h245_T_suspendResume_vals[] = { { 0, "noSuspendResume" }, { 1, "suspendResumewAddress" }, { 2, "suspendResumewoAddress" }, { 0, NULL } }; static const per_choice_t T_suspendResume_choice[] = { { 0, &hf_h245_noSuspendResume, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_suspendResumewAddress, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_suspendResumewoAddress, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_suspendResume(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_h245_T_suspendResume, T_suspendResume_choice, NULL); return offset; } static const value_string h245_T_recovery_vals[] = { { 0, "rej" }, { 1, "sREJ" }, { 2, "mSREJ" }, { 0, NULL } }; static const per_choice_t T_recovery_choice[] = { { 0, &hf_h245_rej , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_sREJ , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_mSREJ , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_recovery(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_h245_T_recovery, T_recovery_choice, NULL); return offset; } static const per_sequence_t T_eRM_sequence[] = { { &hf_h245_windowSize , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_127 }, { &hf_h245_recovery , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_recovery }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_eRM(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_h245_T_eRM, T_eRM_sequence); return offset; } static const value_string h245_V76LCP_mode_vals[] = { { 0, "eRM" }, { 1, "uNERM" }, { 0, NULL } }; static const per_choice_t V76LCP_mode_choice[] = { { 0, &hf_h245_eRM , ASN1_EXTENSION_ROOT , dissect_h245_T_eRM }, { 1, &hf_h245_uNERM , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_V76LCP_mode(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_h245_V76LCP_mode, V76LCP_mode_choice, NULL); return offset; } static const per_sequence_t V75Parameters_sequence[] = { { &hf_h245_audioHeaderPresent, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_h245_V75Parameters(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_h245_V75Parameters, V75Parameters_sequence); return offset; } static const per_sequence_t V76LogicalChannelParameters_sequence[] = { { &hf_h245_hdlcParameters , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_V76HDLCParameters }, { &hf_h245_suspendResume , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_suspendResume }, { &hf_h245_uIH , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_v76_mode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_V76LCP_mode }, { &hf_h245_v75Parameters , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_V75Parameters }, { NULL, 0, 0, NULL } }; static int dissect_h245_V76LogicalChannelParameters(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_h245_V76LogicalChannelParameters, V76LogicalChannelParameters_sequence); return offset; } static int dissect_h245_Ipv4_network(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *value_tvb; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, 4, 4, false, &value_tvb); if (upcoming_channel && upcoming_channel->upcoming_addr) { tvb_memcpy(value_tvb, upcoming_channel->upcoming_addr->addr_buf, 0, 4); set_address(&upcoming_channel->upcoming_addr->addr, AT_IPv4, 4, upcoming_channel->upcoming_addr->addr_buf); } return offset; } static int dissect_h245_TsapIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { uint32_t tsapIdentifier; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 65535U, &tsapIdentifier, false); if (upcoming_channel && upcoming_channel->upcoming_addr) { upcoming_channel->upcoming_addr->port = tsapIdentifier; } return offset; } static const per_sequence_t T_iPAddress_sequence[] = { { &hf_h245_ip4_network , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_Ipv4_network }, { &hf_h245_tsapIdentifier , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_TsapIdentifier }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_iPAddress(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_h245_T_iPAddress, T_iPAddress_sequence); return offset; } static int dissect_h245_OCTET_STRING_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_octet_string(tvb, offset, actx, tree, hf_index, 6, 6, false, NULL); return offset; } static int dissect_h245_OCTET_STRING_SIZE_4(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, 4, 4, false, NULL); return offset; } static int dissect_h245_OCTET_STRING_SIZE_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, 2, 2, false, NULL); return offset; } static const per_sequence_t T_iPXAddress_sequence[] = { { &hf_h245_node , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_6 }, { &hf_h245_netnum , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_4 }, { &hf_h245_ipx_tsapIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_2 }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_iPXAddress(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_h245_T_iPXAddress, T_iPXAddress_sequence); return offset; } static int dissect_h245_T_ip6_network(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *value_tvb; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, 16, 16, false, &value_tvb); if (upcoming_channel && upcoming_channel->upcoming_addr) { tvb_memcpy(value_tvb, upcoming_channel->upcoming_addr->addr_buf, 0, 16); set_address(&upcoming_channel->upcoming_addr->addr, AT_IPv6, 16, upcoming_channel->upcoming_addr->addr_buf); } return offset; } static int dissect_h245_T_ipv6_tsapIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { uint32_t tsapIdentifier; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 65535U, &tsapIdentifier, false); if (upcoming_channel && upcoming_channel->upcoming_addr) { upcoming_channel->upcoming_addr->port = tsapIdentifier; } return offset; } static const per_sequence_t T_iP6Address_sequence[] = { { &hf_h245_ip6_network , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_ip6_network }, { &hf_h245_ipv6_tsapIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_ipv6_tsapIdentifier }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_iP6Address(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_h245_T_iP6Address, T_iP6Address_sequence); return offset; } static const value_string h245_T_routing_vals[] = { { 0, "strict" }, { 1, "loose" }, { 0, NULL } }; static const per_choice_t T_routing_choice[] = { { 0, &hf_h245_strict , ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 1, &hf_h245_loose , ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_routing(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_h245_T_routing, T_routing_choice, NULL); return offset; } static const per_sequence_t T_route_sequence_of[1] = { { &hf_h245_route_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_4 }, }; static int dissect_h245_T_route(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_h245_T_route, T_route_sequence_of); return offset; } static const per_sequence_t T_iPSourceRouteAddress_sequence[] = { { &hf_h245_routing , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_routing }, { &hf_h245_network , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_4 }, { &hf_h245_iPSrcRoute_tsapIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 }, { &hf_h245_route , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_route }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_iPSourceRouteAddress(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_h245_T_iPSourceRouteAddress, T_iPSourceRouteAddress_sequence); return offset; } const value_string h245_UnicastAddress_vals[] = { { 0, "iPAddress" }, { 1, "iPXAddress" }, { 2, "iP6Address" }, { 3, "netBios" }, { 4, "iPSourceRouteAddress" }, { 5, "nsap" }, { 6, "nonStandardAddress" }, { 0, NULL } }; static const per_choice_t UnicastAddress_choice[] = { { 0, &hf_h245_iPAddress , ASN1_EXTENSION_ROOT , dissect_h245_T_iPAddress }, { 1, &hf_h245_iPXAddress , ASN1_EXTENSION_ROOT , dissect_h245_T_iPXAddress }, { 2, &hf_h245_iP6Address , ASN1_EXTENSION_ROOT , dissect_h245_T_iP6Address }, { 3, &hf_h245_netBios , ASN1_EXTENSION_ROOT , dissect_h245_OCTET_STRING_SIZE_16 }, { 4, &hf_h245_iPSourceRouteAddress, ASN1_EXTENSION_ROOT , dissect_h245_T_iPSourceRouteAddress }, { 5, &hf_h245_nsap , ASN1_NOT_EXTENSION_ROOT, dissect_h245_OCTET_STRING_SIZE_1_20 }, { 6, &hf_h245_nonStandardAddress, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NonStandardParameter }, { 0, NULL, 0, NULL } }; int dissect_h245_UnicastAddress(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_h245_UnicastAddress, UnicastAddress_choice, NULL); return offset; } static const per_sequence_t MIPAddress_sequence[] = { { &hf_h245_mip4_network , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_4 }, { &hf_h245_multicast_tsapIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 }, { NULL, 0, 0, NULL } }; static int dissect_h245_MIPAddress(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_h245_MIPAddress, MIPAddress_sequence); return offset; } static const per_sequence_t MIP6Address_sequence[] = { { &hf_h245_mip6_network , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_16 }, { &hf_h245_multicast_IPv6_tsapIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 }, { NULL, 0, 0, NULL } }; static int dissect_h245_MIP6Address(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_h245_MIP6Address, MIP6Address_sequence); return offset; } const value_string h245_MulticastAddress_vals[] = { { 0, "iPAddress" }, { 1, "iP6Address" }, { 2, "nsap" }, { 3, "nonStandardAddress" }, { 0, NULL } }; static const per_choice_t MulticastAddress_choice[] = { { 0, &hf_h245_mIPAddress , ASN1_EXTENSION_ROOT , dissect_h245_MIPAddress }, { 1, &hf_h245_mIP6Address , ASN1_EXTENSION_ROOT , dissect_h245_MIP6Address }, { 2, &hf_h245_nsap , ASN1_NOT_EXTENSION_ROOT, dissect_h245_OCTET_STRING_SIZE_1_20 }, { 3, &hf_h245_nonStandardAddress, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NonStandardParameter }, { 0, NULL, 0, NULL } }; int dissect_h245_MulticastAddress(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_h245_MulticastAddress, MulticastAddress_choice, NULL); return offset; } const value_string h245_TransportAddress_vals[] = { { 0, "unicastAddress" }, { 1, "multicastAddress" }, { 0, NULL } }; static const per_choice_t TransportAddress_choice[] = { { 0, &hf_h245_unicastAddress , ASN1_EXTENSION_ROOT , dissect_h245_UnicastAddress }, { 1, &hf_h245_multicastAddress, ASN1_EXTENSION_ROOT , dissect_h245_MulticastAddress }, { 0, NULL, 0, NULL } }; int dissect_h245_TransportAddress(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_h245_TransportAddress, TransportAddress_choice, NULL); return offset; } static int dissect_h245_T_mediaChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { if (upcoming_channel) upcoming_channel->upcoming_addr = &upcoming_channel->media_addr; offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index); if (upcoming_channel) upcoming_channel->upcoming_addr = NULL; return offset; } static int dissect_h245_T_mediaControlChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { if (upcoming_channel) upcoming_channel->upcoming_addr = &upcoming_channel->media_control_addr; offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index); if (upcoming_channel) upcoming_channel->upcoming_addr = NULL; return offset; } static int dissect_h245_McuNumber(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, 192U, NULL, false); return offset; } static int dissect_h245_TerminalNumber(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, 192U, NULL, false); return offset; } static const per_sequence_t TerminalLabel_sequence[] = { { &hf_h245_mcuNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_McuNumber }, { &hf_h245_terminalNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_TerminalNumber }, { NULL, 0, 0, NULL } }; static int dissect_h245_TerminalLabel(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_h245_TerminalLabel, TerminalLabel_sequence); return offset; } static const value_string h245_T_mediaPacketization_vals[] = { { 0, "h261aVideoPacketization" }, { 1, "rtpPayloadType" }, { 0, NULL } }; static const per_choice_t T_mediaPacketization_choice[] = { { 0, &hf_h245_h261aVideoPacketizationFlag, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_rtpPayloadType , ASN1_NOT_EXTENSION_ROOT, dissect_h245_RTPPayloadType }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_mediaPacketization(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_h245_T_mediaPacketization, T_mediaPacketization_choice, NULL); return offset; } static const per_sequence_t H2250LogicalChannelParameters_sequence[] = { { &hf_h245_nonStandardParams, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_SEQUENCE_OF_NonStandardParameter }, { &hf_h245_sessionID_0_255, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 }, { &hf_h245_associatedSessionID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_255 }, { &hf_h245_mediaChannel , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_T_mediaChannel }, { &hf_h245_mediaGuaranteedDelivery, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_BOOLEAN }, { &hf_h245_mediaControlChannel, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_T_mediaControlChannel }, { &hf_h245_mediaControlGuaranteedDelivery, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_BOOLEAN }, { &hf_h245_silenceSuppression, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_BOOLEAN }, { &hf_h245_destination , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_TerminalLabel }, { &hf_h245_dynamicRTPPayloadType, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_96_127 }, { &hf_h245_mediaPacketization, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_T_mediaPacketization }, { &hf_h245_transportCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_TransportCapability }, { &hf_h245_redundancyEncoding, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_RedundancyEncoding }, { &hf_h245_source , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_TerminalLabel }, { NULL, 0, 0, NULL } }; static int dissect_h245_H2250LogicalChannelParameters(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_h245_H2250LogicalChannelParameters, H2250LogicalChannelParameters_sequence); return offset; } static const value_string h245_OLC_forw_multiplexParameters_vals[] = { { 0, "h222LogicalChannelParameters" }, { 1, "h223LogicalChannelParameters" }, { 2, "v76LogicalChannelParameters" }, { 3, "h2250LogicalChannelParameters" }, { 4, "none" }, { 0, NULL } }; static const per_choice_t OLC_forw_multiplexParameters_choice[] = { { 0, &hf_h245_h222LogicalChannelParameters, ASN1_EXTENSION_ROOT , dissect_h245_H222LogicalChannelParameters }, { 1, &hf_h245_olc_fw_h223_params, ASN1_EXTENSION_ROOT , dissect_h245_OLC_fw_h223_params }, { 2, &hf_h245_v76LogicalChannelParameters, ASN1_EXTENSION_ROOT , dissect_h245_V76LogicalChannelParameters }, { 3, &hf_h245_h2250LogicalChannelParameters, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H2250LogicalChannelParameters }, { 4, &hf_h245_none , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_OLC_forw_multiplexParameters(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_h245_OLC_forw_multiplexParameters, OLC_forw_multiplexParameters_choice, NULL); return offset; } static const per_sequence_t T_forwardLogicalChannelParameters_sequence[] = { { &hf_h245_portNumber , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_65535 }, { &hf_h245_dataType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_DataType }, { &hf_h245_olc_forw_multiplexParameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_OLC_forw_multiplexParameters }, { &hf_h245_forwardLogicalChannelDependency, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_LogicalChannelNumber }, { &hf_h245_replacementFor , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_LogicalChannelNumber }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_forwardLogicalChannelParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { upcoming_channel = (upcoming_olc) ? &upcoming_olc->fwd_lc : NULL; h245_lc_dissector = NULL; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_h245_T_forwardLogicalChannelParameters, T_forwardLogicalChannelParameters_sequence); if(h223_lc_params_temp && h245_lc_dissector) h223_lc_params_temp->subdissector = h245_lc_dissector; else if(h223_lc_params_temp) h223_lc_params_temp->subdissector = data_handle; if (upcoming_channel && codec_type) { (void) g_strlcpy(upcoming_channel->data_type_str, codec_type, sizeof(upcoming_channel->data_type_str)); } upcoming_channel = NULL; return offset; } static int dissect_h245_OLC_rev_h223_params(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { h223_rev_lc_params = wmem_new(wmem_file_scope(), h223_lc_params); h223_rev_lc_params->al_type = al_nonStandard; h223_rev_lc_params->al_params = NULL; h223_rev_lc_params->segmentable = 0; h223_rev_lc_params->subdissector = NULL; h223_lc_params_temp = h223_rev_lc_params; offset = dissect_h245_H223LogicalChannelParameters(tvb, offset, actx, tree, hf_index); return offset; } static const value_string h245_OLC_rev_multiplexParameters_vals[] = { { 0, "h223LogicalChannelParameters" }, { 1, "v76LogicalChannelParameters" }, { 2, "h2250LogicalChannelParameters" }, { 0, NULL } }; static const per_choice_t OLC_rev_multiplexParameters_choice[] = { { 0, &hf_h245_olc_rev_h223_params, ASN1_EXTENSION_ROOT , dissect_h245_OLC_rev_h223_params }, { 1, &hf_h245_v76LogicalChannelParameters, ASN1_EXTENSION_ROOT , dissect_h245_V76LogicalChannelParameters }, { 2, &hf_h245_h2250LogicalChannelParameters, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H2250LogicalChannelParameters }, { 0, NULL, 0, NULL } }; static int dissect_h245_OLC_rev_multiplexParameters(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_h245_OLC_rev_multiplexParameters, OLC_rev_multiplexParameters_choice, NULL); return offset; } static const per_sequence_t OLC_reverseLogicalChannelParameters_sequence[] = { { &hf_h245_dataType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_DataType }, { &hf_h245_olc_rev_multiplexParameter, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_OLC_rev_multiplexParameters }, { &hf_h245_reverseLogicalChannelDependency, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_LogicalChannelNumber }, { &hf_h245_replacementFor , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_LogicalChannelNumber }, { NULL, 0, 0, NULL } }; static int dissect_h245_OLC_reverseLogicalChannelParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { upcoming_channel = (upcoming_olc) ? &upcoming_olc->rev_lc : NULL; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_h245_OLC_reverseLogicalChannelParameters, OLC_reverseLogicalChannelParameters_sequence); if (upcoming_channel && codec_type) { (void) g_strlcpy(upcoming_channel->data_type_str, codec_type, sizeof(upcoming_channel->data_type_str)); } upcoming_channel = NULL; return offset; } static const value_string h245_T_distribution_vals[] = { { 0, "unicast" }, { 1, "multicast" }, { 0, NULL } }; static const per_choice_t T_distribution_choice[] = { { 0, &hf_h245_unicast , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_multicast , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_distribution(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_h245_T_distribution, T_distribution_choice, NULL); return offset; } static int dissect_h245_T_e164Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index, 1, 128, false, "0123456789#*,", 13, NULL); return offset; } static const value_string h245_T_networkAddress_vals[] = { { 0, "q2931Address" }, { 1, "e164Address" }, { 2, "localAreaAddress" }, { 0, NULL } }; static const per_choice_t T_networkAddress_choice[] = { { 0, &hf_h245_q2931Address , ASN1_EXTENSION_ROOT , dissect_h245_Q2931Address }, { 1, &hf_h245_e164Address , ASN1_EXTENSION_ROOT , dissect_h245_T_e164Address }, { 2, &hf_h245_localAreaAddress, ASN1_EXTENSION_ROOT , dissect_h245_TransportAddress }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_networkAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_h245_T_networkAddress, T_networkAddress_choice, NULL); return offset; } static int dissect_h245_OCTET_STRING_SIZE_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_octet_string(tvb, offset, actx, tree, hf_index, 1, 255, false, NULL); return offset; } static const value_string h245_T_t120SetupProcedure_vals[] = { { 0, "originateCall" }, { 1, "waitForCall" }, { 2, "issueQuery" }, { 0, NULL } }; static const per_choice_t T_t120SetupProcedure_choice[] = { { 0, &hf_h245_originateCall , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_waitForCall , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_issueQuery , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_t120SetupProcedure(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_h245_T_t120SetupProcedure, T_t120SetupProcedure_choice, NULL); return offset; } static const per_sequence_t NetworkAccessParameters_sequence[] = { { &hf_h245_distribution , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_T_distribution }, { &hf_h245_networkAddress , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_networkAddress }, { &hf_h245_associateConference, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_externalReference, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_OCTET_STRING_SIZE_1_255 }, { &hf_h245_t120SetupProcedure, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_T_t120SetupProcedure }, { NULL, 0, 0, NULL } }; static int dissect_h245_NetworkAccessParameters(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_h245_NetworkAccessParameters, NetworkAccessParameters_sequence); return offset; } static int dissect_h245_OCTET_STRING_SIZE_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_octet_string(tvb, offset, actx, tree, hf_index, 1, 65535, false, NULL); return offset; } static int dissect_h245_BIT_STRING_SIZE_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_bit_string(tvb, offset, actx, tree, hf_index, 1, 65535, false, NULL, 0, NULL, NULL); return offset; } static const per_sequence_t EscrowData_sequence[] = { { &hf_h245_escrowID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_OBJECT_IDENTIFIER }, { &hf_h245_escrowValue , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BIT_STRING_SIZE_1_65535 }, { NULL, 0, 0, NULL } }; static int dissect_h245_EscrowData(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_h245_EscrowData, EscrowData_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_256_OF_EscrowData_sequence_of[1] = { { &hf_h245_escrowentry_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_EscrowData }, }; static int dissect_h245_SEQUENCE_SIZE_1_256_OF_EscrowData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_h245_SEQUENCE_SIZE_1_256_OF_EscrowData, SEQUENCE_SIZE_1_256_OF_EscrowData_sequence_of, 1, 256, false); return offset; } static const per_sequence_t EncryptionSync_sequence[] = { { &hf_h245_nonStandard , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_NonStandardParameter }, { &hf_h245_synchFlag , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 }, { &hf_h245_h235Key , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_1_65535 }, { &hf_h245_escrowentry , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_SEQUENCE_SIZE_1_256_OF_EscrowData }, { &hf_h245_genericParameter, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_GenericParameter }, { NULL, 0, 0, NULL } }; static int dissect_h245_EncryptionSync(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { void *priv_data = actx->private_data; actx->private_data = gef_ctx_alloc(actx->pinfo->pool, NULL, "EncryptionSync"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_h245_EncryptionSync, EncryptionSync_sequence); actx->private_data = priv_data; return offset; } static const per_sequence_t OpenLogicalChannel_sequence[] = { { &hf_h245_olc_fw_lcn , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_OLC_fw_lcn }, { &hf_h245_forwardLogicalChannelParameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_forwardLogicalChannelParameters }, { &hf_h245_reverseLogicalChannelParameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_OLC_reverseLogicalChannelParameters }, { &hf_h245_separateStack , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_NetworkAccessParameters }, { &hf_h245_encryptionSync , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_EncryptionSync }, { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_SEQUENCE_OF_GenericInformation }, { NULL, 0, 0, NULL } }; int dissect_h245_OpenLogicalChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { int32_t temp; upcoming_olc = (!actx->pinfo->fd->visited) ? wmem_new0(wmem_file_scope(), olc_info_t) : NULL; h223_fw_lc_num = 0; h223_lc_params_temp = NULL; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_h245_OpenLogicalChannel, OpenLogicalChannel_sequence); if(h223_fw_lc_num != 0 && h223_fw_lc_params) { h223_pending_olc *pending = wmem_new(wmem_file_scope(), h223_pending_olc); pending->fw_channel_params = h223_fw_lc_params; pending->rev_channel_params = h223_rev_lc_params; temp = h223_fw_lc_num; if (actx->pinfo->p2p_dir > -1) wmem_map_insert(h223_pending_olc_reqs[actx->pinfo->p2p_dir], GINT_TO_POINTER(temp), pending); } if (upcoming_olc) { if (fast_start) { h245_setup_channels(actx->pinfo, &upcoming_olc->rev_lc); } else { wmem_map_insert(h245_pending_olc_reqs, wmem_strdup(wmem_file_scope(), gen_olc_key(upcoming_olc->fwd_lc_num, &actx->pinfo->dst, &actx->pinfo->src, actx->pinfo->pool)), upcoming_olc); } } upcoming_olc = NULL; if (h245_pi != NULL) h245_pi->msg_type = H245_OpenLogChn; return offset; } static const value_string h245_T_cLC_source_vals[] = { { 0, "user" }, { 1, "lcse" }, { 0, NULL } }; static const per_choice_t T_cLC_source_choice[] = { { 0, &hf_h245_user , ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 1, &hf_h245_lcse , ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_cLC_source(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_h245_T_cLC_source, T_cLC_source_choice, NULL); return offset; } static const value_string h245_Clc_reason_vals[] = { { 0, "unknown" }, { 1, "reopen" }, { 2, "reservationFailure" }, { 3, "networkErrorCode" }, { 0, NULL } }; static const per_choice_t Clc_reason_choice[] = { { 0, &hf_h245_unknown , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_reopen , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_reservationFailure, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 3, &hf_h245_networkErrorCode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_0_255 }, { 0, NULL, 0, NULL } }; static int dissect_h245_Clc_reason(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_h245_Clc_reason, Clc_reason_choice, NULL); return offset; } static const per_sequence_t CloseLogicalChannel_sequence[] = { { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber }, { &hf_h245_cLC_source , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_cLC_source }, { &hf_h245_clc_reason , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_Clc_reason }, { NULL, 0, 0, NULL } }; static int dissect_h245_CloseLogicalChannel(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_h245_CloseLogicalChannel, CloseLogicalChannel_sequence); if (h245_pi != NULL) h245_pi->msg_type = H245_CloseLogChn; return offset; } static const value_string h245_T_reason_vals[] = { { 0, "unknown" }, { 1, "normal" }, { 2, "reopen" }, { 3, "reservationFailure" }, { 4, "networkErrorCode" }, { 0, NULL } }; static const per_choice_t T_reason_choice[] = { { 0, &hf_h245_unknown , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_normal , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_reopen , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 3, &hf_h245_reservationFailure, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 4, &hf_h245_networkErrorCode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_0_255 }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_reason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_h245_T_reason, T_reason_choice, NULL); return offset; } static const per_sequence_t RequestChannelClose_sequence[] = { { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber }, { &hf_h245_qosCapability , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_QOSCapability }, { &hf_h245_reason , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_T_reason }, { NULL, 0, 0, NULL } }; static int dissect_h245_RequestChannelClose(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_h245_RequestChannelClose, RequestChannelClose_sequence); return offset; } static int dissect_h245_MultiplexTableEntryNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { uint32_t value; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 15U, &value, false); h223_mc = value & 0xf; return offset; } static int dissect_h245_T_logicalChannelNum(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { /*MultiplexElement/type/logicalChannelNumber*/ uint32_t value; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 65535U, &value, false); h223_me->sublist = NULL; h223_me->vc = value & 0xffff; return offset; } static const per_sequence_t T_subElementList_sequence_of[1] = { { &hf_h245_subElementList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexElement }, }; static int dissect_h245_T_subElementList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { h223_mux_element dummy_me, *parent_me = h223_me; memset (&dummy_me, 0, sizeof (h223_mux_element)); h223_me = &dummy_me; offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_h245_T_subElementList, T_subElementList_sequence_of, 2, 255, false); parent_me->sublist = dummy_me.next; h223_me = parent_me; h223_me->vc = 0; return offset; } static const value_string h245_Me_type_vals[] = { { 0, "logicalChannelNumber" }, { 1, "subElementList" }, { 0, NULL } }; static const per_choice_t Me_type_choice[] = { { 0, &hf_h245_logicalChannelNum, ASN1_NO_EXTENSIONS , dissect_h245_T_logicalChannelNum }, { 1, &hf_h245_subElementList , ASN1_NO_EXTENSIONS , dissect_h245_T_subElementList }, { 0, NULL, 0, NULL } }; static int dissect_h245_Me_type(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_h245_Me_type, Me_type_choice, NULL); return offset; } static int dissect_h245_ME_finiteRepeatCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { uint32_t value; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 65535U, &value, false); h223_me->repeat_count = value & 0xffff; return offset; } static int dissect_h245_T_untilClosingFlag(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); h223_me->repeat_count = 0; return offset; } static const value_string h245_ME_repeatCount_vals[] = { { 0, "finite" }, { 1, "untilClosingFlag" }, { 0, NULL } }; static const per_choice_t ME_repeatCount_choice[] = { { 0, &hf_h245_me_repeatCount_finite, ASN1_NO_EXTENSIONS , dissect_h245_ME_finiteRepeatCount }, { 1, &hf_h245_untilClosingFlag, ASN1_NO_EXTENSIONS , dissect_h245_T_untilClosingFlag }, { 0, NULL, 0, NULL } }; static int dissect_h245_ME_repeatCount(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_h245_ME_repeatCount, ME_repeatCount_choice, NULL); return offset; } static const per_sequence_t MultiplexElement_sequence[] = { { &hf_h245_me_type , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_Me_type }, { &hf_h245_me_repeatCount , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_ME_repeatCount }, { NULL, 0, 0, NULL } }; static int dissect_h245_MultiplexElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { // MultiplexElement -> MultiplexElement/type -> MultiplexElement/type/subElementList -> MultiplexElement actx->pinfo->dissection_depth += 3; increment_dissection_depth(actx->pinfo); /*MultiplexElement*/ h223_mux_element* me = wmem_new(wmem_file_scope(), h223_mux_element); h223_me->next = me; h223_me = me; h223_me->next = NULL; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_h245_MultiplexElement, MultiplexElement_sequence); actx->pinfo->dissection_depth -= 3; decrement_dissection_depth(actx->pinfo); return offset; } static const per_sequence_t T_elementList_sequence_of[1] = { { &hf_h245_elementList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexElement }, }; static int dissect_h245_T_elementList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { /* create a h223_mux_element to hold onto the head of the list, since * h223_me will track the tail */ h223_mux_element dummy_me; memset (&dummy_me, 0, sizeof (h223_mux_element)); h223_me = &dummy_me; offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_h245_T_elementList, T_elementList_sequence_of, 1, 256, false); /* set h223_me to the head of the list for MEDescriptor to pick up */ h223_me = dummy_me.next; return offset; } static const per_sequence_t MultiplexEntryDescriptor_sequence[] = { { &hf_h245_multiplexTableEntryNumber, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexTableEntryNumber }, { &hf_h245_elementList , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_h245_T_elementList }, { NULL, 0, 0, NULL } }; static int dissect_h245_MultiplexEntryDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { /*MultiplexEntryDescriptor*/ h223_me = NULL; h223_mc = 0; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_h245_MultiplexEntryDescriptor, MultiplexEntryDescriptor_sequence); if(h223_set_mc_handle) (*h223_set_mc_handle)(actx->pinfo, h223_mc, h223_me); /* stuff */ return offset; } static const per_sequence_t SET_SIZE_1_15_OF_MultiplexEntryDescriptor_set_of[1] = { { &hf_h245_multiplexEntryDescriptors_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexEntryDescriptor }, }; static int dissect_h245_SET_SIZE_1_15_OF_MultiplexEntryDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index, ett_h245_SET_SIZE_1_15_OF_MultiplexEntryDescriptor, SET_SIZE_1_15_OF_MultiplexEntryDescriptor_set_of, 1, 15, false); return offset; } static const per_sequence_t MultiplexEntrySend_sequence[] = { { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber }, { &hf_h245_multiplexEntryDescriptors, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexEntryDescriptor }, { NULL, 0, 0, NULL } }; static int dissect_h245_MultiplexEntrySend(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_h245_MultiplexEntrySend, MultiplexEntrySend_sequence); return offset; } static const per_sequence_t SET_SIZE_1_15_OF_MultiplexTableEntryNumber_set_of[1] = { { &hf_h245_multiplexTableEntryNumbers_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexTableEntryNumber }, }; static int dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index, ett_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber, SET_SIZE_1_15_OF_MultiplexTableEntryNumber_set_of, 1, 15, false); return offset; } static const per_sequence_t RequestMultiplexEntry_sequence[] = { { &hf_h245_entryNumbers , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber }, { NULL, 0, 0, NULL } }; static int dissect_h245_RequestMultiplexEntry(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_h245_RequestMultiplexEntry, RequestMultiplexEntry_sequence); return offset; } static const value_string h245_H261Resolution_vals[] = { { 0, "qcif" }, { 1, "cif" }, { 0, NULL } }; static const per_choice_t H261Resolution_choice[] = { { 0, &hf_h245_qcif , ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 1, &hf_h245_cif , ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_H261Resolution(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_h245_H261Resolution, H261Resolution_choice, NULL); return offset; } static const per_sequence_t H261VideoMode_sequence[] = { { &hf_h245_h261_resolution, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_H261Resolution }, { &hf_h245_bitRate_1_19200, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_19200 }, { &hf_h245_stillImageTransmission, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_h245_H261VideoMode(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_h245_H261VideoMode, H261VideoMode_sequence); return offset; } static const value_string h245_T_profileAndLevel_vals[] = { { 0, "profileAndLevel-SPatML" }, { 1, "profileAndLevel-MPatLL" }, { 2, "profileAndLevel-MPatML" }, { 3, "profileAndLevel-MPatH-14" }, { 4, "profileAndLevel-MPatHL" }, { 5, "profileAndLevel-SNRatLL" }, { 6, "profileAndLevel-SNRatML" }, { 7, "profileAndLevel-SpatialatH-14" }, { 8, "profileAndLevel-HPatML" }, { 9, "profileAndLevel-HPatH-14" }, { 10, "profileAndLevel-HPatHL" }, { 0, NULL } }; static const per_choice_t T_profileAndLevel_choice[] = { { 0, &hf_h245_profileAndLevel_SPatMLMode, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_profileAndLevel_MPatLLMode, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_profileAndLevel_MPatMLMode, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 3, &hf_h245_profileAndLevel_MPatH_14Mode, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 4, &hf_h245_profileAndLevel_MPatHLMode, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 5, &hf_h245_profileAndLevel_SNRatLLMode, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 6, &hf_h245_profileAndLevel_SNRatMLMode, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 7, &hf_h245_profileAndLevel_SpatialatH_14Mode, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 8, &hf_h245_profileAndLevel_HPatMLMode, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 9, &hf_h245_profileAndLevel_HPatH_14Mode, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 10, &hf_h245_profileAndLevel_HPatHLMode, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_profileAndLevel(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_h245_T_profileAndLevel, T_profileAndLevel_choice, NULL); return offset; } static const per_sequence_t H262VideoMode_sequence[] = { { &hf_h245_profileAndLevel, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_profileAndLevel }, { &hf_h245_videoBitRate , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_1073741823 }, { &hf_h245_vbvBufferSize , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_262143 }, { &hf_h245_samplesPerLine , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_16383 }, { &hf_h245_linesPerFrame , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_16383 }, { &hf_h245_framesPerSecond, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_15 }, { &hf_h245_luminanceSampleRate, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_4294967295 }, { NULL, 0, 0, NULL } }; static int dissect_h245_H262VideoMode(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_h245_H262VideoMode, H262VideoMode_sequence); return offset; } static const value_string h245_H263Resolution_vals[] = { { 0, "sqcif" }, { 1, "qcif" }, { 2, "cif" }, { 3, "cif4" }, { 4, "cif16" }, { 5, "custom" }, { 0, NULL } }; static const per_choice_t H263Resolution_choice[] = { { 0, &hf_h245_sqcif , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_qcif , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_cif , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 3, &hf_h245_cif4 , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 4, &hf_h245_cif16 , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 5, &hf_h245_custom_res , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_H263Resolution(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_h245_H263Resolution, H263Resolution_choice, NULL); return offset; } static const per_sequence_t H263VideoMode_sequence[] = { { &hf_h245_h263_resolution, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_H263Resolution }, { &hf_h245_bitRate_1_19200, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_19200 }, { &hf_h245_unrestrictedVector, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_arithmeticCoding, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_advancedPrediction, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_pbFrames , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_errorCompensation, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_enhancementLayerInfo, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_EnhancementLayerInfo }, { &hf_h245_h263Options , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_H263Options }, { NULL, 0, 0, NULL } }; static int dissect_h245_H263VideoMode(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_h245_H263VideoMode, H263VideoMode_sequence); return offset; } static const per_sequence_t IS11172VideoMode_sequence[] = { { &hf_h245_constrainedBitstream, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_videoBitRate , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_1073741823 }, { &hf_h245_vbvBufferSize , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_262143 }, { &hf_h245_samplesPerLine , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_16383 }, { &hf_h245_linesPerFrame , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_16383 }, { &hf_h245_pictureRate , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_15 }, { &hf_h245_luminanceSampleRate, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_4294967295 }, { NULL, 0, 0, NULL } }; static int dissect_h245_IS11172VideoMode(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_h245_IS11172VideoMode, IS11172VideoMode_sequence); return offset; } static const value_string h245_VideoMode_vals[] = { { 0, "nonStandard" }, { 1, "h261VideoMode" }, { 2, "h262VideoMode" }, { 3, "h263VideoMode" }, { 4, "is11172VideoMode" }, { 5, "genericVideoMode" }, { 0, NULL } }; static const per_choice_t VideoMode_choice[] = { { 0, &hf_h245_nonStandard , ASN1_EXTENSION_ROOT , dissect_h245_NonStandardParameter }, { 1, &hf_h245_h261VideoMode , ASN1_EXTENSION_ROOT , dissect_h245_H261VideoMode }, { 2, &hf_h245_h262VideoMode , ASN1_EXTENSION_ROOT , dissect_h245_H262VideoMode }, { 3, &hf_h245_h263VideoMode , ASN1_EXTENSION_ROOT , dissect_h245_H263VideoMode }, { 4, &hf_h245_is11172VideoMode, ASN1_EXTENSION_ROOT , dissect_h245_IS11172VideoMode }, { 5, &hf_h245_genericVideoMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability }, { 0, NULL, 0, NULL } }; static int dissect_h245_VideoMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { int32_t value; offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_h245_VideoMode, VideoMode_choice, &value); codec_type = val_to_str_const(value, h245_VideoMode_vals, ""); return offset; } static const value_string h245_Mode_g7231_vals[] = { { 0, "noSilenceSuppressionLowRate" }, { 1, "noSilenceSuppressionHighRate" }, { 2, "silenceSuppressionLowRate" }, { 3, "silenceSuppressionHighRate" }, { 0, NULL } }; static const per_choice_t Mode_g7231_choice[] = { { 0, &hf_h245_noSilenceSuppressionLowRate, ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 1, &hf_h245_noSilenceSuppressionHighRate, ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 2, &hf_h245_silenceSuppressionLowRate, ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 3, &hf_h245_silenceSuppressionHighRate, ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_Mode_g7231(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_h245_Mode_g7231, Mode_g7231_choice, NULL); return offset; } static const value_string h245_T_audioLayer_vals[] = { { 0, "audioLayer1" }, { 1, "audioLayer2" }, { 2, "audioLayer3" }, { 0, NULL } }; static const per_choice_t T_audioLayer_choice[] = { { 0, &hf_h245_audioLayer1Mode, ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 1, &hf_h245_audioLayer2Mode, ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 2, &hf_h245_audioLayer3Mode, ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_audioLayer(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_h245_T_audioLayer, T_audioLayer_choice, NULL); return offset; } static const value_string h245_T_audioSampling_vals[] = { { 0, "audioSampling32k" }, { 1, "audioSampling44k1" }, { 2, "audioSampling48k" }, { 0, NULL } }; static const per_choice_t T_audioSampling_choice[] = { { 0, &hf_h245_audioSampling32kMode, ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 1, &hf_h245_audioSampling44k1Mode, ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 2, &hf_h245_audioSampling48kMode, ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_audioSampling(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_h245_T_audioSampling, T_audioSampling_choice, NULL); return offset; } static const value_string h245_IS11172_multichannelType_vals[] = { { 0, "singleChannel" }, { 1, "twoChannelStereo" }, { 2, "twoChannelDual" }, { 0, NULL } }; static const per_choice_t IS11172_multichannelType_choice[] = { { 0, &hf_h245_singleChannelMode, ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 1, &hf_h245_twoChannelStereo, ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 2, &hf_h245_twoChannelDual , ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_IS11172_multichannelType(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_h245_IS11172_multichannelType, IS11172_multichannelType_choice, NULL); return offset; } static const per_sequence_t IS11172AudioMode_sequence[] = { { &hf_h245_audioLayer , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_audioLayer }, { &hf_h245_audioSampling , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_audioSampling }, { &hf_h245_is11172multichannelType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_IS11172_multichannelType }, { &hf_h245_bitRate_1_448 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_448 }, { NULL, 0, 0, NULL } }; static int dissect_h245_IS11172AudioMode(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_h245_IS11172AudioMode, IS11172AudioMode_sequence); return offset; } static const value_string h245_IS13818AudioLayer_vals[] = { { 0, "audioLayer1" }, { 1, "audioLayer2" }, { 2, "audioLayer3" }, { 0, NULL } }; static const per_choice_t IS13818AudioLayer_choice[] = { { 0, &hf_h245_audioLayer1Mode, ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 1, &hf_h245_audioLayer2Mode, ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 2, &hf_h245_audioLayer3Mode, ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_IS13818AudioLayer(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_h245_IS13818AudioLayer, IS13818AudioLayer_choice, NULL); return offset; } static const value_string h245_IS13818AudioSampling_vals[] = { { 0, "audioSampling16k" }, { 1, "audioSampling22k05" }, { 2, "audioSampling24k" }, { 3, "audioSampling32k" }, { 4, "audioSampling44k1" }, { 5, "audioSampling48k" }, { 0, NULL } }; static const per_choice_t IS13818AudioSampling_choice[] = { { 0, &hf_h245_audioSampling16kMode, ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 1, &hf_h245_audioSampling22k05Mode, ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 2, &hf_h245_audioSampling24kMode, ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 3, &hf_h245_audioSampling32kMode, ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 4, &hf_h245_audioSampling44k1Mode, ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 5, &hf_h245_audioSampling48kMode, ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_IS13818AudioSampling(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_h245_IS13818AudioSampling, IS13818AudioSampling_choice, NULL); return offset; } static const value_string h245_IS13818MultichannelType_vals[] = { { 0, "singleChannel" }, { 1, "twoChannelStereo" }, { 2, "twoChannelDual" }, { 3, "threeChannels2-1" }, { 4, "threeChannels3-0" }, { 5, "fourChannels2-0-2-0" }, { 6, "fourChannels2-2" }, { 7, "fourChannels3-1" }, { 8, "fiveChannels3-0-2-0" }, { 9, "fiveChannels3-2" }, { 0, NULL } }; static const per_choice_t IS13818MultichannelType_choice[] = { { 0, &hf_h245_singleChannelMode, ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 1, &hf_h245_twoChannelStereo, ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 2, &hf_h245_twoChannelDual , ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 3, &hf_h245_threeChannels2_1Mode, ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 4, &hf_h245_threeChannels3_0Mode, ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 5, &hf_h245_fourChannels2_0_2_0Mode, ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 6, &hf_h245_fourChannels2_2Mode, ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 7, &hf_h245_fourChannels3_1Mode, ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 8, &hf_h245_fiveChannels3_0_2_0Mode, ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 9, &hf_h245_fiveChannels3_2Mode, ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_IS13818MultichannelType(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_h245_IS13818MultichannelType, IS13818MultichannelType_choice, NULL); return offset; } static const per_sequence_t IS13818AudioMode_sequence[] = { { &hf_h245_audioLayerMode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_IS13818AudioLayer }, { &hf_h245_audioSamplingMode, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_IS13818AudioSampling }, { &hf_h245_is13818MultichannelType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_IS13818MultichannelType }, { &hf_h245_lowFrequencyEnhancement, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_multilingual , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_bitRate2_1_1130, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_1130 }, { NULL, 0, 0, NULL } }; static int dissect_h245_IS13818AudioMode(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_h245_IS13818AudioMode, IS13818AudioMode_sequence); return offset; } static const per_sequence_t G7231AnnexCMode_sequence[] = { { &hf_h245_maxAl_sduAudioFrames, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 }, { &hf_h245_silenceSuppression, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_g723AnnexCAudioMode, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_G723AnnexCAudioMode }, { NULL, 0, 0, NULL } }; static int dissect_h245_G7231AnnexCMode(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_h245_G7231AnnexCMode, G7231AnnexCMode_sequence); return offset; } static const per_sequence_t VBDMode_sequence[] = { { &hf_h245_vbd_type , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_AudioMode }, { NULL, 0, 0, NULL } }; static int dissect_h245_VBDMode(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_h245_VBDMode, VBDMode_sequence); return offset; } static const value_string h245_AudioMode_vals[] = { { 0, "nonStandard" }, { 1, "g711Alaw64k" }, { 2, "g711Alaw56k" }, { 3, "g711Ulaw64k" }, { 4, "g711Ulaw56k" }, { 5, "g722-64k" }, { 6, "g722-56k" }, { 7, "g722-48k" }, { 8, "g728" }, { 9, "g729" }, { 10, "g729AnnexA" }, { 11, "g7231" }, { 12, "is11172AudioMode" }, { 13, "is13818AudioMode" }, { 14, "g729wAnnexB" }, { 15, "g729AnnexAwAnnexB" }, { 16, "g7231AnnexCMode" }, { 17, "gsmFullRate" }, { 18, "gsmHalfRate" }, { 19, "gsmEnhancedFullRate" }, { 20, "genericAudioMode" }, { 21, "g729Extensions" }, { 22, "vbd" }, { 0, NULL } }; static const per_choice_t AudioMode_choice[] = { { 0, &hf_h245_nonStandard , ASN1_EXTENSION_ROOT , dissect_h245_NonStandardParameter }, { 1, &hf_h245_g711Alaw64k_mode, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_g711Alaw56k_mode, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 3, &hf_h245_g711Ulaw64k_mode, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 4, &hf_h245_g711Ulaw56k_mode, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 5, &hf_h245_g722_64k_mode , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 6, &hf_h245_g722_56k_mode , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 7, &hf_h245_g722_48k_mode , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 8, &hf_h245_g728_mode , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 9, &hf_h245_g729_mode , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 10, &hf_h245_g729AnnexA_mode, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 11, &hf_h245_g7231_mode , ASN1_EXTENSION_ROOT , dissect_h245_Mode_g7231 }, { 12, &hf_h245_is11172AudioMode, ASN1_EXTENSION_ROOT , dissect_h245_IS11172AudioMode }, { 13, &hf_h245_is13818AudioMode, ASN1_EXTENSION_ROOT , dissect_h245_IS13818AudioMode }, { 14, &hf_h245_g729wAnnexB , ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_1_256 }, { 15, &hf_h245_g729AnnexAwAnnexB, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_1_256 }, { 16, &hf_h245_g7231AnnexCMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_G7231AnnexCMode }, { 17, &hf_h245_gsmFullRate , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability }, { 18, &hf_h245_gsmHalfRate , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability }, { 19, &hf_h245_gsmEnhancedFullRate, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability }, { 20, &hf_h245_genericAudioMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability }, { 21, &hf_h245_g729Extensions , ASN1_NOT_EXTENSION_ROOT, dissect_h245_G729Extensions }, { 22, &hf_h245_vbd_mode , ASN1_NOT_EXTENSION_ROOT, dissect_h245_VBDMode }, { 0, NULL, 0, NULL } }; static int dissect_h245_AudioMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { // AudioMode -> VBDMode -> AudioMode actx->pinfo->dissection_depth += 2; increment_dissection_depth(actx->pinfo); int32_t value; offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_h245_AudioMode, AudioMode_choice, &value); codec_type = val_to_str_const(value, h245_AudioMode_vals, ""); actx->pinfo->dissection_depth -= 2; decrement_dissection_depth(actx->pinfo); return offset; } static const per_sequence_t T38faxApp_sequence[] = { { &hf_h245_t38FaxProtocol , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_DataProtocolCapability }, { &hf_h245_t38FaxProfile , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_T38FaxProfile }, { NULL, 0, 0, NULL } }; static int dissect_h245_T38faxApp(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_h245_T38faxApp, T38faxApp_sequence); return offset; } static const value_string h245_DataModeApplication_vals[] = { { 0, "nonStandard" }, { 1, "t120" }, { 2, "dsm-cc" }, { 3, "userData" }, { 4, "t84" }, { 5, "t434" }, { 6, "h224" }, { 7, "nlpid" }, { 8, "dsvdControl" }, { 9, "h222DataPartitioning" }, { 10, "t30fax" }, { 11, "t140" }, { 12, "t38fax" }, { 13, "genericDataMode" }, { 0, NULL } }; static const per_choice_t DataModeApplication_choice[] = { { 0, &hf_h245_nonStandard , ASN1_EXTENSION_ROOT , dissect_h245_NonStandardParameter }, { 1, &hf_h245_t120 , ASN1_EXTENSION_ROOT , dissect_h245_DataProtocolCapability }, { 2, &hf_h245_dsm_cc , ASN1_EXTENSION_ROOT , dissect_h245_DataProtocolCapability }, { 3, &hf_h245_userData , ASN1_EXTENSION_ROOT , dissect_h245_DataProtocolCapability }, { 4, &hf_h245_t84DataProtocolCapability, ASN1_EXTENSION_ROOT , dissect_h245_DataProtocolCapability }, { 5, &hf_h245_t434 , ASN1_EXTENSION_ROOT , dissect_h245_DataProtocolCapability }, { 6, &hf_h245_h224 , ASN1_EXTENSION_ROOT , dissect_h245_DataProtocolCapability }, { 7, &hf_h245_nlpid , ASN1_EXTENSION_ROOT , dissect_h245_Nlpid }, { 8, &hf_h245_dsvdControl , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 9, &hf_h245_h222DataPartitioning, ASN1_EXTENSION_ROOT , dissect_h245_DataProtocolCapability }, { 10, &hf_h245_t30fax , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DataProtocolCapability }, { 11, &hf_h245_t140 , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DataProtocolCapability }, { 12, &hf_h245_t38faxDataProtocolCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T38faxApp }, { 13, &hf_h245_genericDataMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability }, { 0, NULL, 0, NULL } }; static int dissect_h245_DataModeApplication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { int32_t value; offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_h245_DataModeApplication, DataModeApplication_choice, &value); codec_type = val_to_str_const(value, h245_DataModeApplication_vals, ""); return offset; } static const per_sequence_t DataMode_sequence[] = { { &hf_h245_datamodeapplication, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_DataModeApplication }, { &hf_h245_bitRate_0_4294967295, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4294967295 }, { NULL, 0, 0, NULL } }; static int dissect_h245_DataMode(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_h245_DataMode, DataMode_sequence); return offset; } static const value_string h245_T_mediaMode_vals[] = { { 0, "nonStandard" }, { 1, "videoMode" }, { 2, "audioMode" }, { 3, "dataMode" }, { 0, NULL } }; static const per_choice_t T_mediaMode_choice[] = { { 0, &hf_h245_nonStandard , ASN1_EXTENSION_ROOT , dissect_h245_NonStandardParameter }, { 1, &hf_h245_videoMode , ASN1_EXTENSION_ROOT , dissect_h245_VideoMode }, { 2, &hf_h245_audioMode , ASN1_EXTENSION_ROOT , dissect_h245_AudioMode }, { 3, &hf_h245_dataMode , ASN1_EXTENSION_ROOT , dissect_h245_DataMode }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_mediaMode(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_h245_T_mediaMode, T_mediaMode_choice, NULL); return offset; } static const per_sequence_t H235Mode_sequence[] = { { &hf_h245_encryptionAuthenticationAndIntegrity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_EncryptionAuthenticationAndIntegrity }, { &hf_h245_mediaMode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_mediaMode }, { NULL, 0, 0, NULL } }; static int dissect_h245_H235Mode(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_h245_H235Mode, H235Mode_sequence); return offset; } static const per_sequence_t FECMode_sequence[] = { { &hf_h245_protectedElement, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_ModeElementType }, { &hf_h245_fecScheme , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_OBJECT_IDENTIFIER }, { &hf_h245_rfc2733Format , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_Rfc2733Format }, { NULL, 0, 0, NULL } }; static int dissect_h245_FECMode(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_h245_FECMode, FECMode_sequence); return offset; } static const value_string h245_Re_type_vals[] = { { 0, "nonStandard" }, { 1, "videoMode" }, { 2, "audioMode" }, { 3, "dataMode" }, { 4, "encryptionMode" }, { 5, "h235Mode" }, { 6, "fecMode" }, { 0, NULL } }; static const per_choice_t Re_type_choice[] = { { 0, &hf_h245_nonStandard , ASN1_EXTENSION_ROOT , dissect_h245_NonStandardParameter }, { 1, &hf_h245_videoMode , ASN1_EXTENSION_ROOT , dissect_h245_VideoMode }, { 2, &hf_h245_audioMode , ASN1_EXTENSION_ROOT , dissect_h245_AudioMode }, { 3, &hf_h245_dataMode , ASN1_EXTENSION_ROOT , dissect_h245_DataMode }, { 4, &hf_h245_encryptionMode , ASN1_EXTENSION_ROOT , dissect_h245_EncryptionMode }, { 5, &hf_h245_h235Mode , ASN1_EXTENSION_ROOT , dissect_h245_H235Mode }, { 6, &hf_h245_fecMode , ASN1_NOT_EXTENSION_ROOT, dissect_h245_FECMode }, { 0, NULL, 0, NULL } }; static int dissect_h245_Re_type(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_h245_Re_type, Re_type_choice, NULL); return offset; } static const per_sequence_t RedundancyEncodingDTModeElement_sequence[] = { { &hf_h245_re_type , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_Re_type }, { NULL, 0, 0, NULL } }; static int dissect_h245_RedundancyEncodingDTModeElement(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_h245_RedundancyEncodingDTModeElement, RedundancyEncodingDTModeElement_sequence); return offset; } static const per_sequence_t SEQUENCE_OF_RedundancyEncodingDTModeElement_sequence_of[1] = { { &hf_h245_secondaryDTM_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingDTModeElement }, }; static int dissect_h245_SEQUENCE_OF_RedundancyEncodingDTModeElement(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_h245_SEQUENCE_OF_RedundancyEncodingDTModeElement, SEQUENCE_OF_RedundancyEncodingDTModeElement_sequence_of); return offset; } static const per_sequence_t RedundancyEncodingDTMode_sequence[] = { { &hf_h245_redundancyEncodingMethod, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingMethod }, { &hf_h245_prmary_dtmode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingDTModeElement }, { &hf_h245_secondaryDTM , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_RedundancyEncodingDTModeElement }, { NULL, 0, 0, NULL } }; static int dissect_h245_RedundancyEncodingDTMode(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_h245_RedundancyEncodingDTMode, RedundancyEncodingDTMode_sequence); return offset; } static const per_sequence_t MultiplePayloadStreamElementMode_sequence[] = { { &hf_h245_type , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_ModeElementType }, { NULL, 0, 0, NULL } }; static int dissect_h245_MultiplePayloadStreamElementMode(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_h245_MultiplePayloadStreamElementMode, MultiplePayloadStreamElementMode_sequence); return offset; } static const per_sequence_t SEQUENCE_OF_MultiplePayloadStreamElementMode_sequence_of[1] = { { &hf_h245_mpsmElements_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_MultiplePayloadStreamElementMode }, }; static int dissect_h245_SEQUENCE_OF_MultiplePayloadStreamElementMode(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_h245_SEQUENCE_OF_MultiplePayloadStreamElementMode, SEQUENCE_OF_MultiplePayloadStreamElementMode_sequence_of); return offset; } static const per_sequence_t MultiplePayloadStreamMode_sequence[] = { { &hf_h245_mpsmElements , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_MultiplePayloadStreamElementMode }, { NULL, 0, 0, NULL } }; static int dissect_h245_MultiplePayloadStreamMode(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_h245_MultiplePayloadStreamMode, MultiplePayloadStreamMode_sequence); return offset; } static const value_string h245_FEC_mode_vals[] = { { 0, "redundancyEncoding" }, { 1, "separateStream" }, { 0, NULL } }; static const per_choice_t FEC_mode_choice[] = { { 0, &hf_h245_redundancyEncodingFlag, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_separateStream , ASN1_EXTENSION_ROOT , dissect_h245_DepSeparateStream }, { 0, NULL, 0, NULL } }; static int dissect_h245_FEC_mode(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_h245_FEC_mode, FEC_mode_choice, NULL); return offset; } static const per_sequence_t T_rfc2733Mode_sequence[] = { { &hf_h245_fec_mode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_FEC_mode }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_rfc2733Mode(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_h245_T_rfc2733Mode, T_rfc2733Mode_sequence); return offset; } static const value_string h245_DepFECMode_vals[] = { { 0, "rfc2733Mode" }, { 0, NULL } }; static const per_choice_t DepFECMode_choice[] = { { 0, &hf_h245_rfc2733Mode , ASN1_EXTENSION_ROOT , dissect_h245_T_rfc2733Mode }, { 0, NULL, 0, NULL } }; static int dissect_h245_DepFECMode(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_h245_DepFECMode, DepFECMode_choice, NULL); return offset; } static const value_string h245_ModeElementType_vals[] = { { 0, "nonStandard" }, { 1, "videoMode" }, { 2, "audioMode" }, { 3, "dataMode" }, { 4, "encryptionMode" }, { 5, "h235Mode" }, { 6, "multiplexedStreamMode" }, { 7, "redundancyEncodingDTMode" }, { 8, "multiplePayloadStreamMode" }, { 9, "depFecMode" }, { 10, "fecMode" }, { 0, NULL } }; static const per_choice_t ModeElementType_choice[] = { { 0, &hf_h245_nonStandard , ASN1_EXTENSION_ROOT , dissect_h245_NonStandardParameter }, { 1, &hf_h245_videoMode , ASN1_EXTENSION_ROOT , dissect_h245_VideoMode }, { 2, &hf_h245_audioMode , ASN1_EXTENSION_ROOT , dissect_h245_AudioMode }, { 3, &hf_h245_dataMode , ASN1_EXTENSION_ROOT , dissect_h245_DataMode }, { 4, &hf_h245_encryptionMode , ASN1_EXTENSION_ROOT , dissect_h245_EncryptionMode }, { 5, &hf_h245_h235Mode , ASN1_NOT_EXTENSION_ROOT, dissect_h245_H235Mode }, { 6, &hf_h245_multiplexedStreamMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplexedStreamParameter }, { 7, &hf_h245_redundancyEncodingDTMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RedundancyEncodingDTMode }, { 8, &hf_h245_multiplePayloadStreamMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplePayloadStreamMode }, { 9, &hf_h245_depFecMode , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DepFECMode }, { 10, &hf_h245_fecMode , ASN1_NOT_EXTENSION_ROOT, dissect_h245_FECMode }, { 0, NULL, 0, NULL } }; static int dissect_h245_ModeElementType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { // ModeElementType -> RedundancyEncodingDTMode -> RedundancyEncodingDTModeElement -> RedundancyEncodingDTModeElement/type -> FECMode -> ModeElementType actx->pinfo->dissection_depth += 5; increment_dissection_depth(actx->pinfo); offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_h245_ModeElementType, ModeElementType_choice, NULL); actx->pinfo->dissection_depth -= 5; decrement_dissection_depth(actx->pinfo); return offset; } static const value_string h245_AdaptationLayerType_vals[] = { { 0, "nonStandard" }, { 1, "al1Framed" }, { 2, "al1NotFramed" }, { 3, "al2WithoutSequenceNumbers" }, { 4, "al2WithSequenceNumbers" }, { 5, "al3" }, { 6, "al1M" }, { 7, "al2M" }, { 8, "al3M" }, { 0, NULL } }; static const per_choice_t AdaptationLayerType_choice[] = { { 0, &hf_h245_nonStandard , ASN1_EXTENSION_ROOT , dissect_h245_NonStandardParameter }, { 1, &hf_h245_al1Framed , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_al1NotFramed , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 3, &hf_h245_al2WithoutSequenceNumbers, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 4, &hf_h245_al2WithSequenceNumbers, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 5, &hf_h245_al3 , ASN1_EXTENSION_ROOT , dissect_h245_Al3 }, { 6, &hf_h245_al1M , ASN1_NOT_EXTENSION_ROOT, dissect_h245_H223AL1MParameters }, { 7, &hf_h245_al2M , ASN1_NOT_EXTENSION_ROOT, dissect_h245_H223AL2MParameters }, { 8, &hf_h245_al3M , ASN1_NOT_EXTENSION_ROOT, dissect_h245_H223AL3MParameters }, { 0, NULL, 0, NULL } }; static int dissect_h245_AdaptationLayerType(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_h245_AdaptationLayerType, AdaptationLayerType_choice, NULL); return offset; } static const per_sequence_t H223ModeParameters_sequence[] = { { &hf_h245_adaptationLayer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_AdaptationLayerType }, { &hf_h245_segmentableFlag, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_h245_H223ModeParameters(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_h245_H223ModeParameters, H223ModeParameters_sequence); return offset; } static const value_string h245_V76ModeParameters_vals[] = { { 0, "suspendResumewAddress" }, { 1, "suspendResumewoAddress" }, { 0, NULL } }; static const per_choice_t V76ModeParameters_choice[] = { { 0, &hf_h245_suspendResumewAddress, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_suspendResumewoAddress, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_V76ModeParameters(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_h245_V76ModeParameters, V76ModeParameters_choice, NULL); return offset; } static const value_string h245_T_secondaryEncodingMode_vals[] = { { 0, "nonStandard" }, { 1, "audioData" }, { 0, NULL } }; static const per_choice_t T_secondaryEncodingMode_choice[] = { { 0, &hf_h245_nonStandard , ASN1_EXTENSION_ROOT , dissect_h245_NonStandardParameter }, { 1, &hf_h245_audioMode , ASN1_EXTENSION_ROOT , dissect_h245_AudioMode }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_secondaryEncodingMode(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_h245_T_secondaryEncodingMode, T_secondaryEncodingMode_choice, NULL); return offset; } static const per_sequence_t RedundancyEncodingMode_sequence[] = { { &hf_h245_redundancyEncodingMethod, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingMethod }, { &hf_h245_secondaryEncodingMode, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_T_secondaryEncodingMode }, { NULL, 0, 0, NULL } }; static int dissect_h245_RedundancyEncodingMode(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_h245_RedundancyEncodingMode, RedundancyEncodingMode_sequence); return offset; } static const per_sequence_t H2250ModeParameters_sequence[] = { { &hf_h245_redundancyEncodingMode, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_RedundancyEncodingMode }, { NULL, 0, 0, NULL } }; static int dissect_h245_H2250ModeParameters(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_h245_H2250ModeParameters, H2250ModeParameters_sequence); return offset; } static const per_sequence_t MultiplexedStreamModeParameters_sequence[] = { { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber }, { NULL, 0, 0, NULL } }; static int dissect_h245_MultiplexedStreamModeParameters(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_h245_MultiplexedStreamModeParameters, MultiplexedStreamModeParameters_sequence); return offset; } static const per_sequence_t ModeElement_sequence[] = { { &hf_h245_type , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_ModeElementType }, { &hf_h245_h223ModeParameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_H223ModeParameters }, { &hf_h245_v76ModeParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_V76ModeParameters }, { &hf_h245_h2250ModeParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_H2250ModeParameters }, { &hf_h245_genericModeParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_GenericCapability }, { &hf_h245_multiplexedStreamModeParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_MultiplexedStreamModeParameters }, { &hf_h245_logicalChannelNumber, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_LogicalChannelNumber }, { NULL, 0, 0, NULL } }; static int dissect_h245_ModeElement(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_h245_ModeElement, ModeElement_sequence); return offset; } static const per_sequence_t ModeDescription_set_of[1] = { { &hf_h245_ModeDescription_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_ModeElement }, }; static int dissect_h245_ModeDescription(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index, ett_h245_ModeDescription, ModeDescription_set_of, 1, 256, false); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_256_OF_ModeDescription_sequence_of[1] = { { &hf_h245_requestedModes_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_ModeDescription }, }; static int dissect_h245_SEQUENCE_SIZE_1_256_OF_ModeDescription(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_h245_SEQUENCE_SIZE_1_256_OF_ModeDescription, SEQUENCE_SIZE_1_256_OF_ModeDescription_sequence_of, 1, 256, false); return offset; } static const per_sequence_t RequestMode_sequence[] = { { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber }, { &hf_h245_requestedModes , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_SIZE_1_256_OF_ModeDescription }, { NULL, 0, 0, NULL } }; static int dissect_h245_RequestMode(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_h245_RequestMode, RequestMode_sequence); return offset; } static const per_sequence_t RoundTripDelayRequest_sequence[] = { { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber }, { NULL, 0, 0, NULL } }; static int dissect_h245_RoundTripDelayRequest(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_h245_RoundTripDelayRequest, RoundTripDelayRequest_sequence); return offset; } static const value_string h245_Mlr_type_vals[] = { { 0, "systemLoop" }, { 1, "mediaLoop" }, { 2, "logicalChannelLoop" }, { 0, NULL } }; static const per_choice_t Mlr_type_choice[] = { { 0, &hf_h245_systemLoop , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_mediaLoop , ASN1_EXTENSION_ROOT , dissect_h245_LogicalChannelNumber }, { 2, &hf_h245_logicalChannelLoop, ASN1_EXTENSION_ROOT , dissect_h245_LogicalChannelNumber }, { 0, NULL, 0, NULL } }; static int dissect_h245_Mlr_type(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_h245_Mlr_type, Mlr_type_choice, NULL); return offset; } static const per_sequence_t MaintenanceLoopRequest_sequence[] = { { &hf_h245_mlr_type , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_Mlr_type }, { NULL, 0, 0, NULL } }; static int dissect_h245_MaintenanceLoopRequest(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_h245_MaintenanceLoopRequest, MaintenanceLoopRequest_sequence); return offset; } static const per_sequence_t CommunicationModeRequest_sequence[] = { { NULL, ASN1_EXTENSION_ROOT, 0, NULL } }; static int dissect_h245_CommunicationModeRequest(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_h245_CommunicationModeRequest, CommunicationModeRequest_sequence); return offset; } static const per_sequence_t Criteria_sequence[] = { { &hf_h245_field , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_OBJECT_IDENTIFIER }, { &hf_h245_criteriaValue , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_1_65535 }, { NULL, 0, 0, NULL } }; static int dissect_h245_Criteria(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_h245_Criteria, Criteria_sequence); return offset; } static const per_sequence_t CertSelectionCriteria_sequence_of[1] = { { &hf_h245_CertSelectionCriteria_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_Criteria }, }; static int dissect_h245_CertSelectionCriteria(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_h245_CertSelectionCriteria, CertSelectionCriteria_sequence_of, 1, 16, false); return offset; } static const per_sequence_t T_requestTerminalCertificate_sequence[] = { { &hf_h245_terminalLabel , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_TerminalLabel }, { &hf_h245_certSelectionCriteria, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_CertSelectionCriteria }, { &hf_h245_sRandom , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_4294967295 }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_requestTerminalCertificate(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_h245_T_requestTerminalCertificate, T_requestTerminalCertificate_sequence); return offset; } static const value_string h245_RemoteMCRequest_vals[] = { { 0, "masterActivate" }, { 1, "slaveActivate" }, { 2, "deActivate" }, { 0, NULL } }; static const per_choice_t RemoteMCRequest_choice[] = { { 0, &hf_h245_masterActivate , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_slaveActivate , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_deActivate , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_RemoteMCRequest(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_h245_RemoteMCRequest, RemoteMCRequest_choice, NULL); return offset; } static const value_string h245_ConferenceRequest_vals[] = { { 0, "terminalListRequest" }, { 1, "makeMeChair" }, { 2, "cancelMakeMeChair" }, { 3, "dropTerminal" }, { 4, "requestTerminalID" }, { 5, "enterH243Password" }, { 6, "enterH243TerminalID" }, { 7, "enterH243ConferenceID" }, { 8, "enterExtensionAddress" }, { 9, "requestChairTokenOwner" }, { 10, "requestTerminalCertificate" }, { 11, "broadcastMyLogicalChannel" }, { 12, "makeTerminalBroadcaster" }, { 13, "sendThisSource" }, { 14, "requestAllTerminalIDs" }, { 15, "remoteMCRequest" }, { 0, NULL } }; static const per_choice_t ConferenceRequest_choice[] = { { 0, &hf_h245_terminalListRequest, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_makeMeChair , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_cancelMakeMeChair, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 3, &hf_h245_dropTerminal , ASN1_EXTENSION_ROOT , dissect_h245_TerminalLabel }, { 4, &hf_h245_requestTerminalID, ASN1_EXTENSION_ROOT , dissect_h245_TerminalLabel }, { 5, &hf_h245_enterH243Password, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 6, &hf_h245_enterH243TerminalID, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 7, &hf_h245_enterH243ConferenceID, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 8, &hf_h245_enterExtensionAddress, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 9, &hf_h245_requestChairTokenOwner, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 10, &hf_h245_requestTerminalCertificate, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_requestTerminalCertificate }, { 11, &hf_h245_broadcastMyLogicalChannel, ASN1_NOT_EXTENSION_ROOT, dissect_h245_LogicalChannelNumber }, { 12, &hf_h245_makeTerminalBroadcaster, ASN1_NOT_EXTENSION_ROOT, dissect_h245_TerminalLabel }, { 13, &hf_h245_sendThisSource , ASN1_NOT_EXTENSION_ROOT, dissect_h245_TerminalLabel }, { 14, &hf_h245_requestAllTerminalIDs, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 15, &hf_h245_remoteMCRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RemoteMCRequest }, { 0, NULL, 0, NULL } }; static int dissect_h245_ConferenceRequest(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_h245_ConferenceRequest, ConferenceRequest_choice, NULL); return offset; } static const per_sequence_t CallInformationReq_sequence[] = { { &hf_h245_maxNumberOfAdditionalConnections, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 }, { NULL, 0, 0, NULL } }; static int dissect_h245_CallInformationReq(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_h245_CallInformationReq, CallInformationReq_sequence); return offset; } static int dissect_h245_NumericString_SIZE_0_40(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_NumericString(tvb, offset, actx, tree, hf_index, 0, 40, false, NULL); return offset; } static int dissect_h245_IA5String_SIZE_1_40(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, 40, false, NULL); return offset; } static const value_string h245_DialingInformationNetworkType_vals[] = { { 0, "nonStandard" }, { 1, "n-isdn" }, { 2, "gstn" }, { 3, "mobile" }, { 0, NULL } }; static const per_choice_t DialingInformationNetworkType_choice[] = { { 0, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT , dissect_h245_NonStandardMessage }, { 1, &hf_h245_n_isdn , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_gstn , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 3, &hf_h245_mobile , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_DialingInformationNetworkType(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_h245_DialingInformationNetworkType, DialingInformationNetworkType_choice, NULL); return offset; } static const per_sequence_t SET_SIZE_1_255_OF_DialingInformationNetworkType_set_of[1] = { { &hf_h245_networkType_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_DialingInformationNetworkType }, }; static int dissect_h245_SET_SIZE_1_255_OF_DialingInformationNetworkType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index, ett_h245_SET_SIZE_1_255_OF_DialingInformationNetworkType, SET_SIZE_1_255_OF_DialingInformationNetworkType_set_of, 1, 255, false); return offset; } static const per_sequence_t DialingInformationNumber_sequence[] = { { &hf_h245_din_networkAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_NumericString_SIZE_0_40 }, { &hf_h245_subAddress , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_IA5String_SIZE_1_40 }, { &hf_h245_networkType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_255_OF_DialingInformationNetworkType }, { NULL, 0, 0, NULL } }; static int dissect_h245_DialingInformationNumber(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_h245_DialingInformationNumber, DialingInformationNumber_sequence); return offset; } static const per_sequence_t SET_SIZE_1_65535_OF_DialingInformationNumber_set_of[1] = { { &hf_h245_differential_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_DialingInformationNumber }, }; static int dissect_h245_SET_SIZE_1_65535_OF_DialingInformationNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index, ett_h245_SET_SIZE_1_65535_OF_DialingInformationNumber, SET_SIZE_1_65535_OF_DialingInformationNumber_set_of, 1, 65535, false); return offset; } static const value_string h245_DialingInformation_vals[] = { { 0, "nonStandard" }, { 1, "differential" }, { 2, "infoNotAvailable" }, { 0, NULL } }; static const per_choice_t DialingInformation_choice[] = { { 0, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT , dissect_h245_NonStandardMessage }, { 1, &hf_h245_differential , ASN1_EXTENSION_ROOT , dissect_h245_SET_SIZE_1_65535_OF_DialingInformationNumber }, { 2, &hf_h245_infoNotAvailable, ASN1_EXTENSION_ROOT , dissect_h245_INTEGER_1_65535 }, { 0, NULL, 0, NULL } }; static int dissect_h245_DialingInformation(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_h245_DialingInformation, DialingInformation_choice, NULL); return offset; } static const per_sequence_t AddConnectionReq_sequence[] = { { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber }, { &hf_h245_dialingInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_DialingInformation }, { NULL, 0, 0, NULL } }; static int dissect_h245_AddConnectionReq(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_h245_AddConnectionReq, AddConnectionReq_sequence); return offset; } static const per_sequence_t ConnectionIdentifier_sequence[] = { { &hf_h245_channelTag , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4294967295 }, { &hf_h245_sequenceNum , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4294967295 }, { NULL, 0, 0, NULL } }; static int dissect_h245_ConnectionIdentifier(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_h245_ConnectionIdentifier, ConnectionIdentifier_sequence); return offset; } static const per_sequence_t RemoveConnectionReq_sequence[] = { { &hf_h245_connectionIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_ConnectionIdentifier }, { NULL, 0, 0, NULL } }; static int dissect_h245_RemoveConnectionReq(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_h245_RemoveConnectionReq, RemoveConnectionReq_sequence); return offset; } static const value_string h245_T_requestType_vals[] = { { 0, "currentIntervalInformation" }, { 1, "requestedInterval" }, { 0, NULL } }; static const per_choice_t T_requestType_choice[] = { { 0, &hf_h245_currentIntervalInformation, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_requestedInterval, ASN1_EXTENSION_ROOT , dissect_h245_INTEGER_0_65535 }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_requestType(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_h245_T_requestType, T_requestType_choice, NULL); return offset; } static const per_sequence_t MaximumHeaderIntervalReq_sequence[] = { { &hf_h245_requestType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_requestType }, { NULL, 0, 0, NULL } }; static int dissect_h245_MaximumHeaderIntervalReq(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_h245_MaximumHeaderIntervalReq, MaximumHeaderIntervalReq_sequence); return offset; } static const value_string h245_MultilinkRequest_vals[] = { { 0, "nonStandard" }, { 1, "callInformation" }, { 2, "addConnection" }, { 3, "removeConnection" }, { 4, "maximumHeaderInterval" }, { 0, NULL } }; static const per_choice_t MultilinkRequest_choice[] = { { 0, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT , dissect_h245_NonStandardMessage }, { 1, &hf_h245_callInformationReq, ASN1_EXTENSION_ROOT , dissect_h245_CallInformationReq }, { 2, &hf_h245_addConnectionReq, ASN1_EXTENSION_ROOT , dissect_h245_AddConnectionReq }, { 3, &hf_h245_removeConnectionReq, ASN1_EXTENSION_ROOT , dissect_h245_RemoveConnectionReq }, { 4, &hf_h245_maximumHeaderIntervalReq, ASN1_EXTENSION_ROOT , dissect_h245_MaximumHeaderIntervalReq }, { 0, NULL, 0, NULL } }; static int dissect_h245_MultilinkRequest(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_h245_MultilinkRequest, MultilinkRequest_choice, NULL); return offset; } static int dissect_h245_MaximumBitRate(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 per_sequence_t LogicalChannelRateRequest_sequence[] = { { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber }, { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber }, { &hf_h245_maximumBitRate , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_MaximumBitRate }, { NULL, 0, 0, NULL } }; static int dissect_h245_LogicalChannelRateRequest(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_h245_LogicalChannelRateRequest, LogicalChannelRateRequest_sequence); return offset; } static const value_string h245_RequestMessage_vals[] = { { RequestMessage_nonStandard, "nonStandard" }, { RequestMessage_masterSlaveDetermination, "masterSlaveDetermination" }, { RequestMessage_terminalCapabilitySet, "terminalCapabilitySet" }, { RequestMessage_openLogicalChannel, "openLogicalChannel" }, { RequestMessage_closeLogicalChannel, "closeLogicalChannel" }, { RequestMessage_requestChannelClose, "requestChannelClose" }, { RequestMessage_multiplexEntrySend, "multiplexEntrySend" }, { RequestMessage_requestMultiplexEntry, "requestMultiplexEntry" }, { RequestMessage_requestMode, "requestMode" }, { RequestMessage_roundTripDelayRequest, "roundTripDelayRequest" }, { RequestMessage_maintenanceLoopRequest, "maintenanceLoopRequest" }, { RequestMessage_communicationModeRequest, "communicationModeRequest" }, { RequestMessage_conferenceRequest, "conferenceRequest" }, { RequestMessage_multilinkRequest, "multilinkRequest" }, { RequestMessage_logicalChannelRateRequest, "logicalChannelRateRequest" }, { RequestMessage_genericRequest, "genericRequest" }, { 0, NULL } }; static const per_choice_t RequestMessage_choice[] = { { RequestMessage_nonStandard, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT , dissect_h245_NonStandardMessage }, { RequestMessage_masterSlaveDetermination, &hf_h245_masterSlaveDetermination, ASN1_EXTENSION_ROOT , dissect_h245_MasterSlaveDetermination }, { RequestMessage_terminalCapabilitySet, &hf_h245_terminalCapabilitySet, ASN1_EXTENSION_ROOT , dissect_h245_TerminalCapabilitySet }, { RequestMessage_openLogicalChannel, &hf_h245_openLogicalChannel, ASN1_EXTENSION_ROOT , dissect_h245_OpenLogicalChannel }, { RequestMessage_closeLogicalChannel, &hf_h245_closeLogicalChannel, ASN1_EXTENSION_ROOT , dissect_h245_CloseLogicalChannel }, { RequestMessage_requestChannelClose, &hf_h245_requestChannelClose, ASN1_EXTENSION_ROOT , dissect_h245_RequestChannelClose }, { RequestMessage_multiplexEntrySend, &hf_h245_multiplexEntrySend, ASN1_EXTENSION_ROOT , dissect_h245_MultiplexEntrySend }, { RequestMessage_requestMultiplexEntry, &hf_h245_requestMultiplexEntry, ASN1_EXTENSION_ROOT , dissect_h245_RequestMultiplexEntry }, { RequestMessage_requestMode, &hf_h245_requestMode , ASN1_EXTENSION_ROOT , dissect_h245_RequestMode }, { RequestMessage_roundTripDelayRequest, &hf_h245_roundTripDelayRequest, ASN1_EXTENSION_ROOT , dissect_h245_RoundTripDelayRequest }, { RequestMessage_maintenanceLoopRequest, &hf_h245_maintenanceLoopRequest, ASN1_EXTENSION_ROOT , dissect_h245_MaintenanceLoopRequest }, { RequestMessage_communicationModeRequest, &hf_h245_communicationModeRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_CommunicationModeRequest }, { RequestMessage_conferenceRequest, &hf_h245_conferenceRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ConferenceRequest }, { RequestMessage_multilinkRequest, &hf_h245_multilinkRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultilinkRequest }, { RequestMessage_logicalChannelRateRequest, &hf_h245_logicalChannelRateRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_LogicalChannelRateRequest }, { RequestMessage_genericRequest, &hf_h245_genericRequest , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericMessage }, { 0, NULL, 0, NULL } }; static int dissect_h245_RequestMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { int32_t value; offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_h245_RequestMessage, RequestMessage_choice, &value); print_info_column(actx->pinfo->cinfo, &value, h245_RequestMessage_vals, h245_RequestMessage_short_vals); if (( codec_type != NULL ) && ( value == RequestMessage_openLogicalChannel) ){ col_append_fstr(actx->pinfo->cinfo, COL_INFO, "(%s) ", codec_type ); } col_set_fence(actx->pinfo->cinfo,COL_INFO); /* Add to packet info */ if (h245_pi == NULL) return offset; if (strlen(h245_pi->frame_label) == 0) { snprintf(h245_pi->frame_label, 50, "%s", val_to_str_const(value, h245_RequestMessage_short_vals, "UKN")); /* if it is OLC or RM*/ if ((codec_type != NULL) && (( value == RequestMessage_openLogicalChannel) || ( value == RequestMessage_requestMode))) { (void) g_strlcat(h245_pi->frame_label, " (", 50); (void) g_strlcat(h245_pi->frame_label, codec_type, 50); (void) g_strlcat(h245_pi->frame_label, ")", 50); } } (void) g_strlcat(h245_pi->comment, val_to_str_const(value, h245_RequestMessage_vals, ""), 50); return offset; } static const value_string h245_T_decision_vals[] = { { 0, "master" }, { 1, "slave" }, { 0, NULL } }; static const per_choice_t T_decision_choice[] = { { 0, &hf_h245_master , ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 1, &hf_h245_slave , ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_decision(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_h245_T_decision, T_decision_choice, NULL); return offset; } static const per_sequence_t MasterSlaveDeterminationAck_sequence[] = { { &hf_h245_decision , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_decision }, { NULL, 0, 0, NULL } }; static int dissect_h245_MasterSlaveDeterminationAck(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_h245_MasterSlaveDeterminationAck, MasterSlaveDeterminationAck_sequence); if (h245_pi != NULL) h245_pi->msg_type = H245_MastSlvDetAck; return offset; } static const value_string h245_MasterSlaveDeterminationRejectCause_vals[] = { { 0, "identicalNumbers" }, { 0, NULL } }; static const per_choice_t MasterSlaveDeterminationRejectCause_choice[] = { { 0, &hf_h245_identicalNumbers, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_MasterSlaveDeterminationRejectCause(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_h245_MasterSlaveDeterminationRejectCause, MasterSlaveDeterminationRejectCause_choice, NULL); return offset; } static const per_sequence_t MasterSlaveDeterminationReject_sequence[] = { { &hf_h245_msd_rej_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_MasterSlaveDeterminationRejectCause }, { NULL, 0, 0, NULL } }; static int dissect_h245_MasterSlaveDeterminationReject(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_h245_MasterSlaveDeterminationReject, MasterSlaveDeterminationReject_sequence); if (h245_pi != NULL) h245_pi->msg_type = H245_MastSlvDetRjc; return offset; } static const per_sequence_t TerminalCapabilitySetAck_sequence[] = { { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber }, { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_SEQUENCE_OF_GenericInformation }, { NULL, 0, 0, NULL } }; static int dissect_h245_TerminalCapabilitySetAck(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_h245_TerminalCapabilitySetAck, TerminalCapabilitySetAck_sequence); if (h245_pi != NULL) h245_pi->msg_type = H245_TermCapSetAck; return offset; } static const value_string h245_T_tableEntryCapacityExceeded_vals[] = { { 0, "highestEntryNumberProcessed" }, { 1, "noneProcessed" }, { 0, NULL } }; static const per_choice_t T_tableEntryCapacityExceeded_choice[] = { { 0, &hf_h245_highestEntryNumberProcessed, ASN1_NO_EXTENSIONS , dissect_h245_CapabilityTableEntryNumber }, { 1, &hf_h245_noneProcessed , ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_tableEntryCapacityExceeded(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_h245_T_tableEntryCapacityExceeded, T_tableEntryCapacityExceeded_choice, NULL); return offset; } static const value_string h245_TerminalCapabilitySetRejectCause_vals[] = { { 0, "unspecified" }, { 1, "undefinedTableEntryUsed" }, { 2, "descriptorCapacityExceeded" }, { 3, "tableEntryCapacityExceeded" }, { 0, NULL } }; static const per_choice_t TerminalCapabilitySetRejectCause_choice[] = { { 0, &hf_h245_unspecified , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_undefinedTableEntryUsed, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_descriptorCapacityExceeded, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 3, &hf_h245_tableEntryCapacityExceeded, ASN1_EXTENSION_ROOT , dissect_h245_T_tableEntryCapacityExceeded }, { 0, NULL, 0, NULL } }; static int dissect_h245_TerminalCapabilitySetRejectCause(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_h245_TerminalCapabilitySetRejectCause, TerminalCapabilitySetRejectCause_choice, NULL); return offset; } static const per_sequence_t TerminalCapabilitySetReject_sequence[] = { { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber }, { &hf_h245_tcs_rej_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_TerminalCapabilitySetRejectCause }, { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_SEQUENCE_OF_GenericInformation }, { NULL, 0, 0, NULL } }; static int dissect_h245_TerminalCapabilitySetReject(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_h245_TerminalCapabilitySetReject, TerminalCapabilitySetReject_sequence); if (h245_pi != NULL) h245_pi->msg_type = H245_TermCapSetRjc; return offset; } static int dissect_h245_OLC_ack_fw_lcn(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_h245_LogicalChannelNumber(tvb, offset, actx, tree, hf_index); if (upcoming_olc) upcoming_olc->fwd_lc_num = h245_lc_temp; h223_fw_lc_num = h245_lc_temp; return offset; } static int dissect_h245_T_reverseLogicalChannelNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_h245_LogicalChannelNumber(tvb, offset, actx, tree, hf_index); h223_rev_lc_num = h245_lc_temp; return offset; } static const value_string h245_T_olc_ack_multiplexParameters_vals[] = { { 0, "h222LogicalChannelParameters" }, { 1, "h2250LogicalChannelParameters" }, { 0, NULL } }; static const per_choice_t T_olc_ack_multiplexParameters_choice[] = { { 0, &hf_h245_h222LogicalChannelParameters, ASN1_EXTENSION_ROOT , dissect_h245_H222LogicalChannelParameters }, { 1, &hf_h245_h2250LogicalChannelParameters, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H2250LogicalChannelParameters }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_olc_ack_multiplexParameters(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_h245_T_olc_ack_multiplexParameters, T_olc_ack_multiplexParameters_choice, NULL); return offset; } static const per_sequence_t OLC_ack_reverseLogicalChannelParameters_sequence[] = { { &hf_h245_reverseLogicalChannelNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_reverseLogicalChannelNumber }, { &hf_h245_portNumber , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_65535 }, { &hf_h245_olc_ack_multiplexParameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_T_olc_ack_multiplexParameters }, { &hf_h245_replacementFor , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_LogicalChannelNumber }, { NULL, 0, 0, NULL } }; static int dissect_h245_OLC_ack_reverseLogicalChannelParameters(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_h245_OLC_ack_reverseLogicalChannelParameters, OLC_ack_reverseLogicalChannelParameters_sequence); return offset; } static int dissect_h245_Ack_mediaChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { if (upcoming_channel) upcoming_channel->upcoming_addr = &upcoming_channel->media_addr; offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index); if (upcoming_channel) upcoming_channel->upcoming_addr = NULL; return offset; } static int dissect_h245_Ack_mediaControlChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { if (upcoming_channel) upcoming_channel->upcoming_addr = &upcoming_channel->media_control_addr; offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index); if (upcoming_channel) upcoming_channel->upcoming_addr = NULL; return offset; } static const per_sequence_t H2250LogicalChannelAckParameters_sequence[] = { { &hf_h245_nonStandardParams, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_SEQUENCE_OF_NonStandardParameter }, { &hf_h245_sessionID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_255 }, { &hf_h245_ack_mediaChannel, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_Ack_mediaChannel }, { &hf_h245_ack_mediaControlChannel, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_Ack_mediaControlChannel }, { &hf_h245_dynamicRTPPayloadType, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_96_127 }, { &hf_h245_flowControlToZero, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_portNumber , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_INTEGER_0_65535 }, { NULL, 0, 0, NULL } }; static int dissect_h245_H2250LogicalChannelAckParameters(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_h245_H2250LogicalChannelAckParameters, H2250LogicalChannelAckParameters_sequence); return offset; } static const value_string h245_T_forwardMultiplexAckParameters_vals[] = { { 0, "h2250LogicalChannelAckParameters" }, { 0, NULL } }; static const per_choice_t T_forwardMultiplexAckParameters_choice[] = { { 0, &hf_h245_h2250LogicalChannelAckParameters, ASN1_EXTENSION_ROOT , dissect_h245_H2250LogicalChannelAckParameters }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_forwardMultiplexAckParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { upcoming_channel = (upcoming_olc) ? &upcoming_olc->fwd_lc : NULL; offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_h245_T_forwardMultiplexAckParameters, T_forwardMultiplexAckParameters_choice, NULL); upcoming_channel = NULL; return offset; } static const per_sequence_t OpenLogicalChannelAck_sequence[] = { { &hf_h245_olc_ack_fw_lcn , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_OLC_ack_fw_lcn }, { &hf_h245_olc_ack_reverseLogicalChannelParameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_OLC_ack_reverseLogicalChannelParameters }, { &hf_h245_separateStack , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_NetworkAccessParameters }, { &hf_h245_forwardMultiplexAckParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_T_forwardMultiplexAckParameters }, { &hf_h245_encryptionSync , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_EncryptionSync }, { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_SEQUENCE_OF_GenericInformation }, { NULL, 0, 0, NULL } }; static int dissect_h245_OpenLogicalChannelAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { uint32_t temp; int p2p_dir; h223_pending_olc *pend; const char *olc_key; olc_info_t *olc_req; upcoming_olc = (!actx->pinfo->fd->visited) ? wmem_new0(actx->pinfo->pool, olc_info_t) : NULL; h223_fw_lc_num = 0; h223_rev_lc_num = 0; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_h245_OpenLogicalChannelAck, OpenLogicalChannelAck_sequence); temp = h223_fw_lc_num; p2p_dir = actx->pinfo->p2p_dir; if(actx->pinfo->p2p_dir == P2P_DIR_SENT) actx->pinfo->p2p_dir = P2P_DIR_RECV; else actx->pinfo->p2p_dir = P2P_DIR_SENT; pend = (h223_pending_olc *)wmem_map_lookup( h223_pending_olc_reqs[actx->pinfo->p2p_dir], GINT_TO_POINTER(temp) ); if (pend) { DISSECTOR_ASSERT( ( h223_rev_lc_num && pend->rev_channel_params) || (!h223_rev_lc_num && !pend->rev_channel_params) ); if(h223_add_lc_handle) { (*h223_add_lc_handle)( actx->pinfo, h223_fw_lc_num, pend->fw_channel_params); if(h223_rev_lc_num) (*h223_add_lc_handle)( actx->pinfo, h223_rev_lc_num, pend->rev_channel_params); } } else { /* we missed the OpenLogicalChannel packet */ } actx->pinfo->p2p_dir = p2p_dir; if (upcoming_olc) { olc_key = gen_olc_key(upcoming_olc->fwd_lc_num, &actx->pinfo->src, &actx->pinfo->dst, actx->pinfo->pool); olc_req = (olc_info_t *)wmem_map_lookup(h245_pending_olc_reqs, olc_key); if (olc_req) { update_unicast_addr(&olc_req->fwd_lc.media_addr, &upcoming_olc->fwd_lc.media_addr); update_unicast_addr(&olc_req->fwd_lc.media_control_addr, &upcoming_olc->fwd_lc.media_control_addr); update_unicast_addr(&olc_req->rev_lc.media_addr, &upcoming_olc->rev_lc.media_addr); update_unicast_addr(&olc_req->rev_lc.media_control_addr, &upcoming_olc->rev_lc.media_control_addr); h245_setup_channels(actx->pinfo, &olc_req->fwd_lc); h245_setup_channels(actx->pinfo, &olc_req->rev_lc); wmem_map_remove(h245_pending_olc_reqs, olc_key); } else { h245_setup_channels(actx->pinfo, &upcoming_olc->fwd_lc); } } upcoming_olc = NULL; if (h245_pi != NULL) h245_pi->msg_type = H245_OpenLogChnAck; return offset; } static const value_string h245_OpenLogicalChannelRejectCause_vals[] = { { 0, "unspecified" }, { 1, "unsuitableReverseParameters" }, { 2, "dataTypeNotSupported" }, { 3, "dataTypeNotAvailable" }, { 4, "unknownDataType" }, { 5, "dataTypeALCombinationNotSupported" }, { 6, "multicastChannelNotAllowed" }, { 7, "insufficientBandwidth" }, { 8, "separateStackEstablishmentFailed" }, { 9, "invalidSessionID" }, { 10, "masterSlaveConflict" }, { 11, "waitForCommunicationMode" }, { 12, "invalidDependentChannel" }, { 13, "replacementForRejected" }, { 14, "securityDenied" }, { 15, "qoSControlNotSupported" }, { 0, NULL } }; static const per_choice_t OpenLogicalChannelRejectCause_choice[] = { { 0, &hf_h245_unspecified , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_unsuitableReverseParameters, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_dataTypeNotSupported, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 3, &hf_h245_dataTypeNotAvailable, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 4, &hf_h245_unknownDataType, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 5, &hf_h245_dataTypeALCombinationNotSupported, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 6, &hf_h245_multicastChannelNotAllowed, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 7, &hf_h245_insufficientBandwidth, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 8, &hf_h245_separateStackEstablishmentFailed, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 9, &hf_h245_invalidSessionID, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 10, &hf_h245_masterSlaveConflict, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 11, &hf_h245_waitForCommunicationMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 12, &hf_h245_invalidDependentChannel, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 13, &hf_h245_replacementForRejected, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 14, &hf_h245_securityDenied , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 15, &hf_h245_qoSControlNotSupported, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_OpenLogicalChannelRejectCause(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_h245_OpenLogicalChannelRejectCause, OpenLogicalChannelRejectCause_choice, NULL); return offset; } static const per_sequence_t OpenLogicalChannelReject_sequence[] = { { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber }, { &hf_h245_olc_rej_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_OpenLogicalChannelRejectCause }, { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_SEQUENCE_OF_GenericInformation }, { NULL, 0, 0, NULL } }; static int dissect_h245_OpenLogicalChannelReject(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_h245_OpenLogicalChannelReject, OpenLogicalChannelReject_sequence); if (h245_pi != NULL) h245_pi->msg_type = H245_OpenLogChnRjc; return offset; } static const per_sequence_t CloseLogicalChannelAck_sequence[] = { { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber }, { NULL, 0, 0, NULL } }; static int dissect_h245_CloseLogicalChannelAck(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_h245_CloseLogicalChannelAck, CloseLogicalChannelAck_sequence); if (h245_pi != NULL) h245_pi->msg_type = H245_CloseLogChnAck; return offset; } static const per_sequence_t RequestChannelCloseAck_sequence[] = { { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber }, { NULL, 0, 0, NULL } }; static int dissect_h245_RequestChannelCloseAck(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_h245_RequestChannelCloseAck, RequestChannelCloseAck_sequence); return offset; } static const value_string h245_RequestChannelCloseRejectCause_vals[] = { { 0, "unspecified" }, { 0, NULL } }; static const per_choice_t RequestChannelCloseRejectCause_choice[] = { { 0, &hf_h245_unspecified , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_RequestChannelCloseRejectCause(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_h245_RequestChannelCloseRejectCause, RequestChannelCloseRejectCause_choice, NULL); return offset; } static const per_sequence_t RequestChannelCloseReject_sequence[] = { { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber }, { &hf_h245_req_chan_clos_rej_cause, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_RequestChannelCloseRejectCause }, { NULL, 0, 0, NULL } }; static int dissect_h245_RequestChannelCloseReject(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_h245_RequestChannelCloseReject, RequestChannelCloseReject_sequence); return offset; } static const per_sequence_t MultiplexEntrySendAck_sequence[] = { { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber }, { &hf_h245_multiplexTableEntryNumbers, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber }, { NULL, 0, 0, NULL } }; static int dissect_h245_MultiplexEntrySendAck(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_h245_MultiplexEntrySendAck, MultiplexEntrySendAck_sequence); return offset; } static const value_string h245_MultiplexEntryRejectionDescriptionsCause_vals[] = { { 0, "unspecifiedCause" }, { 1, "descriptorTooComplex" }, { 0, NULL } }; static const per_choice_t MultiplexEntryRejectionDescriptionsCause_choice[] = { { 0, &hf_h245_unspecifiedCause, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_descriptorTooComplex, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_MultiplexEntryRejectionDescriptionsCause(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_h245_MultiplexEntryRejectionDescriptionsCause, MultiplexEntryRejectionDescriptionsCause_choice, NULL); return offset; } static const per_sequence_t MultiplexEntryRejectionDescriptions_sequence[] = { { &hf_h245_multiplexTableEntryNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexTableEntryNumber }, { &hf_h245_mux_rej_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexEntryRejectionDescriptionsCause }, { NULL, 0, 0, NULL } }; static int dissect_h245_MultiplexEntryRejectionDescriptions(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_h245_MultiplexEntryRejectionDescriptions, MultiplexEntryRejectionDescriptions_sequence); return offset; } static const per_sequence_t SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions_set_of[1] = { { &hf_h245_sendRejectionDescriptions_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexEntryRejectionDescriptions }, }; static int dissect_h245_SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index, ett_h245_SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions, SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions_set_of, 1, 15, false); return offset; } static const per_sequence_t MultiplexEntrySendReject_sequence[] = { { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber }, { &hf_h245_sendRejectionDescriptions, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions }, { NULL, 0, 0, NULL } }; static int dissect_h245_MultiplexEntrySendReject(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_h245_MultiplexEntrySendReject, MultiplexEntrySendReject_sequence); return offset; } static const per_sequence_t RequestMultiplexEntryAck_sequence[] = { { &hf_h245_entryNumbers , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber }, { NULL, 0, 0, NULL } }; static int dissect_h245_RequestMultiplexEntryAck(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_h245_RequestMultiplexEntryAck, RequestMultiplexEntryAck_sequence); return offset; } static const value_string h245_RequestMultiplexEntryRejectionDescriptionsCause_vals[] = { { 0, "unspecifiedCause" }, { 0, NULL } }; static const per_choice_t RequestMultiplexEntryRejectionDescriptionsCause_choice[] = { { 0, &hf_h245_unspecifiedCause, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_RequestMultiplexEntryRejectionDescriptionsCause(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_h245_RequestMultiplexEntryRejectionDescriptionsCause, RequestMultiplexEntryRejectionDescriptionsCause_choice, NULL); return offset; } static const per_sequence_t RequestMultiplexEntryRejectionDescriptions_sequence[] = { { &hf_h245_multiplexTableEntryNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexTableEntryNumber }, { &hf_h245_req_mux_rej_cause, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_RequestMultiplexEntryRejectionDescriptionsCause }, { NULL, 0, 0, NULL } }; static int dissect_h245_RequestMultiplexEntryRejectionDescriptions(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_h245_RequestMultiplexEntryRejectionDescriptions, RequestMultiplexEntryRejectionDescriptions_sequence); return offset; } static const per_sequence_t SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions_set_of[1] = { { &hf_h245_rejectionDescriptions_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_RequestMultiplexEntryRejectionDescriptions }, }; static int dissect_h245_SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index, ett_h245_SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions, SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions_set_of, 1, 15, false); return offset; } static const per_sequence_t RequestMultiplexEntryReject_sequence[] = { { &hf_h245_entryNumbers , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber }, { &hf_h245_rejectionDescriptions, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions }, { NULL, 0, 0, NULL } }; static int dissect_h245_RequestMultiplexEntryReject(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_h245_RequestMultiplexEntryReject, RequestMultiplexEntryReject_sequence); return offset; } static const value_string h245_Req_mode_ack_response_vals[] = { { 0, "willTransmitMostPreferredMode" }, { 1, "willTransmitLessPreferredMode" }, { 0, NULL } }; static const per_choice_t Req_mode_ack_response_choice[] = { { 0, &hf_h245_willTransmitMostPreferredMode, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_willTransmitLessPreferredMode, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_Req_mode_ack_response(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_h245_Req_mode_ack_response, Req_mode_ack_response_choice, NULL); return offset; } static const per_sequence_t RequestModeAck_sequence[] = { { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber }, { &hf_h245_req_mode_ack_response, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_Req_mode_ack_response }, { NULL, 0, 0, NULL } }; static int dissect_h245_RequestModeAck(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_h245_RequestModeAck, RequestModeAck_sequence); return offset; } static const value_string h245_RequestModeRejectCause_vals[] = { { 0, "modeUnavailable" }, { 1, "multipointConstraint" }, { 2, "requestDenied" }, { 0, NULL } }; static const per_choice_t RequestModeRejectCause_choice[] = { { 0, &hf_h245_modeUnavailable, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_multipointConstraint, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_requestDenied , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_RequestModeRejectCause(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_h245_RequestModeRejectCause, RequestModeRejectCause_choice, NULL); return offset; } static const per_sequence_t RequestModeReject_sequence[] = { { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber }, { &hf_h245_req_rej_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_RequestModeRejectCause }, { NULL, 0, 0, NULL } }; static int dissect_h245_RequestModeReject(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_h245_RequestModeReject, RequestModeReject_sequence); return offset; } static const per_sequence_t RoundTripDelayResponse_sequence[] = { { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber }, { NULL, 0, 0, NULL } }; static int dissect_h245_RoundTripDelayResponse(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_h245_RoundTripDelayResponse, RoundTripDelayResponse_sequence); return offset; } static const value_string h245_Mla_type_vals[] = { { 0, "systemLoop" }, { 1, "mediaLoop" }, { 2, "logicalChannelLoop" }, { 0, NULL } }; static const per_choice_t Mla_type_choice[] = { { 0, &hf_h245_systemLoop , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_mediaLoop , ASN1_EXTENSION_ROOT , dissect_h245_LogicalChannelNumber }, { 2, &hf_h245_logicalChannelLoop, ASN1_EXTENSION_ROOT , dissect_h245_LogicalChannelNumber }, { 0, NULL, 0, NULL } }; static int dissect_h245_Mla_type(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_h245_Mla_type, Mla_type_choice, NULL); return offset; } static const per_sequence_t MaintenanceLoopAck_sequence[] = { { &hf_h245_mla_type , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_Mla_type }, { NULL, 0, 0, NULL } }; static int dissect_h245_MaintenanceLoopAck(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_h245_MaintenanceLoopAck, MaintenanceLoopAck_sequence); return offset; } static const value_string h245_Mlrej_type_vals[] = { { 0, "systemLoop" }, { 1, "mediaLoop" }, { 2, "logicalChannelLoop" }, { 0, NULL } }; static const per_choice_t Mlrej_type_choice[] = { { 0, &hf_h245_systemLoop , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_mediaLoop , ASN1_EXTENSION_ROOT , dissect_h245_LogicalChannelNumber }, { 2, &hf_h245_logicalChannelLoop, ASN1_EXTENSION_ROOT , dissect_h245_LogicalChannelNumber }, { 0, NULL, 0, NULL } }; static int dissect_h245_Mlrej_type(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_h245_Mlrej_type, Mlrej_type_choice, NULL); return offset; } static const value_string h245_MaintenanceLoopRejectCause_vals[] = { { 0, "canNotPerformLoop" }, { 0, NULL } }; static const per_choice_t MaintenanceLoopRejectCause_choice[] = { { 0, &hf_h245_canNotPerformLoop, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_MaintenanceLoopRejectCause(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_h245_MaintenanceLoopRejectCause, MaintenanceLoopRejectCause_choice, NULL); return offset; } static const per_sequence_t MaintenanceLoopReject_sequence[] = { { &hf_h245_mlrej_type , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_Mlrej_type }, { &hf_h245_maintloop_rej_cause, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_MaintenanceLoopRejectCause }, { NULL, 0, 0, NULL } }; static int dissect_h245_MaintenanceLoopReject(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_h245_MaintenanceLoopReject, MaintenanceLoopReject_sequence); return offset; } static int dissect_h245_BMPString_SIZE_1_128(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 const value_string h245_T_entryDataType_vals[] = { { 0, "videoData" }, { 1, "audioData" }, { 2, "data" }, { 0, NULL } }; static const per_choice_t T_entryDataType_choice[] = { { 0, &hf_h245_videoData , ASN1_EXTENSION_ROOT , dissect_h245_VideoCapability }, { 1, &hf_h245_audioData , ASN1_EXTENSION_ROOT , dissect_h245_AudioCapability }, { 2, &hf_h245_data , ASN1_EXTENSION_ROOT , dissect_h245_DataApplicationCapability }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_entryDataType(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_h245_T_entryDataType, T_entryDataType_choice, NULL); return offset; } static int dissect_h245_Cm_mediaChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index); return offset; } static const per_sequence_t CommunicationModeTableEntry_sequence[] = { { &hf_h245_nonStandardParams, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_SEQUENCE_OF_NonStandardParameter }, { &hf_h245_sessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 }, { &hf_h245_associatedSessionID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_255 }, { &hf_h245_terminalLabel , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_TerminalLabel }, { &hf_h245_sessionDescription, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BMPString_SIZE_1_128 }, { &hf_h245_entryDataType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_entryDataType }, { &hf_h245_cm_mediaChannel, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_Cm_mediaChannel }, { &hf_h245_mediaGuaranteedDelivery, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_BOOLEAN }, { &hf_h245_cm_mediaControlChannel, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_TransportAddress }, { &hf_h245_mediaControlGuaranteedDelivery, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_BOOLEAN }, { &hf_h245_redundancyEncoding, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_RedundancyEncoding }, { &hf_h245_sessionDependency, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_INTEGER_1_255 }, { &hf_h245_destination , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_TerminalLabel }, { NULL, 0, 0, NULL } }; static int dissect_h245_CommunicationModeTableEntry(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_h245_CommunicationModeTableEntry, CommunicationModeTableEntry_sequence); return offset; } static const per_sequence_t SET_SIZE_1_256_OF_CommunicationModeTableEntry_set_of[1] = { { &hf_h245_communicationModeTable_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_CommunicationModeTableEntry }, }; static int dissect_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index, ett_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry, SET_SIZE_1_256_OF_CommunicationModeTableEntry_set_of, 1, 256, false); return offset; } static const value_string h245_CommunicationModeResponse_vals[] = { { 0, "communicationModeTable" }, { 0, NULL } }; static const per_choice_t CommunicationModeResponse_choice[] = { { 0, &hf_h245_communicationModeTable, ASN1_EXTENSION_ROOT , dissect_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry }, { 0, NULL, 0, NULL } }; static int dissect_h245_CommunicationModeResponse(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_h245_CommunicationModeResponse, CommunicationModeResponse_choice, NULL); return offset; } static int dissect_h245_TerminalID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, 1, 128, false, NULL); return offset; } static const per_sequence_t T_mCTerminalIDResponse_sequence[] = { { &hf_h245_terminalLabel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel }, { &hf_h245_terminalID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_TerminalID }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_mCTerminalIDResponse(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_h245_T_mCTerminalIDResponse, T_mCTerminalIDResponse_sequence); return offset; } static const per_sequence_t T_terminalIDResponse_sequence[] = { { &hf_h245_terminalLabel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel }, { &hf_h245_terminalID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_TerminalID }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_terminalIDResponse(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_h245_T_terminalIDResponse, T_terminalIDResponse_sequence); return offset; } static int dissect_h245_ConferenceID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, 1, 32, false, NULL); return offset; } static const per_sequence_t T_conferenceIDResponse_sequence[] = { { &hf_h245_terminalLabel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel }, { &hf_h245_conferenceID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_ConferenceID }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_conferenceIDResponse(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_h245_T_conferenceIDResponse, T_conferenceIDResponse_sequence); return offset; } static int dissect_h245_Password(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, 1, 32, false, NULL); return offset; } static const per_sequence_t T_passwordResponse_sequence[] = { { &hf_h245_terminalLabel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel }, { &hf_h245_password , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_Password }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_passwordResponse(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_h245_T_passwordResponse, T_passwordResponse_sequence); return offset; } static const per_sequence_t SET_SIZE_1_256_OF_TerminalLabel_set_of[1] = { { &hf_h245_terminalListResponse_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel }, }; static int dissect_h245_SET_SIZE_1_256_OF_TerminalLabel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index, ett_h245_SET_SIZE_1_256_OF_TerminalLabel, SET_SIZE_1_256_OF_TerminalLabel_set_of, 1, 256, false); return offset; } static const value_string h245_T_makeMeChairResponse_vals[] = { { 0, "grantedChairToken" }, { 1, "deniedChairToken" }, { 0, NULL } }; static const per_choice_t T_makeMeChairResponse_choice[] = { { 0, &hf_h245_grantedChairToken, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_deniedChairToken, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_makeMeChairResponse(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_h245_T_makeMeChairResponse, T_makeMeChairResponse_choice, NULL); return offset; } static const per_sequence_t T_extensionAddressResponse_sequence[] = { { &hf_h245_extensionAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_TerminalID }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_extensionAddressResponse(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_h245_T_extensionAddressResponse, T_extensionAddressResponse_sequence); return offset; } static const per_sequence_t T_chairTokenOwnerResponse_sequence[] = { { &hf_h245_terminalLabel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel }, { &hf_h245_terminalID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_TerminalID }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_chairTokenOwnerResponse(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_h245_T_chairTokenOwnerResponse, T_chairTokenOwnerResponse_sequence); return offset; } static const per_sequence_t T_terminalCertificateResponse_sequence[] = { { &hf_h245_terminalLabel , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_TerminalLabel }, { &hf_h245_certificateResponse, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_OCTET_STRING_SIZE_1_65535 }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_terminalCertificateResponse(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_h245_T_terminalCertificateResponse, T_terminalCertificateResponse_sequence); return offset; } static const value_string h245_T_broadcastMyLogicalChannelResponse_vals[] = { { 0, "grantedBroadcastMyLogicalChannel" }, { 1, "deniedBroadcastMyLogicalChannel" }, { 0, NULL } }; static const per_choice_t T_broadcastMyLogicalChannelResponse_choice[] = { { 0, &hf_h245_grantedBroadcastMyLogicalChannel, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_deniedBroadcastMyLogicalChannel, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_broadcastMyLogicalChannelResponse(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_h245_T_broadcastMyLogicalChannelResponse, T_broadcastMyLogicalChannelResponse_choice, NULL); return offset; } static const value_string h245_T_makeTerminalBroadcasterResponse_vals[] = { { 0, "grantedMakeTerminalBroadcaster" }, { 1, "deniedMakeTerminalBroadcaster" }, { 0, NULL } }; static const per_choice_t T_makeTerminalBroadcasterResponse_choice[] = { { 0, &hf_h245_grantedMakeTerminalBroadcaster, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_deniedMakeTerminalBroadcaster, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_makeTerminalBroadcasterResponse(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_h245_T_makeTerminalBroadcasterResponse, T_makeTerminalBroadcasterResponse_choice, NULL); return offset; } static const value_string h245_T_sendThisSourceResponse_vals[] = { { 0, "grantedSendThisSource" }, { 1, "deniedSendThisSource" }, { 0, NULL } }; static const per_choice_t T_sendThisSourceResponse_choice[] = { { 0, &hf_h245_grantedSendThisSource, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_deniedSendThisSource, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_sendThisSourceResponse(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_h245_T_sendThisSourceResponse, T_sendThisSourceResponse_choice, NULL); return offset; } static const per_sequence_t TerminalInformation_sequence[] = { { &hf_h245_terminalLabel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel }, { &hf_h245_terminalID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_TerminalID }, { NULL, 0, 0, NULL } }; static int dissect_h245_TerminalInformation(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_h245_TerminalInformation, TerminalInformation_sequence); return offset; } static const per_sequence_t SEQUENCE_OF_TerminalInformation_sequence_of[1] = { { &hf_h245_terminalInformation_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_TerminalInformation }, }; static int dissect_h245_SEQUENCE_OF_TerminalInformation(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_h245_SEQUENCE_OF_TerminalInformation, SEQUENCE_OF_TerminalInformation_sequence_of); return offset; } static const per_sequence_t RequestAllTerminalIDsResponse_sequence[] = { { &hf_h245_terminalInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_TerminalInformation }, { NULL, 0, 0, NULL } }; static int dissect_h245_RequestAllTerminalIDsResponse(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_h245_RequestAllTerminalIDsResponse, RequestAllTerminalIDsResponse_sequence); return offset; } static const value_string h245_T_reject_vals[] = { { 0, "unspecified" }, { 1, "functionNotSupported" }, { 0, NULL } }; static const per_choice_t T_reject_choice[] = { { 0, &hf_h245_unspecified , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_functionNotSupportedFlag, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_reject(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_h245_T_reject, T_reject_choice, NULL); return offset; } static const value_string h245_RemoteMCResponse_vals[] = { { 0, "accept" }, { 1, "reject" }, { 0, NULL } }; static const per_choice_t RemoteMCResponse_choice[] = { { 0, &hf_h245_accept , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_reject , ASN1_EXTENSION_ROOT , dissect_h245_T_reject }, { 0, NULL, 0, NULL } }; static int dissect_h245_RemoteMCResponse(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_h245_RemoteMCResponse, RemoteMCResponse_choice, NULL); return offset; } static const value_string h245_ConferenceResponse_vals[] = { { 0, "mCTerminalIDResponse" }, { 1, "terminalIDResponse" }, { 2, "conferenceIDResponse" }, { 3, "passwordResponse" }, { 4, "terminalListResponse" }, { 5, "videoCommandReject" }, { 6, "terminalDropReject" }, { 7, "makeMeChairResponse" }, { 8, "extensionAddressResponse" }, { 9, "chairTokenOwnerResponse" }, { 10, "terminalCertificateResponse" }, { 11, "broadcastMyLogicalChannelResponse" }, { 12, "makeTerminalBroadcasterResponse" }, { 13, "sendThisSourceResponse" }, { 14, "requestAllTerminalIDsResponse" }, { 15, "remoteMCResponse" }, { 0, NULL } }; static const per_choice_t ConferenceResponse_choice[] = { { 0, &hf_h245_mCTerminalIDResponse, ASN1_EXTENSION_ROOT , dissect_h245_T_mCTerminalIDResponse }, { 1, &hf_h245_terminalIDResponse, ASN1_EXTENSION_ROOT , dissect_h245_T_terminalIDResponse }, { 2, &hf_h245_conferenceIDResponse, ASN1_EXTENSION_ROOT , dissect_h245_T_conferenceIDResponse }, { 3, &hf_h245_passwordResponse, ASN1_EXTENSION_ROOT , dissect_h245_T_passwordResponse }, { 4, &hf_h245_terminalListResponse, ASN1_EXTENSION_ROOT , dissect_h245_SET_SIZE_1_256_OF_TerminalLabel }, { 5, &hf_h245_videoCommandReject, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 6, &hf_h245_terminalDropReject, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 7, &hf_h245_makeMeChairResponse, ASN1_EXTENSION_ROOT , dissect_h245_T_makeMeChairResponse }, { 8, &hf_h245_extensionAddressResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_extensionAddressResponse }, { 9, &hf_h245_chairTokenOwnerResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_chairTokenOwnerResponse }, { 10, &hf_h245_terminalCertificateResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_terminalCertificateResponse }, { 11, &hf_h245_broadcastMyLogicalChannelResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_broadcastMyLogicalChannelResponse }, { 12, &hf_h245_makeTerminalBroadcasterResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_makeTerminalBroadcasterResponse }, { 13, &hf_h245_sendThisSourceResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_sendThisSourceResponse }, { 14, &hf_h245_requestAllTerminalIDsResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RequestAllTerminalIDsResponse }, { 15, &hf_h245_remoteMCResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RemoteMCResponse }, { 0, NULL, 0, NULL } }; static int dissect_h245_ConferenceResponse(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_h245_ConferenceResponse, ConferenceResponse_choice, NULL); return offset; } static const per_sequence_t CallInformationResp_sequence[] = { { &hf_h245_dialingInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_DialingInformation }, { &hf_h245_callAssociationNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4294967295 }, { NULL, 0, 0, NULL } }; static int dissect_h245_CallInformationResp(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_h245_CallInformationResp, CallInformationResp_sequence); return offset; } static const value_string h245_T_rejected_vals[] = { { 0, "connectionsNotAvailable" }, { 1, "userRejected" }, { 0, NULL } }; static const per_choice_t T_rejected_choice[] = { { 0, &hf_h245_connectionsNotAvailable, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_userRejected , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_rejected(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_h245_T_rejected, T_rejected_choice, NULL); return offset; } static const value_string h245_T_responseCode_vals[] = { { 0, "accepted" }, { 1, "rejected" }, { 0, NULL } }; static const per_choice_t T_responseCode_choice[] = { { 0, &hf_h245_accepted , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_rejected , ASN1_EXTENSION_ROOT , dissect_h245_T_rejected }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_responseCode(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_h245_T_responseCode, T_responseCode_choice, NULL); return offset; } static const per_sequence_t AddConnectionResp_sequence[] = { { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber }, { &hf_h245_responseCode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_responseCode }, { NULL, 0, 0, NULL } }; static int dissect_h245_AddConnectionResp(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_h245_AddConnectionResp, AddConnectionResp_sequence); return offset; } static const per_sequence_t RemoveConnectionResp_sequence[] = { { &hf_h245_connectionIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_ConnectionIdentifier }, { NULL, 0, 0, NULL } }; static int dissect_h245_RemoveConnectionResp(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_h245_RemoveConnectionResp, RemoveConnectionResp_sequence); return offset; } static const per_sequence_t MaximumHeaderIntervalResp_sequence[] = { { &hf_h245_currentInterval, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 }, { NULL, 0, 0, NULL } }; static int dissect_h245_MaximumHeaderIntervalResp(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_h245_MaximumHeaderIntervalResp, MaximumHeaderIntervalResp_sequence); return offset; } static const value_string h245_MultilinkResponse_vals[] = { { 0, "nonStandard" }, { 1, "callInformation" }, { 2, "addConnection" }, { 3, "removeConnection" }, { 4, "maximumHeaderInterval" }, { 0, NULL } }; static const per_choice_t MultilinkResponse_choice[] = { { 0, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT , dissect_h245_NonStandardMessage }, { 1, &hf_h245_callInformationResp, ASN1_EXTENSION_ROOT , dissect_h245_CallInformationResp }, { 2, &hf_h245_addConnectionResp, ASN1_EXTENSION_ROOT , dissect_h245_AddConnectionResp }, { 3, &hf_h245_removeConnectionResp, ASN1_EXTENSION_ROOT , dissect_h245_RemoveConnectionResp }, { 4, &hf_h245_maximumHeaderIntervalResp, ASN1_EXTENSION_ROOT , dissect_h245_MaximumHeaderIntervalResp }, { 0, NULL, 0, NULL } }; static int dissect_h245_MultilinkResponse(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_h245_MultilinkResponse, MultilinkResponse_choice, NULL); return offset; } static const per_sequence_t LogicalChannelRateAcknowledge_sequence[] = { { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber }, { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber }, { &hf_h245_maximumBitRate , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_MaximumBitRate }, { NULL, 0, 0, NULL } }; static int dissect_h245_LogicalChannelRateAcknowledge(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_h245_LogicalChannelRateAcknowledge, LogicalChannelRateAcknowledge_sequence); return offset; } static const value_string h245_LogicalChannelRateRejectReason_vals[] = { { 0, "undefinedReason" }, { 1, "insufficientResources" }, { 0, NULL } }; static const per_choice_t LogicalChannelRateRejectReason_choice[] = { { 0, &hf_h245_undefinedReason, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_insufficientResources, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_LogicalChannelRateRejectReason(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_h245_LogicalChannelRateRejectReason, LogicalChannelRateRejectReason_choice, NULL); return offset; } static const per_sequence_t LogicalChannelRateReject_sequence[] = { { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber }, { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber }, { &hf_h245_rejectReason , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelRateRejectReason }, { &hf_h245_currentMaximumBitRate, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_MaximumBitRate }, { NULL, 0, 0, NULL } }; static int dissect_h245_LogicalChannelRateReject(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_h245_LogicalChannelRateReject, LogicalChannelRateReject_sequence); return offset; } static const value_string h245_ResponseMessage_vals[] = { { ResponseMessage_nonStandard, "nonStandard" }, { ResponseMessage_masterSlaveDeterminationAck, "masterSlaveDeterminationAck" }, { ResponseMessage_masterSlaveDeterminationReject, "masterSlaveDeterminationReject" }, { ResponseMessage_terminalCapabilitySetAck, "terminalCapabilitySetAck" }, { ResponseMessage_terminalCapabilitySetReject, "terminalCapabilitySetReject" }, { ResponseMessage_openLogicalChannelAck, "openLogicalChannelAck" }, { ResponseMessage_openLogicalChannelReject, "openLogicalChannelReject" }, { ResponseMessage_closeLogicalChannelAck, "closeLogicalChannelAck" }, { ResponseMessage_requestChannelCloseAck, "requestChannelCloseAck" }, { ResponseMessage_requestChannelCloseReject, "requestChannelCloseReject" }, { ResponseMessage_multiplexEntrySendAck, "multiplexEntrySendAck" }, { ResponseMessage_multiplexEntrySendReject, "multiplexEntrySendReject" }, { ResponseMessage_requestMultiplexEntryAck, "requestMultiplexEntryAck" }, { ResponseMessage_requestMultiplexEntryReject, "requestMultiplexEntryReject" }, { ResponseMessage_requestModeAck, "requestModeAck" }, { ResponseMessage_requestModeReject, "requestModeReject" }, { ResponseMessage_roundTripDelayResponse, "roundTripDelayResponse" }, { ResponseMessage_maintenanceLoopAck, "maintenanceLoopAck" }, { ResponseMessage_maintenanceLoopReject, "maintenanceLoopReject" }, { ResponseMessage_communicationModeResponse, "communicationModeResponse" }, { ResponseMessage_conferenceResponse, "conferenceResponse" }, { ResponseMessage_multilinkResponse, "multilinkResponse" }, { ResponseMessage_logicalChannelRateAcknowledge, "logicalChannelRateAcknowledge" }, { ResponseMessage_logicalChannelRateReject, "logicalChannelRateReject" }, { ResponseMessage_genericResponse, "genericResponse" }, { 0, NULL } }; static const per_choice_t ResponseMessage_choice[] = { { ResponseMessage_nonStandard, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT , dissect_h245_NonStandardMessage }, { ResponseMessage_masterSlaveDeterminationAck, &hf_h245_masterSlaveDeterminationAck, ASN1_EXTENSION_ROOT , dissect_h245_MasterSlaveDeterminationAck }, { ResponseMessage_masterSlaveDeterminationReject, &hf_h245_masterSlaveDeterminationReject, ASN1_EXTENSION_ROOT , dissect_h245_MasterSlaveDeterminationReject }, { ResponseMessage_terminalCapabilitySetAck, &hf_h245_terminalCapabilitySetAck, ASN1_EXTENSION_ROOT , dissect_h245_TerminalCapabilitySetAck }, { ResponseMessage_terminalCapabilitySetReject, &hf_h245_terminalCapabilitySetReject, ASN1_EXTENSION_ROOT , dissect_h245_TerminalCapabilitySetReject }, { ResponseMessage_openLogicalChannelAck, &hf_h245_openLogicalChannelAck, ASN1_EXTENSION_ROOT , dissect_h245_OpenLogicalChannelAck }, { ResponseMessage_openLogicalChannelReject, &hf_h245_openLogicalChannelReject, ASN1_EXTENSION_ROOT , dissect_h245_OpenLogicalChannelReject }, { ResponseMessage_closeLogicalChannelAck, &hf_h245_closeLogicalChannelAck, ASN1_EXTENSION_ROOT , dissect_h245_CloseLogicalChannelAck }, { ResponseMessage_requestChannelCloseAck, &hf_h245_requestChannelCloseAck, ASN1_EXTENSION_ROOT , dissect_h245_RequestChannelCloseAck }, { ResponseMessage_requestChannelCloseReject, &hf_h245_requestChannelCloseReject, ASN1_EXTENSION_ROOT , dissect_h245_RequestChannelCloseReject }, { ResponseMessage_multiplexEntrySendAck, &hf_h245_multiplexEntrySendAck, ASN1_EXTENSION_ROOT , dissect_h245_MultiplexEntrySendAck }, { ResponseMessage_multiplexEntrySendReject, &hf_h245_multiplexEntrySendReject, ASN1_EXTENSION_ROOT , dissect_h245_MultiplexEntrySendReject }, { ResponseMessage_requestMultiplexEntryAck, &hf_h245_requestMultiplexEntryAck, ASN1_EXTENSION_ROOT , dissect_h245_RequestMultiplexEntryAck }, { ResponseMessage_requestMultiplexEntryReject, &hf_h245_requestMultiplexEntryReject, ASN1_EXTENSION_ROOT , dissect_h245_RequestMultiplexEntryReject }, { ResponseMessage_requestModeAck, &hf_h245_requestModeAck , ASN1_EXTENSION_ROOT , dissect_h245_RequestModeAck }, { ResponseMessage_requestModeReject, &hf_h245_requestModeReject, ASN1_EXTENSION_ROOT , dissect_h245_RequestModeReject }, { ResponseMessage_roundTripDelayResponse, &hf_h245_roundTripDelayResponse, ASN1_EXTENSION_ROOT , dissect_h245_RoundTripDelayResponse }, { ResponseMessage_maintenanceLoopAck, &hf_h245_maintenanceLoopAck, ASN1_EXTENSION_ROOT , dissect_h245_MaintenanceLoopAck }, { ResponseMessage_maintenanceLoopReject, &hf_h245_maintenanceLoopReject, ASN1_EXTENSION_ROOT , dissect_h245_MaintenanceLoopReject }, { ResponseMessage_communicationModeResponse, &hf_h245_communicationModeResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_CommunicationModeResponse }, { ResponseMessage_conferenceResponse, &hf_h245_conferenceResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ConferenceResponse }, { ResponseMessage_multilinkResponse, &hf_h245_multilinkResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultilinkResponse }, { ResponseMessage_logicalChannelRateAcknowledge, &hf_h245_logicalChannelRateAcknowledge, ASN1_NOT_EXTENSION_ROOT, dissect_h245_LogicalChannelRateAcknowledge }, { ResponseMessage_logicalChannelRateReject, &hf_h245_logicalChannelRateReject, ASN1_NOT_EXTENSION_ROOT, dissect_h245_LogicalChannelRateReject }, { ResponseMessage_genericResponse, &hf_h245_genericResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericMessage }, { 0, NULL, 0, NULL } }; static int dissect_h245_ResponseMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { int32_t value; offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_h245_ResponseMessage, ResponseMessage_choice, &value); print_info_column(actx->pinfo->cinfo, &value, h245_ResponseMessage_vals, h245_ResponseMessage_short_vals); col_set_fence(actx->pinfo->cinfo,COL_INFO); if (h245_pi != NULL){ /* Add to packet info */ if ( strlen(h245_pi->frame_label) == 0 ){ snprintf(h245_pi->frame_label, 50, "%s", val_to_str_const(value, h245_ResponseMessage_short_vals, "UKN")); } (void) g_strlcat(h245_pi->comment, val_to_str_const(value, h245_ResponseMessage_vals, ""), 50); } return offset; } static const per_sequence_t MaintenanceLoopOffCommand_sequence[] = { { NULL, ASN1_EXTENSION_ROOT, 0, NULL } }; static int dissect_h245_MaintenanceLoopOffCommand(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_h245_MaintenanceLoopOffCommand, MaintenanceLoopOffCommand_sequence); return offset; } static const per_sequence_t SET_SIZE_1_65535_OF_CapabilityTableEntryNumber_set_of[1] = { { &hf_h245_capabilityTableEntryNumbers_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber }, }; static int dissect_h245_SET_SIZE_1_65535_OF_CapabilityTableEntryNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index, ett_h245_SET_SIZE_1_65535_OF_CapabilityTableEntryNumber, SET_SIZE_1_65535_OF_CapabilityTableEntryNumber_set_of, 1, 65535, false); return offset; } static const per_sequence_t SET_SIZE_1_256_OF_CapabilityDescriptorNumber_set_of[1] = { { &hf_h245_capabilityDescriptorNumbers_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityDescriptorNumber }, }; static int dissect_h245_SET_SIZE_1_256_OF_CapabilityDescriptorNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index, ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptorNumber, SET_SIZE_1_256_OF_CapabilityDescriptorNumber_set_of, 1, 256, false); return offset; } static const per_sequence_t T_specificRequest_sequence[] = { { &hf_h245_multiplexCapabilityBool, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_capabilityTableEntryNumbers, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_SET_SIZE_1_65535_OF_CapabilityTableEntryNumber }, { &hf_h245_capabilityDescriptorNumbers, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_SET_SIZE_1_256_OF_CapabilityDescriptorNumber }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_specificRequest(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_h245_T_specificRequest, T_specificRequest_sequence); return offset; } static const value_string h245_SendTerminalCapabilitySet_vals[] = { { 0, "specificRequest" }, { 1, "genericRequest" }, { 0, NULL } }; static const per_choice_t SendTerminalCapabilitySet_choice[] = { { 0, &hf_h245_specificRequest, ASN1_EXTENSION_ROOT , dissect_h245_T_specificRequest }, { 1, &hf_h245_genericRequestFlag, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_SendTerminalCapabilitySet(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_h245_SendTerminalCapabilitySet, SendTerminalCapabilitySet_choice, NULL); return offset; } static const per_sequence_t T_encryptionAlgorithmID_sequence[] = { { &hf_h245_h233AlgorithmIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber }, { &hf_h245_associatedAlgorithm, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardParameter }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_encryptionAlgorithmID(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_h245_T_encryptionAlgorithmID, T_encryptionAlgorithmID_sequence); return offset; } static const value_string h245_EncryptionCommand_vals[] = { { 0, "encryptionSE" }, { 1, "encryptionIVRequest" }, { 2, "encryptionAlgorithmID" }, { 0, NULL } }; static const per_choice_t EncryptionCommand_choice[] = { { 0, &hf_h245_encryptionSE , ASN1_EXTENSION_ROOT , dissect_h245_OCTET_STRING }, { 1, &hf_h245_encryptionIVRequest, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_encryptionAlgorithmID, ASN1_EXTENSION_ROOT , dissect_h245_T_encryptionAlgorithmID }, { 0, NULL, 0, NULL } }; static int dissect_h245_EncryptionCommand(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_h245_EncryptionCommand, EncryptionCommand_choice, NULL); return offset; } static const value_string h245_Scope_vals[] = { { 0, "logicalChannelNumber" }, { 1, "resourceID" }, { 2, "wholeMultiplex" }, { 0, NULL } }; static const per_choice_t Scope_choice[] = { { 0, &hf_h245_logicalChannelNumber, ASN1_NO_EXTENSIONS , dissect_h245_LogicalChannelNumber }, { 1, &hf_h245_resourceID , ASN1_NO_EXTENSIONS , dissect_h245_INTEGER_0_65535 }, { 2, &hf_h245_wholeMultiplex , ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_Scope(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_h245_Scope, Scope_choice, NULL); return offset; } static const value_string h245_Restriction_vals[] = { { 0, "maximumBitRate" }, { 1, "noRestriction" }, { 0, NULL } }; static const per_choice_t Restriction_choice[] = { { 0, &hf_h245_res_maximumBitRate, ASN1_NO_EXTENSIONS , dissect_h245_INTEGER_0_16777215 }, { 1, &hf_h245_noRestriction , ASN1_NO_EXTENSIONS , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_Restriction(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_h245_Restriction, Restriction_choice, NULL); return offset; } static const per_sequence_t FlowControlCommand_sequence[] = { { &hf_h245_scope , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_Scope }, { &hf_h245_restriction , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_Restriction }, { NULL, 0, 0, NULL } }; static int dissect_h245_FlowControlCommand(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_h245_FlowControlCommand, FlowControlCommand_sequence); return offset; } static const value_string h245_T_gstnOptions_vals[] = { { 0, "telephonyMode" }, { 1, "v8bis" }, { 2, "v34DSVD" }, { 3, "v34DuplexFAX" }, { 4, "v34H324" }, { 0, NULL } }; static const per_choice_t T_gstnOptions_choice[] = { { 0, &hf_h245_telephonyMode , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_v8bis , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_v34DSVD , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 3, &hf_h245_v34DuplexFAX , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 4, &hf_h245_v34H324 , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_gstnOptions(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_h245_T_gstnOptions, T_gstnOptions_choice, NULL); return offset; } static const value_string h245_T_isdnOptions_vals[] = { { 0, "telephonyMode" }, { 1, "v140" }, { 2, "terminalOnHold" }, { 0, NULL } }; static const per_choice_t T_isdnOptions_choice[] = { { 0, &hf_h245_telephonyMode , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_v140 , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_terminalOnHold , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_isdnOptions(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_h245_T_isdnOptions, T_isdnOptions_choice, NULL); return offset; } static const value_string h245_EndSessionCommand_vals[] = { { 0, "nonStandard" }, { 1, "disconnect" }, { 2, "gstnOptions" }, { 3, "isdnOptions" }, { 4, "genericInformation" }, { 0, NULL } }; static const per_choice_t EndSessionCommand_choice[] = { { 0, &hf_h245_nonStandard , ASN1_EXTENSION_ROOT , dissect_h245_NonStandardParameter }, { 1, &hf_h245_disconnect , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_gstnOptions , ASN1_EXTENSION_ROOT , dissect_h245_T_gstnOptions }, { 3, &hf_h245_isdnOptions , ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_isdnOptions }, { 4, &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, dissect_h245_SEQUENCE_OF_GenericInformation }, { 0, NULL, 0, NULL } }; static int dissect_h245_EndSessionCommand(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_h245_EndSessionCommand, EndSessionCommand_choice, NULL); return offset; } static int dissect_h245_INTEGER_0_17(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, 17U, NULL, false); return offset; } static int dissect_h245_INTEGER_1_18(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, 18U, NULL, false); return offset; } static const per_sequence_t T_videoFastUpdateGOB_sequence[] = { { &hf_h245_firstGOB , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_17 }, { &hf_h245_numberOfGOBs , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_18 }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_videoFastUpdateGOB(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_h245_T_videoFastUpdateGOB, T_videoFastUpdateGOB_sequence); return offset; } static int dissect_h245_INTEGER_0_31(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, 31U, NULL, false); return offset; } static int dissect_h245_INTEGER_1_8192(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, 8192U, NULL, false); return offset; } static const per_sequence_t T_videoFastUpdateMB_sequence[] = { { &hf_h245_firstGOB_0_255 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_255 }, { &hf_h245_firstMB_1_8192 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_8192 }, { &hf_h245_numberOfMBs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_8192 }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_videoFastUpdateMB(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_h245_T_videoFastUpdateMB, T_videoFastUpdateMB_sequence); return offset; } static const per_sequence_t KeyProtectionMethod_sequence[] = { { &hf_h245_secureChannel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_sharedSecret , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_certProtectedKey, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_h245_KeyProtectionMethod(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_h245_KeyProtectionMethod, KeyProtectionMethod_sequence); return offset; } static const per_sequence_t EncryptionUpdateRequest_sequence[] = { { &hf_h245_keyProtectionMethod, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_KeyProtectionMethod }, { &hf_h245_synchFlag , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_INTEGER_0_255 }, { NULL, 0, 0, NULL } }; static int dissect_h245_EncryptionUpdateRequest(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_h245_EncryptionUpdateRequest, EncryptionUpdateRequest_sequence); return offset; } static const value_string h245_T_repeatCount_vals[] = { { 0, "doOneProgression" }, { 1, "doContinuousProgressions" }, { 2, "doOneIndependentProgression" }, { 3, "doContinuousIndependentProgressions" }, { 0, NULL } }; static const per_choice_t T_repeatCount_choice[] = { { 0, &hf_h245_doOneProgression, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_doContinuousProgressions, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_doOneIndependentProgression, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 3, &hf_h245_doContinuousIndependentProgressions, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_repeatCount(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_h245_T_repeatCount, T_repeatCount_choice, NULL); return offset; } static const per_sequence_t T_progressiveRefinementStart_sequence[] = { { &hf_h245_repeatCount , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_repeatCount }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_progressiveRefinementStart(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_h245_T_progressiveRefinementStart, T_progressiveRefinementStart_sequence); return offset; } static int dissect_h245_INTEGER_1_9216(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, 9216U, NULL, false); return offset; } static const per_sequence_t T_videoBadMBs_sequence[] = { { &hf_h245_firstMB , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_9216 }, { &hf_h245_numberOfMBs1_1_9216, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_9216 }, { &hf_h245_temporalReference, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_1023 }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_videoBadMBs(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_h245_T_videoBadMBs, T_videoBadMBs_sequence); return offset; } static const value_string h245_PictureReference_vals[] = { { 0, "pictureNumber" }, { 1, "longTermPictureIndex" }, { 0, NULL } }; static const per_choice_t PictureReference_choice[] = { { 0, &hf_h245_pictureNumber , ASN1_EXTENSION_ROOT , dissect_h245_INTEGER_0_1023 }, { 1, &hf_h245_longTermPictureIndex, ASN1_EXTENSION_ROOT , dissect_h245_INTEGER_0_255 }, { 0, NULL, 0, NULL } }; static int dissect_h245_PictureReference(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_h245_PictureReference, PictureReference_choice, NULL); return offset; } static const per_sequence_t SEQUENCE_OF_PictureReference_sequence_of[1] = { { &hf_h245_lostPicture_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h245_PictureReference }, }; static int dissect_h245_SEQUENCE_OF_PictureReference(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_h245_SEQUENCE_OF_PictureReference, SEQUENCE_OF_PictureReference_sequence_of); return offset; } static const per_sequence_t T_lostPartialPicture_sequence[] = { { &hf_h245_pictureReference, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_PictureReference }, { &hf_h245_firstMB , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_9216 }, { &hf_h245_numberOfMBs1_1_9216, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_9216 }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_lostPartialPicture(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_h245_T_lostPartialPicture, T_lostPartialPicture_sequence); return offset; } static const per_sequence_t T_encryptionUpdateCommand_sequence[] = { { &hf_h245_encryptionSync , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_EncryptionSync }, { &hf_h245_multiplePayloadStream, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_MultiplePayloadStream }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_encryptionUpdateCommand(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_h245_T_encryptionUpdateCommand, T_encryptionUpdateCommand_sequence); return offset; } static const per_sequence_t T_encryptionUpdateAck_sequence[] = { { &hf_h245_synchFlag , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_encryptionUpdateAck(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_h245_T_encryptionUpdateAck, T_encryptionUpdateAck_sequence); return offset; } static const value_string h245_Mc_type_vals[] = { { 0, "equaliseDelay" }, { 1, "zeroDelay" }, { 2, "multipointModeCommand" }, { 3, "cancelMultipointModeCommand" }, { 4, "videoFreezePicture" }, { 5, "videoFastUpdatePicture" }, { 6, "videoFastUpdateGOB" }, { 7, "videoTemporalSpatialTradeOff" }, { 8, "videoSendSyncEveryGOB" }, { 9, "videoSendSyncEveryGOBCancel" }, { 10, "videoFastUpdateMB" }, { 11, "maxH223MUXPDUsize" }, { 12, "encryptionUpdate" }, { 13, "encryptionUpdateRequest" }, { 14, "switchReceiveMediaOff" }, { 15, "switchReceiveMediaOn" }, { 16, "progressiveRefinementStart" }, { 17, "progressiveRefinementAbortOne" }, { 18, "progressiveRefinementAbortContinuous" }, { 19, "videoBadMBs" }, { 20, "lostPicture" }, { 21, "lostPartialPicture" }, { 22, "recoveryReferencePicture" }, { 23, "encryptionUpdateCommand" }, { 24, "encryptionUpdateAck" }, { 0, NULL } }; static const per_choice_t Mc_type_choice[] = { { 0, &hf_h245_equaliseDelay , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_zeroDelay , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_multipointModeCommand, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 3, &hf_h245_cancelMultipointModeCommand, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 4, &hf_h245_videoFreezePicture, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 5, &hf_h245_videoFastUpdatePicture, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 6, &hf_h245_videoFastUpdateGOB, ASN1_EXTENSION_ROOT , dissect_h245_T_videoFastUpdateGOB }, { 7, &hf_h245_videoTemporalSpatialTradeOff, ASN1_EXTENSION_ROOT , dissect_h245_INTEGER_0_31 }, { 8, &hf_h245_videoSendSyncEveryGOB, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 9, &hf_h245_videoSendSyncEveryGOBCancel, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 10, &hf_h245_videoFastUpdateMB, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_videoFastUpdateMB }, { 11, &hf_h245_maxH223MUXPDUsize, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_1_65535 }, { 12, &hf_h245_encryptionUpdate, ASN1_NOT_EXTENSION_ROOT, dissect_h245_EncryptionSync }, { 13, &hf_h245_encryptionUpdateRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_EncryptionUpdateRequest }, { 14, &hf_h245_switchReceiveMediaOff, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 15, &hf_h245_switchReceiveMediaOn, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 16, &hf_h245_progressiveRefinementStart, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_progressiveRefinementStart }, { 17, &hf_h245_progressiveRefinementAbortOne, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 18, &hf_h245_progressiveRefinementAbortContinuous, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 19, &hf_h245_videoBadMBs , ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_videoBadMBs }, { 20, &hf_h245_lostPicture , ASN1_NOT_EXTENSION_ROOT, dissect_h245_SEQUENCE_OF_PictureReference }, { 21, &hf_h245_lostPartialPicture, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_lostPartialPicture }, { 22, &hf_h245_recoveryReferencePicture, ASN1_NOT_EXTENSION_ROOT, dissect_h245_SEQUENCE_OF_PictureReference }, { 23, &hf_h245_encryptionUpdateCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_encryptionUpdateCommand }, { 24, &hf_h245_encryptionUpdateAck, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_encryptionUpdateAck }, { 0, NULL, 0, NULL } }; static int dissect_h245_Mc_type(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_h245_Mc_type, Mc_type_choice, NULL); return offset; } static const value_string h245_EncryptionUpdateDirection_vals[] = { { 0, "masterToSlave" }, { 1, "slaveToMaster" }, { 0, NULL } }; static const per_choice_t EncryptionUpdateDirection_choice[] = { { 0, &hf_h245_masterToSlave , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_slaveToMaster , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_EncryptionUpdateDirection(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_h245_EncryptionUpdateDirection, EncryptionUpdateDirection_choice, NULL); return offset; } static const per_sequence_t MiscellaneousCommand_sequence[] = { { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber }, { &hf_h245_mc_type , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_Mc_type }, { &hf_h245_direction , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_EncryptionUpdateDirection }, { NULL, 0, 0, NULL } }; static int dissect_h245_MiscellaneousCommand(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_h245_MiscellaneousCommand, MiscellaneousCommand_sequence); return offset; } static const per_sequence_t CommunicationModeCommand_sequence[] = { { &hf_h245_communicationModeTable, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry }, { NULL, 0, 0, NULL } }; static int dissect_h245_CommunicationModeCommand(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_h245_CommunicationModeCommand, CommunicationModeCommand_sequence); return offset; } static const per_sequence_t SubstituteConferenceIDCommand_sequence[] = { { &hf_h245_conferenceIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_16 }, { NULL, 0, 0, NULL } }; static int dissect_h245_SubstituteConferenceIDCommand(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_h245_SubstituteConferenceIDCommand, SubstituteConferenceIDCommand_sequence); return offset; } static const value_string h245_ConferenceCommand_vals[] = { { 0, "broadcastMyLogicalChannel" }, { 1, "cancelBroadcastMyLogicalChannel" }, { 2, "makeTerminalBroadcaster" }, { 3, "cancelMakeTerminalBroadcaster" }, { 4, "sendThisSource" }, { 5, "cancelSendThisSource" }, { 6, "dropConference" }, { 7, "substituteConferenceIDCommand" }, { 0, NULL } }; static const per_choice_t ConferenceCommand_choice[] = { { 0, &hf_h245_broadcastMyLogicalChannel, ASN1_EXTENSION_ROOT , dissect_h245_LogicalChannelNumber }, { 1, &hf_h245_cancelBroadcastMyLogicalChannel, ASN1_EXTENSION_ROOT , dissect_h245_LogicalChannelNumber }, { 2, &hf_h245_makeTerminalBroadcaster, ASN1_EXTENSION_ROOT , dissect_h245_TerminalLabel }, { 3, &hf_h245_cancelMakeTerminalBroadcaster, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 4, &hf_h245_sendThisSource , ASN1_EXTENSION_ROOT , dissect_h245_TerminalLabel }, { 5, &hf_h245_cancelSendThisSource, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 6, &hf_h245_dropConference , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 7, &hf_h245_substituteConferenceIDCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_SubstituteConferenceIDCommand }, { 0, NULL, 0, NULL } }; static int dissect_h245_ConferenceCommand(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_h245_ConferenceCommand, ConferenceCommand_choice, NULL); return offset; } static const value_string h245_T_h223ModeChange_vals[] = { { 0, "toLevel0" }, { 1, "toLevel1" }, { 2, "toLevel2" }, { 3, "toLevel2withOptionalHeader" }, { 0, NULL } }; static const per_choice_t T_h223ModeChange_choice[] = { { 0, &hf_h245_toLevel0 , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_toLevel1 , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_toLevel2 , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 3, &hf_h245_toLevel2withOptionalHeader, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_h223ModeChange(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_h245_T_h223ModeChange, T_h223ModeChange_choice, NULL); return offset; } static const value_string h245_T_h223AnnexADoubleFlag_vals[] = { { 0, "start" }, { 1, "stop" }, { 0, NULL } }; static const per_choice_t T_h223AnnexADoubleFlag_choice[] = { { 0, &hf_h245_start , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_stop , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_h223AnnexADoubleFlag(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_h245_T_h223AnnexADoubleFlag, T_h223AnnexADoubleFlag_choice, NULL); return offset; } static const value_string h245_H223MultiplexReconfiguration_vals[] = { { 0, "h223ModeChange" }, { 1, "h223AnnexADoubleFlag" }, { 0, NULL } }; static const per_choice_t H223MultiplexReconfiguration_choice[] = { { 0, &hf_h245_h223ModeChange , ASN1_EXTENSION_ROOT , dissect_h245_T_h223ModeChange }, { 1, &hf_h245_h223AnnexADoubleFlag, ASN1_EXTENSION_ROOT , dissect_h245_T_h223AnnexADoubleFlag }, { 0, NULL, 0, NULL } }; static int dissect_h245_H223MultiplexReconfiguration(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_h245_H223MultiplexReconfiguration, H223MultiplexReconfiguration_choice, NULL); return offset; } static const value_string h245_Cmd_clockRecovery_vals[] = { { 0, "nullClockRecovery" }, { 1, "srtsClockRecovery" }, { 2, "adaptiveClockRecovery" }, { 0, NULL } }; static const per_choice_t Cmd_clockRecovery_choice[] = { { 0, &hf_h245_nullClockRecoveryflag, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_srtsClockRecovery, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_adaptiveClockRecoveryFlag, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_Cmd_clockRecovery(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_h245_Cmd_clockRecovery, Cmd_clockRecovery_choice, NULL); return offset; } static const value_string h245_Cmd_errorCorrection_vals[] = { { 0, "nullErrorCorrection" }, { 1, "longInterleaver" }, { 2, "shortInterleaver" }, { 3, "errorCorrectionOnly" }, { 0, NULL } }; static const per_choice_t Cmd_errorCorrection_choice[] = { { 0, &hf_h245_nullErrorCorrectionFlag, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_longInterleaverFlag, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_shortInterleaverFlag, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 3, &hf_h245_errorCorrectionOnlyFlag, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_Cmd_errorCorrection(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_h245_Cmd_errorCorrection, Cmd_errorCorrection_choice, NULL); return offset; } static const per_sequence_t Cmd_aal1_sequence[] = { { &hf_h245_cmd_clockRecovery, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_Cmd_clockRecovery }, { &hf_h245_cmd_errorCorrection, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_Cmd_errorCorrection }, { &hf_h245_structuredDataTransfer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_partiallyFilledCells, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_h245_Cmd_aal1(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_h245_Cmd_aal1, Cmd_aal1_sequence); return offset; } static const per_sequence_t Cmd_aal5_sequence[] = { { &hf_h245_forwardMaximumSDUSize, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 }, { &hf_h245_backwardMaximumSDUSize, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 }, { NULL, 0, 0, NULL } }; static int dissect_h245_Cmd_aal5(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_h245_Cmd_aal5, Cmd_aal5_sequence); return offset; } static const value_string h245_Cmd_aal_vals[] = { { 0, "aal1" }, { 1, "aal5" }, { 0, NULL } }; static const per_choice_t Cmd_aal_choice[] = { { 0, &hf_h245_cmd_aal1 , ASN1_EXTENSION_ROOT , dissect_h245_Cmd_aal1 }, { 1, &hf_h245_cmd_aal5 , ASN1_EXTENSION_ROOT , dissect_h245_Cmd_aal5 }, { 0, NULL, 0, NULL } }; static int dissect_h245_Cmd_aal(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_h245_Cmd_aal, Cmd_aal_choice, NULL); return offset; } static const value_string h245_Cmd_multiplex_vals[] = { { 0, "noMultiplex" }, { 1, "transportStream" }, { 2, "programStream" }, { 0, NULL } }; static const per_choice_t Cmd_multiplex_choice[] = { { 0, &hf_h245_noMultiplex , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_transportStream, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_programStreamFlag, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_Cmd_multiplex(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_h245_Cmd_multiplex, Cmd_multiplex_choice, NULL); return offset; } static const value_string h245_CmdR_multiplex_vals[] = { { 0, "noMultiplex" }, { 1, "transportStream" }, { 2, "programStream" }, { 0, NULL } }; static const per_choice_t CmdR_multiplex_choice[] = { { 0, &hf_h245_noMultiplex , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_transportStream, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_programStreamFlag, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_CmdR_multiplex(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_h245_CmdR_multiplex, CmdR_multiplex_choice, NULL); return offset; } static const per_sequence_t Cmd_reverseParameters_sequence[] = { { &hf_h245_bitRate , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 }, { &hf_h245_bitRateLockedToPCRClock, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_bitRateLockedToNetworkClock, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_cmdr_multiplex , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_CmdR_multiplex }, { NULL, 0, 0, NULL } }; static int dissect_h245_Cmd_reverseParameters(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_h245_Cmd_reverseParameters, Cmd_reverseParameters_sequence); return offset; } static const per_sequence_t NewATMVCCommand_sequence[] = { { &hf_h245_resourceID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 }, { &hf_h245_bitRate , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 }, { &hf_h245_bitRateLockedToPCRClock, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_bitRateLockedToNetworkClock, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_cmd_aal , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_Cmd_aal }, { &hf_h245_cmd_multiplex , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_Cmd_multiplex }, { &hf_h245_cmd_reverseParameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_Cmd_reverseParameters }, { NULL, 0, 0, NULL } }; static int dissect_h245_NewATMVCCommand(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_h245_NewATMVCCommand, NewATMVCCommand_sequence); return offset; } static const value_string h245_T_status_vals[] = { { 0, "synchronized" }, { 1, "reconfiguration" }, { 0, NULL } }; static const per_choice_t T_status_choice[] = { { 0, &hf_h245_synchronized , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_reconfiguration, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_status(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_h245_T_status, T_status_choice, NULL); return offset; } static const per_sequence_t MobileMultilinkReconfigurationCommand_sequence[] = { { &hf_h245_sampleSize , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 }, { &hf_h245_samplesPerFrame, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 }, { &hf_h245_status , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_status }, { NULL, 0, 0, NULL } }; static int dissect_h245_MobileMultilinkReconfigurationCommand(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_h245_MobileMultilinkReconfigurationCommand, MobileMultilinkReconfigurationCommand_sequence); return offset; } static const value_string h245_CommandMessage_vals[] = { { CommandMessage_nonStandard, "nonStandard" }, { CommandMessage_maintenanceLoopOffCommand, "maintenanceLoopOffCommand" }, { CommandMessage_sendTerminalCapabilitySet, "sendTerminalCapabilitySet" }, { CommandMessage_encryptionCommand, "encryptionCommand" }, { CommandMessage_flowControlCommand, "flowControlCommand" }, { CommandMessage_endSessionCommand, "endSessionCommand" }, { CommandMessage_miscellaneousCommand, "miscellaneousCommand" }, { CommandMessage_communicationModeCommand, "communicationModeCommand" }, { CommandMessage_conferenceCommand, "conferenceCommand" }, { CommandMessage_h223MultiplexReconfiguration, "h223MultiplexReconfiguration" }, { CommandMessage_newATMVCCommand, "newATMVCCommand" }, { CommandMessage_mobileMultilinkReconfigurationCommand, "mobileMultilinkReconfigurationCommand" }, { CommandMessage_genericCommand, "genericCommand" }, { 0, NULL } }; static const per_choice_t CommandMessage_choice[] = { { CommandMessage_nonStandard, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT , dissect_h245_NonStandardMessage }, { CommandMessage_maintenanceLoopOffCommand, &hf_h245_maintenanceLoopOffCommand, ASN1_EXTENSION_ROOT , dissect_h245_MaintenanceLoopOffCommand }, { CommandMessage_sendTerminalCapabilitySet, &hf_h245_sendTerminalCapabilitySet, ASN1_EXTENSION_ROOT , dissect_h245_SendTerminalCapabilitySet }, { CommandMessage_encryptionCommand, &hf_h245_encryptionCommand, ASN1_EXTENSION_ROOT , dissect_h245_EncryptionCommand }, { CommandMessage_flowControlCommand, &hf_h245_flowControlCommand, ASN1_EXTENSION_ROOT , dissect_h245_FlowControlCommand }, { CommandMessage_endSessionCommand, &hf_h245_endSessionCommand, ASN1_EXTENSION_ROOT , dissect_h245_EndSessionCommand }, { CommandMessage_miscellaneousCommand, &hf_h245_miscellaneousCommand, ASN1_EXTENSION_ROOT , dissect_h245_MiscellaneousCommand }, { CommandMessage_communicationModeCommand, &hf_h245_communicationModeCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_CommunicationModeCommand }, { CommandMessage_conferenceCommand, &hf_h245_conferenceCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ConferenceCommand }, { CommandMessage_h223MultiplexReconfiguration, &hf_h245_h223MultiplexReconfiguration, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H223MultiplexReconfiguration }, { CommandMessage_newATMVCCommand, &hf_h245_newATMVCCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NewATMVCCommand }, { CommandMessage_mobileMultilinkReconfigurationCommand, &hf_h245_mobileMultilinkReconfigurationCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MobileMultilinkReconfigurationCommand }, { CommandMessage_genericCommand, &hf_h245_genericCommand , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericMessage }, { 0, NULL, 0, NULL } }; static int dissect_h245_CommandMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { int32_t value; offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_h245_CommandMessage, CommandMessage_choice, &value); print_info_column(actx->pinfo->cinfo, &value, h245_CommandMessage_vals, h245_CommandMessage_short_vals); col_set_fence(actx->pinfo->cinfo,COL_INFO); /* Add to packet info */ if (h245_pi != NULL){ if ( strlen(h245_pi->frame_label) == 0 ){ snprintf(h245_pi->frame_label, 50, "%s", val_to_str_const(value, h245_CommandMessage_short_vals, "UKN")); } (void) g_strlcat(h245_pi->comment, val_to_str_const(value, h245_CommandMessage_vals, ""), 50); } return offset; } static const value_string h245_FunctionNotUnderstood_vals[] = { { 0, "request" }, { 1, "response" }, { 2, "command" }, { 0, NULL } }; static const per_choice_t FunctionNotUnderstood_choice[] = { { 0, &hf_h245_request , ASN1_NO_EXTENSIONS , dissect_h245_RequestMessage }, { 1, &hf_h245_response , ASN1_NO_EXTENSIONS , dissect_h245_ResponseMessage }, { 2, &hf_h245_command , ASN1_NO_EXTENSIONS , dissect_h245_CommandMessage }, { 0, NULL, 0, NULL } }; static int dissect_h245_FunctionNotUnderstood(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_h245_FunctionNotUnderstood, FunctionNotUnderstood_choice, NULL); return offset; } static const per_sequence_t MasterSlaveDeterminationRelease_sequence[] = { { NULL, ASN1_EXTENSION_ROOT, 0, NULL } }; static int dissect_h245_MasterSlaveDeterminationRelease(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_h245_MasterSlaveDeterminationRelease, MasterSlaveDeterminationRelease_sequence); if (h245_pi != NULL) h245_pi->msg_type = H245_MastSlvDetRls; return offset; } static const per_sequence_t TerminalCapabilitySetRelease_sequence[] = { { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_SEQUENCE_OF_GenericInformation }, { NULL, 0, 0, NULL } }; static int dissect_h245_TerminalCapabilitySetRelease(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_h245_TerminalCapabilitySetRelease, TerminalCapabilitySetRelease_sequence); if (h245_pi != NULL) h245_pi->msg_type = H245_TermCapSetRls; return offset; } static const per_sequence_t OpenLogicalChannelConfirm_sequence[] = { { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber }, { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_SEQUENCE_OF_GenericInformation }, { NULL, 0, 0, NULL } }; static int dissect_h245_OpenLogicalChannelConfirm(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_h245_OpenLogicalChannelConfirm, OpenLogicalChannelConfirm_sequence); if (h245_pi != NULL) h245_pi->msg_type = H245_OpenLogChnCnf; return offset; } static const per_sequence_t RequestChannelCloseRelease_sequence[] = { { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber }, { NULL, 0, 0, NULL } }; static int dissect_h245_RequestChannelCloseRelease(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_h245_RequestChannelCloseRelease, RequestChannelCloseRelease_sequence); return offset; } static const per_sequence_t MultiplexEntrySendRelease_sequence[] = { { &hf_h245_multiplexTableEntryNumbers, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber }, { NULL, 0, 0, NULL } }; static int dissect_h245_MultiplexEntrySendRelease(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_h245_MultiplexEntrySendRelease, MultiplexEntrySendRelease_sequence); return offset; } static const per_sequence_t RequestMultiplexEntryRelease_sequence[] = { { &hf_h245_entryNumbers , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber }, { NULL, 0, 0, NULL } }; static int dissect_h245_RequestMultiplexEntryRelease(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_h245_RequestMultiplexEntryRelease, RequestMultiplexEntryRelease_sequence); return offset; } static const per_sequence_t RequestModeRelease_sequence[] = { { NULL, ASN1_EXTENSION_ROOT, 0, NULL } }; static int dissect_h245_RequestModeRelease(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_h245_RequestModeRelease, RequestModeRelease_sequence); return offset; } static const per_sequence_t T_videoNotDecodedMBs_sequence[] = { { &hf_h245_firstMB_1_8192 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_8192 }, { &hf_h245_numberOfMBs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_8192 }, { &hf_h245_temporalReference_0_255, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_videoNotDecodedMBs(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_h245_T_videoNotDecodedMBs, T_videoNotDecodedMBs_sequence); return offset; } static const value_string h245_Mi_type_vals[] = { { 0, "logicalChannelActive" }, { 1, "logicalChannelInactive" }, { 2, "multipointConference" }, { 3, "cancelMultipointConference" }, { 4, "multipointZeroComm" }, { 5, "cancelMultipointZeroComm" }, { 6, "multipointSecondaryStatus" }, { 7, "cancelMultipointSecondaryStatus" }, { 8, "videoIndicateReadyToActivate" }, { 9, "videoTemporalSpatialTradeOff" }, { 10, "videoNotDecodedMBs" }, { 11, "transportCapability" }, { 0, NULL } }; static const per_choice_t Mi_type_choice[] = { { 0, &hf_h245_logicalChannelActive, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_logicalChannelInactive, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_multipointConference, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 3, &hf_h245_cancelMultipointConference, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 4, &hf_h245_multipointZeroComm, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 5, &hf_h245_cancelMultipointZeroComm, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 6, &hf_h245_multipointSecondaryStatus, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 7, &hf_h245_cancelMultipointSecondaryStatus, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 8, &hf_h245_videoIndicateReadyToActivate, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 9, &hf_h245_videoTemporalSpatialTradeOff, ASN1_EXTENSION_ROOT , dissect_h245_INTEGER_0_31 }, { 10, &hf_h245_videoNotDecodedMBs, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_videoNotDecodedMBs }, { 11, &hf_h245_transportCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_TransportCapability }, { 0, NULL, 0, NULL } }; static int dissect_h245_Mi_type(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_h245_Mi_type, Mi_type_choice, NULL); return offset; } static const per_sequence_t MiscellaneousIndication_sequence[] = { { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber }, { &hf_h245_mi_type , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_Mi_type }, { NULL, 0, 0, NULL } }; static int dissect_h245_MiscellaneousIndication(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_h245_MiscellaneousIndication, MiscellaneousIndication_sequence); return offset; } static int dissect_h245_INTEGER_0_3(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, 3U, NULL, false); return offset; } static int dissect_h245_INTEGER_0_7(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, 7U, NULL, false); return offset; } static const per_sequence_t JitterIndication_sequence[] = { { &hf_h245_scope , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_Scope }, { &hf_h245_estimatedReceivedJitterMantissa, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_3 }, { &hf_h245_estimatedReceivedJitterExponent, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_7 }, { &hf_h245_skippedFrameCount, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_15 }, { &hf_h245_additionalDecoderBuffer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_262143 }, { NULL, 0, 0, NULL } }; static int dissect_h245_JitterIndication(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_h245_JitterIndication, JitterIndication_sequence); return offset; } static const per_sequence_t H223SkewIndication_sequence[] = { { &hf_h245_logicalChannelNumber1, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber }, { &hf_h245_logicalChannelNumber2, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber }, { &hf_h245_skew , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4095 }, { NULL, 0, 0, NULL } }; static int dissect_h245_H223SkewIndication(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_h245_H223SkewIndication, H223SkewIndication_sequence); return offset; } static const value_string h245_Ind_clockRecovery_vals[] = { { 0, "nullClockRecovery" }, { 1, "srtsClockRecovery" }, { 2, "adaptiveClockRecovery" }, { 0, NULL } }; static const per_choice_t Ind_clockRecovery_choice[] = { { 0, &hf_h245_nullClockRecoveryflag, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_srtsClockRecovery, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_adaptiveClockRecoveryFlag, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_Ind_clockRecovery(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_h245_Ind_clockRecovery, Ind_clockRecovery_choice, NULL); return offset; } static const value_string h245_Ind_errorCorrection_vals[] = { { 0, "nullErrorCorrection" }, { 1, "longInterleaver" }, { 2, "shortInterleaver" }, { 3, "errorCorrectionOnly" }, { 0, NULL } }; static const per_choice_t Ind_errorCorrection_choice[] = { { 0, &hf_h245_nullErrorCorrectionFlag, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_longInterleaverFlag, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_shortInterleaverFlag, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 3, &hf_h245_errorCorrectionOnlyFlag, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_Ind_errorCorrection(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_h245_Ind_errorCorrection, Ind_errorCorrection_choice, NULL); return offset; } static const per_sequence_t Ind_aal1_sequence[] = { { &hf_h245_ind_clockRecovery, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_Ind_clockRecovery }, { &hf_h245_ind_errorCorrection, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_Ind_errorCorrection }, { &hf_h245_structuredDataTransfer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_partiallyFilledCells, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_h245_Ind_aal1(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_h245_Ind_aal1, Ind_aal1_sequence); return offset; } static const per_sequence_t Ind_aal5_sequence[] = { { &hf_h245_forwardMaximumSDUSize, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 }, { &hf_h245_backwardMaximumSDUSize, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 }, { NULL, 0, 0, NULL } }; static int dissect_h245_Ind_aal5(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_h245_Ind_aal5, Ind_aal5_sequence); return offset; } static const value_string h245_Ind_aal_vals[] = { { 0, "aal1" }, { 1, "aal5" }, { 0, NULL } }; static const per_choice_t Ind_aal_choice[] = { { 0, &hf_h245_ind_aal1 , ASN1_EXTENSION_ROOT , dissect_h245_Ind_aal1 }, { 1, &hf_h245_ind_aal5 , ASN1_EXTENSION_ROOT , dissect_h245_Ind_aal5 }, { 0, NULL, 0, NULL } }; static int dissect_h245_Ind_aal(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_h245_Ind_aal, Ind_aal_choice, NULL); return offset; } static const value_string h245_Ind_multiplex_vals[] = { { 0, "noMultiplex" }, { 1, "transportStream" }, { 2, "programStream" }, { 0, NULL } }; static const per_choice_t Ind_multiplex_choice[] = { { 0, &hf_h245_noMultiplex , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_transportStream, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_programStreamFlag, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_Ind_multiplex(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_h245_Ind_multiplex, Ind_multiplex_choice, NULL); return offset; } static const value_string h245_IndR_multiplex_vals[] = { { 0, "noMultiplex" }, { 1, "transportStream" }, { 2, "programStream" }, { 0, NULL } }; static const per_choice_t IndR_multiplex_choice[] = { { 0, &hf_h245_noMultiplex , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_transportStream, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_programStreamFlag, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_IndR_multiplex(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_h245_IndR_multiplex, IndR_multiplex_choice, NULL); return offset; } static const per_sequence_t Ind_reverseParameters_sequence[] = { { &hf_h245_bitRate , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 }, { &hf_h245_bitRateLockedToPCRClock, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_bitRateLockedToNetworkClock, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_indr_multiplex , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_IndR_multiplex }, { NULL, 0, 0, NULL } }; static int dissect_h245_Ind_reverseParameters(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_h245_Ind_reverseParameters, Ind_reverseParameters_sequence); return offset; } static const per_sequence_t NewATMVCIndication_sequence[] = { { &hf_h245_resourceID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 }, { &hf_h245_bitRate , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 }, { &hf_h245_bitRateLockedToPCRClock, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_bitRateLockedToNetworkClock, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN }, { &hf_h245_ind_aal , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_Ind_aal }, { &hf_h245_ind_multiplex , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_Ind_multiplex }, { &hf_h245_ind_reverseParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_Ind_reverseParameters }, { NULL, 0, 0, NULL } }; static int dissect_h245_NewATMVCIndication(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_h245_NewATMVCIndication, NewATMVCIndication_sequence); return offset; } static const value_string h245_T_userInputSupportIndication_vals[] = { { 0, "nonStandard" }, { 1, "basicString" }, { 2, "iA5String" }, { 3, "generalString" }, { 4, "encryptedBasicString" }, { 5, "encryptedIA5String" }, { 6, "encryptedGeneralString" }, { 0, NULL } }; static const per_choice_t T_userInputSupportIndication_choice[] = { { 0, &hf_h245_nonStandard , ASN1_EXTENSION_ROOT , dissect_h245_NonStandardParameter }, { 1, &hf_h245_basicString , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_iA5String , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 3, &hf_h245_generalString , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 4, &hf_h245_encryptedBasicString, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 5, &hf_h245_encryptedIA5String, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 6, &hf_h245_encryptedGeneralString, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_T_userInputSupportIndication(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_h245_T_userInputSupportIndication, T_userInputSupportIndication_choice, NULL); return offset; } static int dissect_h245_T_signalType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index, 1, 1, false, "0123456789#*ABCD!", 17, NULL); return offset; } static const per_sequence_t T_rtp_sequence[] = { { &hf_h245_timestamp , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_4294967295 }, { &hf_h245_expirationTime , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_0_4294967295 }, { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_rtp(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_h245_T_rtp, T_rtp_sequence); return offset; } static int dissect_h245_IV8(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, 8, 8, false, NULL); return offset; } static int dissect_h245_IV16(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, 16, 16, false, NULL); return offset; } static const per_sequence_t Params_sequence[] = { { &hf_h245_iv8 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_IV8 }, { &hf_h245_iv16 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_IV16 }, { &hf_h245_iv , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_OCTET_STRING }, { NULL, 0, 0, NULL } }; static int dissect_h245_Params(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_h245_Params, Params_sequence); return offset; } static int dissect_h245_OCTET_STRING_SIZE_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, 1, 1, false, NULL); return offset; } static const per_sequence_t T_signal_sequence[] = { { &hf_h245_signalType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_T_signalType }, { &hf_h245_duration , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_INTEGER_1_65535 }, { &hf_h245_rtp , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_T_rtp }, { &hf_h245_rtpPayloadIndication, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_NULL }, { &hf_h245_paramS , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_Params }, { &hf_h245_encryptedSignalType, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_OCTET_STRING_SIZE_1 }, { &hf_h245_algorithmOID , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_OBJECT_IDENTIFIER }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_signal(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_h245_T_signal, T_signal_sequence); return offset; } static const per_sequence_t Si_rtp_sequence[] = { { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber }, { NULL, 0, 0, NULL } }; static int dissect_h245_Si_rtp(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_h245_Si_rtp, Si_rtp_sequence); return offset; } static const per_sequence_t T_signalUpdate_sequence[] = { { &hf_h245_duration , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 }, { &hf_h245_si_rtp , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_Si_rtp }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_signalUpdate(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_h245_T_signalUpdate, T_signalUpdate_sequence); return offset; } static const per_sequence_t EncryptedAlphanumeric_sequence[] = { { &hf_h245_algorithmOID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_OBJECT_IDENTIFIER }, { &hf_h245_paramS , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_Params }, { &hf_h245_encrypted , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING }, { NULL, 0, 0, NULL } }; static int dissect_h245_EncryptedAlphanumeric(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_h245_EncryptedAlphanumeric, EncryptedAlphanumeric_sequence); return offset; } static const per_sequence_t T_extendedAlphanumeric_sequence[] = { { &hf_h245_alphanumeric , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_GeneralString }, { &hf_h245_rtpPayloadIndication, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_NULL }, { &hf_h245_encryptedAlphanumeric, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h245_EncryptedAlphanumeric }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_extendedAlphanumeric(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_h245_T_extendedAlphanumeric, T_extendedAlphanumeric_sequence); return offset; } static const value_string h245_UserInputIndication_vals[] = { { 0, "nonStandard" }, { 1, "alphanumeric" }, { 2, "userInputSupportIndication" }, { 3, "signal" }, { 4, "signalUpdate" }, { 5, "extendedAlphanumeric" }, { 6, "encryptedAlphanumeric" }, { 7, "genericInformation" }, { 0, NULL } }; static const per_choice_t UserInputIndication_choice[] = { { 0, &hf_h245_nonStandard , ASN1_EXTENSION_ROOT , dissect_h245_NonStandardParameter }, { 1, &hf_h245_alphanumeric , ASN1_EXTENSION_ROOT , dissect_h245_GeneralString }, { 2, &hf_h245_userInputSupportIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_userInputSupportIndication }, { 3, &hf_h245_signal , ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_signal }, { 4, &hf_h245_signalUpdate , ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_signalUpdate }, { 5, &hf_h245_extendedAlphanumeric, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_extendedAlphanumeric }, { 6, &hf_h245_encryptedAlphanumeric, ASN1_NOT_EXTENSION_ROOT, dissect_h245_EncryptedAlphanumeric }, { 7, &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, dissect_h245_SEQUENCE_OF_GenericInformation }, { 0, NULL, 0, NULL } }; static int dissect_h245_UserInputIndication(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_h245_UserInputIndication, UserInputIndication_choice, NULL); return offset; } static const per_sequence_t H2250MaximumSkewIndication_sequence[] = { { &hf_h245_logicalChannelNumber1, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber }, { &hf_h245_logicalChannelNumber2, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber }, { &hf_h245_maximumSkew , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4095 }, { NULL, 0, 0, NULL } }; static int dissect_h245_H2250MaximumSkewIndication(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_h245_H2250MaximumSkewIndication, H2250MaximumSkewIndication_sequence); return offset; } static const per_sequence_t MCLocationIndication_sequence[] = { { &hf_h245_signalAddress , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_TransportAddress }, { NULL, 0, 0, NULL } }; static int dissect_h245_MCLocationIndication(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_h245_MCLocationIndication, MCLocationIndication_sequence); return offset; } static int dissect_h245_INTEGER_0_9(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, 9U, NULL, false); return offset; } static const per_sequence_t TerminalYouAreSeeingInSubPictureNumber_sequence[] = { { &hf_h245_terminalNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_TerminalNumber }, { &hf_h245_subPictureNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 }, { &hf_h245_mcuNumber , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_McuNumber }, { NULL, 0, 0, NULL } }; static int dissect_h245_TerminalYouAreSeeingInSubPictureNumber(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_h245_TerminalYouAreSeeingInSubPictureNumber, TerminalYouAreSeeingInSubPictureNumber_sequence); return offset; } static const per_sequence_t VideoIndicateCompose_sequence[] = { { &hf_h245_compositionNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 }, { NULL, 0, 0, NULL } }; static int dissect_h245_VideoIndicateCompose(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_h245_VideoIndicateCompose, VideoIndicateCompose_sequence); return offset; } static const value_string h245_ConferenceIndication_vals[] = { { 0, "sbeNumber" }, { 1, "terminalNumberAssign" }, { 2, "terminalJoinedConference" }, { 3, "terminalLeftConference" }, { 4, "seenByAtLeastOneOther" }, { 5, "cancelSeenByAtLeastOneOther" }, { 6, "seenByAll" }, { 7, "cancelSeenByAll" }, { 8, "terminalYouAreSeeing" }, { 9, "requestForFloor" }, { 10, "withdrawChairToken" }, { 11, "floorRequested" }, { 12, "terminalYouAreSeeingInSubPictureNumber" }, { 13, "videoIndicateCompose" }, { 14, "masterMCU" }, { 15, "cancelMasterMCU" }, { 0, NULL } }; static const per_choice_t ConferenceIndication_choice[] = { { 0, &hf_h245_sbeNumber , ASN1_EXTENSION_ROOT , dissect_h245_INTEGER_0_9 }, { 1, &hf_h245_terminalNumberAssign, ASN1_EXTENSION_ROOT , dissect_h245_TerminalLabel }, { 2, &hf_h245_terminalJoinedConference, ASN1_EXTENSION_ROOT , dissect_h245_TerminalLabel }, { 3, &hf_h245_terminalLeftConference, ASN1_EXTENSION_ROOT , dissect_h245_TerminalLabel }, { 4, &hf_h245_seenByAtLeastOneOther, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 5, &hf_h245_cancelSeenByAtLeastOneOther, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 6, &hf_h245_seenByAll , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 7, &hf_h245_cancelSeenByAll, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 8, &hf_h245_terminalYouAreSeeing, ASN1_EXTENSION_ROOT , dissect_h245_TerminalLabel }, { 9, &hf_h245_requestForFloor, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 10, &hf_h245_withdrawChairToken, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 11, &hf_h245_floorRequested , ASN1_NOT_EXTENSION_ROOT, dissect_h245_TerminalLabel }, { 12, &hf_h245_terminalYouAreSeeingInSubPictureNumber, ASN1_NOT_EXTENSION_ROOT, dissect_h245_TerminalYouAreSeeingInSubPictureNumber }, { 13, &hf_h245_videoIndicateCompose, ASN1_NOT_EXTENSION_ROOT, dissect_h245_VideoIndicateCompose }, { 14, &hf_h245_masterMCU , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 15, &hf_h245_cancelMasterMCU, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_ConferenceIndication(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_h245_ConferenceIndication, ConferenceIndication_choice, NULL); return offset; } static int dissect_h245_OCTET_STRING_SIZE_1_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, 1, 256, false, NULL); return offset; } static const per_sequence_t VendorIdentification_sequence[] = { { &hf_h245_vendor , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardIdentifier }, { &hf_h245_productNumber , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_OCTET_STRING_SIZE_1_256 }, { &hf_h245_versionNumber , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_OCTET_STRING_SIZE_1_256 }, { NULL, 0, 0, NULL } }; static int dissect_h245_VendorIdentification(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_h245_VendorIdentification, VendorIdentification_sequence); return offset; } static const value_string h245_FunctionNotSupportedCause_vals[] = { { 0, "syntaxError" }, { 1, "semanticError" }, { 2, "unknownFunction" }, { 0, NULL } }; static const per_choice_t FunctionNotSupportedCause_choice[] = { { 0, &hf_h245_syntaxError , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 1, &hf_h245_semanticError , ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 2, &hf_h245_unknownFunction, ASN1_EXTENSION_ROOT , dissect_h245_NULL }, { 0, NULL, 0, NULL } }; static int dissect_h245_FunctionNotSupportedCause(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_h245_FunctionNotSupportedCause, FunctionNotSupportedCause_choice, NULL); return offset; } static int dissect_h245_T_returnedFunction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *next_tvb = NULL; proto_item *item; proto_tree *subtree; h245_packet_info *saved_h245_pi; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, false, &next_tvb); if (next_tvb && tvb_reported_length(next_tvb)) { saved_h245_pi = h245_pi; h245_pi = NULL; subtree = proto_tree_add_subtree(tree, next_tvb, 0, -1, ett_h245_returnedFunction, &item, "The returned function"); proto_item_set_generated(item); dissect_h245_MultimediaSystemControlMessage(next_tvb, 0, actx, subtree, hf_h245_pdu_type); h245_pi = saved_h245_pi; } return offset; } static const per_sequence_t FunctionNotSupported_sequence[] = { { &hf_h245_fns_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_FunctionNotSupportedCause }, { &hf_h245_returnedFunction, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h245_T_returnedFunction }, { NULL, 0, 0, NULL } }; static int dissect_h245_FunctionNotSupported(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_h245_FunctionNotSupported, FunctionNotSupported_sequence); return offset; } static const per_sequence_t T_crcDesired_sequence[] = { { NULL, ASN1_EXTENSION_ROOT, 0, NULL } }; static int dissect_h245_T_crcDesired(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_h245_T_crcDesired, T_crcDesired_sequence); return offset; } static const per_sequence_t T_excessiveError_sequence[] = { { &hf_h245_connectionIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_ConnectionIdentifier }, { NULL, 0, 0, NULL } }; static int dissect_h245_T_excessiveError(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_h245_T_excessiveError, T_excessiveError_sequence); return offset; } static const value_string h245_MultilinkIndication_vals[] = { { 0, "nonStandard" }, { 1, "crcDesired" }, { 2, "excessiveError" }, { 0, NULL } }; static const per_choice_t MultilinkIndication_choice[] = { { 0, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT , dissect_h245_NonStandardMessage }, { 1, &hf_h245_crcDesired , ASN1_EXTENSION_ROOT , dissect_h245_T_crcDesired }, { 2, &hf_h245_excessiveError , ASN1_EXTENSION_ROOT , dissect_h245_T_excessiveError }, { 0, NULL, 0, NULL } }; static int dissect_h245_MultilinkIndication(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_h245_MultilinkIndication, MultilinkIndication_choice, NULL); return offset; } static const per_sequence_t LogicalChannelRateRelease_sequence[] = { { NULL, ASN1_EXTENSION_ROOT, 0, NULL } }; static int dissect_h245_LogicalChannelRateRelease(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_h245_LogicalChannelRateRelease, LogicalChannelRateRelease_sequence); return offset; } static const per_sequence_t FlowControlIndication_sequence[] = { { &hf_h245_scope , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_Scope }, { &hf_h245_restriction , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_Restriction }, { NULL, 0, 0, NULL } }; static int dissect_h245_FlowControlIndication(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_h245_FlowControlIndication, FlowControlIndication_sequence); return offset; } static const per_sequence_t MobileMultilinkReconfigurationIndication_sequence[] = { { &hf_h245_sampleSize , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 }, { &hf_h245_samplesPerFrame, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 }, { NULL, 0, 0, NULL } }; static int dissect_h245_MobileMultilinkReconfigurationIndication(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_h245_MobileMultilinkReconfigurationIndication, MobileMultilinkReconfigurationIndication_sequence); return offset; } static const value_string h245_IndicationMessage_vals[] = { { IndicationMessage_nonStandard, "nonStandard" }, { IndicationMessage_functionNotUnderstood, "functionNotUnderstood" }, { IndicationMessage_masterSlaveDeterminationRelease, "masterSlaveDeterminationRelease" }, { IndicationMessage_terminalCapabilitySetRelease, "terminalCapabilitySetRelease" }, { IndicationMessage_openLogicalChannelConfirm, "openLogicalChannelConfirm" }, { IndicationMessage_requestChannelCloseRelease, "requestChannelCloseRelease" }, { IndicationMessage_multiplexEntrySendRelease, "multiplexEntrySendRelease" }, { IndicationMessage_requestMultiplexEntryRelease, "requestMultiplexEntryRelease" }, { IndicationMessage_requestModeRelease, "requestModeRelease" }, { IndicationMessage_miscellaneousIndication, "miscellaneousIndication" }, { IndicationMessage_jitterIndication, "jitterIndication" }, { IndicationMessage_h223SkewIndication, "h223SkewIndication" }, { IndicationMessage_newATMVCIndication, "newATMVCIndication" }, { IndicationMessage_userInput, "userInput" }, { IndicationMessage_h2250MaximumSkewIndication, "h2250MaximumSkewIndication" }, { IndicationMessage_mcLocationIndication, "mcLocationIndication" }, { IndicationMessage_conferenceIndication, "conferenceIndication" }, { IndicationMessage_vendorIdentification, "vendorIdentification" }, { IndicationMessage_functionNotSupported, "functionNotSupported" }, { IndicationMessage_multilinkIndication, "multilinkIndication" }, { IndicationMessage_logicalChannelRateRelease, "logicalChannelRateRelease" }, { IndicationMessage_flowControlIndication, "flowControlIndication" }, { IndicationMessage_mobileMultilinkReconfigurationIndication, "mobileMultilinkReconfigurationIndication" }, { IndicationMessage_genericIndication, "genericIndication" }, { 0, NULL } }; static const per_choice_t IndicationMessage_choice[] = { { IndicationMessage_nonStandard, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT , dissect_h245_NonStandardMessage }, { IndicationMessage_functionNotUnderstood, &hf_h245_functionNotUnderstood, ASN1_EXTENSION_ROOT , dissect_h245_FunctionNotUnderstood }, { IndicationMessage_masterSlaveDeterminationRelease, &hf_h245_masterSlaveDeterminationRelease, ASN1_EXTENSION_ROOT , dissect_h245_MasterSlaveDeterminationRelease }, { IndicationMessage_terminalCapabilitySetRelease, &hf_h245_terminalCapabilitySetRelease, ASN1_EXTENSION_ROOT , dissect_h245_TerminalCapabilitySetRelease }, { IndicationMessage_openLogicalChannelConfirm, &hf_h245_openLogicalChannelConfirm, ASN1_EXTENSION_ROOT , dissect_h245_OpenLogicalChannelConfirm }, { IndicationMessage_requestChannelCloseRelease, &hf_h245_requestChannelCloseRelease, ASN1_EXTENSION_ROOT , dissect_h245_RequestChannelCloseRelease }, { IndicationMessage_multiplexEntrySendRelease, &hf_h245_multiplexEntrySendRelease, ASN1_EXTENSION_ROOT , dissect_h245_MultiplexEntrySendRelease }, { IndicationMessage_requestMultiplexEntryRelease, &hf_h245_requestMultiplexEntryRelease, ASN1_EXTENSION_ROOT , dissect_h245_RequestMultiplexEntryRelease }, { IndicationMessage_requestModeRelease, &hf_h245_requestModeRelease, ASN1_EXTENSION_ROOT , dissect_h245_RequestModeRelease }, { IndicationMessage_miscellaneousIndication, &hf_h245_miscellaneousIndication, ASN1_EXTENSION_ROOT , dissect_h245_MiscellaneousIndication }, { IndicationMessage_jitterIndication, &hf_h245_jitterIndication, ASN1_EXTENSION_ROOT , dissect_h245_JitterIndication }, { IndicationMessage_h223SkewIndication, &hf_h245_h223SkewIndication, ASN1_EXTENSION_ROOT , dissect_h245_H223SkewIndication }, { IndicationMessage_newATMVCIndication, &hf_h245_newATMVCIndication, ASN1_EXTENSION_ROOT , dissect_h245_NewATMVCIndication }, { IndicationMessage_userInput, &hf_h245_userInput , ASN1_EXTENSION_ROOT , dissect_h245_UserInputIndication }, { IndicationMessage_h2250MaximumSkewIndication, &hf_h245_h2250MaximumSkewIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H2250MaximumSkewIndication }, { IndicationMessage_mcLocationIndication, &hf_h245_mcLocationIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MCLocationIndication }, { IndicationMessage_conferenceIndication, &hf_h245_conferenceIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ConferenceIndication }, { IndicationMessage_vendorIdentification, &hf_h245_vendorIdentification, ASN1_NOT_EXTENSION_ROOT, dissect_h245_VendorIdentification }, { IndicationMessage_functionNotSupported, &hf_h245_functionNotSupported, ASN1_NOT_EXTENSION_ROOT, dissect_h245_FunctionNotSupported }, { IndicationMessage_multilinkIndication, &hf_h245_multilinkIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultilinkIndication }, { IndicationMessage_logicalChannelRateRelease, &hf_h245_logicalChannelRateRelease, ASN1_NOT_EXTENSION_ROOT, dissect_h245_LogicalChannelRateRelease }, { IndicationMessage_flowControlIndication, &hf_h245_flowControlIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_FlowControlIndication }, { IndicationMessage_mobileMultilinkReconfigurationIndication, &hf_h245_mobileMultilinkReconfigurationIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MobileMultilinkReconfigurationIndication }, { IndicationMessage_genericIndication, &hf_h245_genericIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericMessage }, { 0, NULL, 0, NULL } }; static int dissect_h245_IndicationMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { int32_t value; offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_h245_IndicationMessage, IndicationMessage_choice, &value); print_info_column(actx->pinfo->cinfo, &value, h245_IndicationMessage_vals, h245_IndicationMessage_short_vals); col_set_fence(actx->pinfo->cinfo,COL_INFO); /* Add to packet info */ if (h245_pi !=NULL){ if ( strlen(h245_pi->frame_label) == 0 ){ snprintf(h245_pi->frame_label, 50, "%s", val_to_str_const(value, h245_IndicationMessage_short_vals, "UKN")); } (void) g_strlcat(h245_pi->comment, val_to_str_const(value, h245_IndicationMessage_vals, ""), 50); } return offset; } static const value_string h245_MultimediaSystemControlMessage_vals[] = { { 0, "request" }, { 1, "response" }, { 2, "command" }, { 3, "indication" }, { 0, NULL } }; static const per_choice_t MultimediaSystemControlMessage_choice[] = { { 0, &hf_h245_request , ASN1_EXTENSION_ROOT , dissect_h245_RequestMessage }, { 1, &hf_h245_response , ASN1_EXTENSION_ROOT , dissect_h245_ResponseMessage }, { 2, &hf_h245_command , ASN1_EXTENSION_ROOT , dissect_h245_CommandMessage }, { 3, &hf_h245_indication , ASN1_EXTENSION_ROOT , dissect_h245_IndicationMessage }, { 0, NULL, 0, NULL } }; static int dissect_h245_MultimediaSystemControlMessage(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_h245_MultimediaSystemControlMessage, MultimediaSystemControlMessage_choice, NULL); return offset; } /*--- PDUs ---*/ static int dissect_OpenLogicalChannel_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_h245_OpenLogicalChannel(tvb, offset, &asn1_ctx, tree, hf_h245_OpenLogicalChannel_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_h245(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) { /* * MultimediaSystemControlMessage_handle is the handle for * dissect_h245_h245, so we don't want to do any h245_pi or tap stuff here. */ dissect_tpkt_encap(tvb, pinfo, parent_tree, h245_reassembly, MultimediaSystemControlMessage_handle); return tvb_captured_length(tvb); } static int dissect_h245_h245(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) { proto_item *it; proto_tree *tr; uint32_t offset=0; asn1_ctx_t asn1_ctx; fast_start = false; /* Clean up from any previous packet dissection */ upcoming_olc = NULL; upcoming_channel = NULL; codec_type = NULL; col_set_str(pinfo->cinfo, COL_PROTOCOL, PSNAME); it=proto_tree_add_protocol_format(parent_tree, proto_h245, tvb, 0, -1, PSNAME); tr=proto_item_add_subtree(it, ett_h245); /* assume that whilst there is more tvb data, there are more h245 commands */ while ( tvb_reported_length_remaining( tvb, offset>>3 )>0 ){ CLEANUP_PUSH(reset_h245_pi, NULL); h245_pi=wmem_new(pinfo->pool, h245_packet_info); init_h245_packet_info(h245_pi); asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo); offset = dissect_h245_MultimediaSystemControlMessage(tvb, offset, &asn1_ctx, tr, hf_h245_pdu_type); tap_queue_packet(h245dg_tap, pinfo, h245_pi); offset = (offset+0x07) & 0xfffffff8; CLEANUP_CALL_AND_POP; } return tvb_captured_length(tvb); } void dissect_h245_FastStart_OLC(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, char *codec_str) { fast_start = true; /* Clean up from any previous packet dissection */ upcoming_olc = NULL; upcoming_channel = NULL; codec_type = NULL; dissect_OpenLogicalChannel_PDU(tvb, pinfo, tree, NULL); if (h245_pi != NULL) h245_pi->msg_type = H245_OpenLogChn; if (codec_str && codec_type){ (void) g_strlcpy(codec_str, codec_type, 50); } } /*--- proto_register_h245 -------------------------------------------*/ void proto_register_h245(void) { /* List of fields */ static hf_register_info hf[] = { { &hf_h245_pdu_type, { "PDU Type", "h245.pdu_type", FT_UINT32, BASE_DEC, VALS(h245_MultimediaSystemControlMessage_vals), 0, "Type of H.245 PDU", HFILL }}, { &hf_h245Manufacturer, { "H.245 Manufacturer", "h245.Manufacturer", FT_UINT32, BASE_HEX, VALS(H221ManufacturerCode_vals), 0, "h245.H.221 Manufacturer", HFILL }}, { &hf_h245_subMessageIdentifier_standard, { "subMessageIdentifier", "h245.subMessageIdentifier.standard", FT_UINT32, BASE_DEC, VALS(h245_h239subMessageIdentifier_vals), 0, NULL, HFILL }}, { &hf_h245_debug_dissector_try_string, { "*** DEBUG dissector_try_string", "h245.debug.dissector_try_string", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_OpenLogicalChannel_PDU, { "OpenLogicalChannel", "h245.OpenLogicalChannel_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_request, { "request", "h245.request", FT_UINT32, BASE_DEC, VALS(h245_RequestMessage_vals), 0, "RequestMessage", HFILL }}, { &hf_h245_response, { "response", "h245.response", FT_UINT32, BASE_DEC, VALS(h245_ResponseMessage_vals), 0, "ResponseMessage", HFILL }}, { &hf_h245_command, { "command", "h245.command", FT_UINT32, BASE_DEC, VALS(h245_CommandMessage_vals), 0, "CommandMessage", HFILL }}, { &hf_h245_indication, { "indication", "h245.indication", FT_UINT32, BASE_DEC, VALS(h245_IndicationMessage_vals), 0, "IndicationMessage", HFILL }}, { &hf_h245_nonStandardMsg, { "nonStandard", "h245.nonStandard_element", FT_NONE, BASE_NONE, NULL, 0, "NonStandardMessage", HFILL }}, { &hf_h245_masterSlaveDetermination, { "masterSlaveDetermination", "h245.masterSlaveDetermination_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_terminalCapabilitySet, { "terminalCapabilitySet", "h245.terminalCapabilitySet_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_openLogicalChannel, { "openLogicalChannel", "h245.openLogicalChannel_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_closeLogicalChannel, { "closeLogicalChannel", "h245.closeLogicalChannel_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_requestChannelClose, { "requestChannelClose", "h245.requestChannelClose_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_multiplexEntrySend, { "multiplexEntrySend", "h245.multiplexEntrySend_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_requestMultiplexEntry, { "requestMultiplexEntry", "h245.requestMultiplexEntry_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_requestMode, { "requestMode", "h245.requestMode_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_roundTripDelayRequest, { "roundTripDelayRequest", "h245.roundTripDelayRequest_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_maintenanceLoopRequest, { "maintenanceLoopRequest", "h245.maintenanceLoopRequest_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_communicationModeRequest, { "communicationModeRequest", "h245.communicationModeRequest_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_conferenceRequest, { "conferenceRequest", "h245.conferenceRequest", FT_UINT32, BASE_DEC, VALS(h245_ConferenceRequest_vals), 0, NULL, HFILL }}, { &hf_h245_multilinkRequest, { "multilinkRequest", "h245.multilinkRequest", FT_UINT32, BASE_DEC, VALS(h245_MultilinkRequest_vals), 0, NULL, HFILL }}, { &hf_h245_logicalChannelRateRequest, { "logicalChannelRateRequest", "h245.logicalChannelRateRequest_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_genericRequest, { "genericRequest", "h245.genericRequest_element", FT_NONE, BASE_NONE, NULL, 0, "GenericMessage", HFILL }}, { &hf_h245_masterSlaveDeterminationAck, { "masterSlaveDeterminationAck", "h245.masterSlaveDeterminationAck_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_masterSlaveDeterminationReject, { "masterSlaveDeterminationReject", "h245.masterSlaveDeterminationReject_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_terminalCapabilitySetAck, { "terminalCapabilitySetAck", "h245.terminalCapabilitySetAck_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_terminalCapabilitySetReject, { "terminalCapabilitySetReject", "h245.terminalCapabilitySetReject_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_openLogicalChannelAck, { "openLogicalChannelAck", "h245.openLogicalChannelAck_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_openLogicalChannelReject, { "openLogicalChannelReject", "h245.openLogicalChannelReject_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_closeLogicalChannelAck, { "closeLogicalChannelAck", "h245.closeLogicalChannelAck_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_requestChannelCloseAck, { "requestChannelCloseAck", "h245.requestChannelCloseAck_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_requestChannelCloseReject, { "requestChannelCloseReject", "h245.requestChannelCloseReject_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_multiplexEntrySendAck, { "multiplexEntrySendAck", "h245.multiplexEntrySendAck_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_multiplexEntrySendReject, { "multiplexEntrySendReject", "h245.multiplexEntrySendReject_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_requestMultiplexEntryAck, { "requestMultiplexEntryAck", "h245.requestMultiplexEntryAck_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_requestMultiplexEntryReject, { "requestMultiplexEntryReject", "h245.requestMultiplexEntryReject_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_requestModeAck, { "requestModeAck", "h245.requestModeAck_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_requestModeReject, { "requestModeReject", "h245.requestModeReject_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_roundTripDelayResponse, { "roundTripDelayResponse", "h245.roundTripDelayResponse_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_maintenanceLoopAck, { "maintenanceLoopAck", "h245.maintenanceLoopAck_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_maintenanceLoopReject, { "maintenanceLoopReject", "h245.maintenanceLoopReject_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_communicationModeResponse, { "communicationModeResponse", "h245.communicationModeResponse", FT_UINT32, BASE_DEC, VALS(h245_CommunicationModeResponse_vals), 0, NULL, HFILL }}, { &hf_h245_conferenceResponse, { "conferenceResponse", "h245.conferenceResponse", FT_UINT32, BASE_DEC, VALS(h245_ConferenceResponse_vals), 0, NULL, HFILL }}, { &hf_h245_multilinkResponse, { "multilinkResponse", "h245.multilinkResponse", FT_UINT32, BASE_DEC, VALS(h245_MultilinkResponse_vals), 0, NULL, HFILL }}, { &hf_h245_logicalChannelRateAcknowledge, { "logicalChannelRateAcknowledge", "h245.logicalChannelRateAcknowledge_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_logicalChannelRateReject, { "logicalChannelRateReject", "h245.logicalChannelRateReject_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_genericResponse, { "genericResponse", "h245.genericResponse_element", FT_NONE, BASE_NONE, NULL, 0, "GenericMessage", HFILL }}, { &hf_h245_maintenanceLoopOffCommand, { "maintenanceLoopOffCommand", "h245.maintenanceLoopOffCommand_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_sendTerminalCapabilitySet, { "sendTerminalCapabilitySet", "h245.sendTerminalCapabilitySet", FT_UINT32, BASE_DEC, VALS(h245_SendTerminalCapabilitySet_vals), 0, NULL, HFILL }}, { &hf_h245_encryptionCommand, { "encryptionCommand", "h245.encryptionCommand", FT_UINT32, BASE_DEC, VALS(h245_EncryptionCommand_vals), 0, NULL, HFILL }}, { &hf_h245_flowControlCommand, { "flowControlCommand", "h245.flowControlCommand_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_endSessionCommand, { "endSessionCommand", "h245.endSessionCommand", FT_UINT32, BASE_DEC, VALS(h245_EndSessionCommand_vals), 0, NULL, HFILL }}, { &hf_h245_miscellaneousCommand, { "miscellaneousCommand", "h245.miscellaneousCommand_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_communicationModeCommand, { "communicationModeCommand", "h245.communicationModeCommand_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_conferenceCommand, { "conferenceCommand", "h245.conferenceCommand", FT_UINT32, BASE_DEC, VALS(h245_ConferenceCommand_vals), 0, NULL, HFILL }}, { &hf_h245_h223MultiplexReconfiguration, { "h223MultiplexReconfiguration", "h245.h223MultiplexReconfiguration", FT_UINT32, BASE_DEC, VALS(h245_H223MultiplexReconfiguration_vals), 0, NULL, HFILL }}, { &hf_h245_newATMVCCommand, { "newATMVCCommand", "h245.newATMVCCommand_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_mobileMultilinkReconfigurationCommand, { "mobileMultilinkReconfigurationCommand", "h245.mobileMultilinkReconfigurationCommand_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_genericCommand, { "genericCommand", "h245.genericCommand_element", FT_NONE, BASE_NONE, NULL, 0, "GenericMessage", HFILL }}, { &hf_h245_functionNotUnderstood, { "functionNotUnderstood", "h245.functionNotUnderstood", FT_UINT32, BASE_DEC, VALS(h245_FunctionNotUnderstood_vals), 0, NULL, HFILL }}, { &hf_h245_masterSlaveDeterminationRelease, { "masterSlaveDeterminationRelease", "h245.masterSlaveDeterminationRelease_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_terminalCapabilitySetRelease, { "terminalCapabilitySetRelease", "h245.terminalCapabilitySetRelease_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_openLogicalChannelConfirm, { "openLogicalChannelConfirm", "h245.openLogicalChannelConfirm_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_requestChannelCloseRelease, { "requestChannelCloseRelease", "h245.requestChannelCloseRelease_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_multiplexEntrySendRelease, { "multiplexEntrySendRelease", "h245.multiplexEntrySendRelease_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_requestMultiplexEntryRelease, { "requestMultiplexEntryRelease", "h245.requestMultiplexEntryRelease_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_requestModeRelease, { "requestModeRelease", "h245.requestModeRelease_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_miscellaneousIndication, { "miscellaneousIndication", "h245.miscellaneousIndication_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_jitterIndication, { "jitterIndication", "h245.jitterIndication_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_h223SkewIndication, { "h223SkewIndication", "h245.h223SkewIndication_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_newATMVCIndication, { "newATMVCIndication", "h245.newATMVCIndication_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_userInput, { "userInput", "h245.userInput", FT_UINT32, BASE_DEC, VALS(h245_UserInputIndication_vals), 0, "UserInputIndication", HFILL }}, { &hf_h245_h2250MaximumSkewIndication, { "h2250MaximumSkewIndication", "h245.h2250MaximumSkewIndication_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_mcLocationIndication, { "mcLocationIndication", "h245.mcLocationIndication_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_conferenceIndication, { "conferenceIndication", "h245.conferenceIndication", FT_UINT32, BASE_DEC, VALS(h245_ConferenceIndication_vals), 0, NULL, HFILL }}, { &hf_h245_vendorIdentification, { "vendorIdentification", "h245.vendorIdentification_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_functionNotSupported, { "functionNotSupported", "h245.functionNotSupported_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_multilinkIndication, { "multilinkIndication", "h245.multilinkIndication", FT_UINT32, BASE_DEC, VALS(h245_MultilinkIndication_vals), 0, NULL, HFILL }}, { &hf_h245_logicalChannelRateRelease, { "logicalChannelRateRelease", "h245.logicalChannelRateRelease_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_flowControlIndication, { "flowControlIndication", "h245.flowControlIndication_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_mobileMultilinkReconfigurationIndication, { "mobileMultilinkReconfigurationIndication", "h245.mobileMultilinkReconfigurationIndication_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_genericIndication, { "genericIndication", "h245.genericIndication_element", FT_NONE, BASE_NONE, NULL, 0, "GenericMessage", HFILL }}, { &hf_h245_messageIdentifier, { "messageIdentifier", "h245.messageIdentifier", FT_UINT32, BASE_DEC, VALS(h245_CapabilityIdentifier_vals), 0, "CapabilityIdentifier", HFILL }}, { &hf_h245_subMessageIdentifier, { "subMessageIdentifier", "h245.subMessageIdentifier", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_messageContent, { "messageContent", "h245.messageContent", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_messageContent_item, { "messageContent item", "h245.messageContent_item_element", FT_NONE, BASE_NONE, NULL, 0, "T_messageContent_item", HFILL }}, { &hf_h245_nonStandardData, { "nonStandardData", "h245.nonStandardData_element", FT_NONE, BASE_NONE, NULL, 0, "NonStandardParameter", HFILL }}, { &hf_h245_nonStandardIdentifier, { "nonStandardIdentifier", "h245.nonStandardIdentifier", FT_UINT32, BASE_DEC, VALS(h245_NonStandardIdentifier_vals), 0, NULL, HFILL }}, { &hf_h245_nsd_data, { "data", "h245.data", FT_BYTES, BASE_NONE, NULL, 0, "T_nsd_data", HFILL }}, { &hf_h245_object, { "object", "h245.object", FT_OID, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_h221NonStandardID, { "h221NonStandard", "h245.h221NonStandard_element", FT_NONE, BASE_NONE, NULL, 0, "H221NonStandardID", HFILL }}, { &hf_h245_t35CountryCode, { "t35CountryCode", "h245.t35CountryCode", FT_UINT32, BASE_DEC, VALS(T35CountryCode_vals), 0, NULL, HFILL }}, { &hf_h245_t35Extension, { "t35Extension", "h245.t35Extension", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_manufacturerCode, { "manufacturerCode", "h245.manufacturerCode", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_terminalType, { "terminalType", "h245.terminalType", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_h245_statusDeterminationNumber, { "statusDeterminationNumber", "h245.statusDeterminationNumber", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_16777215", HFILL }}, { &hf_h245_decision, { "decision", "h245.decision", FT_UINT32, BASE_DEC, VALS(h245_T_decision_vals), 0, NULL, HFILL }}, { &hf_h245_master, { "master", "h245.master_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_slave, { "slave", "h245.slave_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_msd_rej_cause, { "cause", "h245.cause", FT_UINT32, BASE_DEC, VALS(h245_MasterSlaveDeterminationRejectCause_vals), 0, "MasterSlaveDeterminationRejectCause", HFILL }}, { &hf_h245_identicalNumbers, { "identicalNumbers", "h245.identicalNumbers_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_sequenceNumber, { "sequenceNumber", "h245.sequenceNumber", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_protocolIdentifier, { "protocolIdentifier", "h245.protocolIdentifier", FT_OID, BASE_NONE, NULL, 0, "OBJECT_IDENTIFIER", HFILL }}, { &hf_h245_multiplexCapability, { "multiplexCapability", "h245.multiplexCapability", FT_UINT32, BASE_DEC, VALS(h245_MultiplexCapability_vals), 0, NULL, HFILL }}, { &hf_h245_capabilityTable, { "capabilityTable", "h245.capabilityTable", FT_UINT32, BASE_DEC, NULL, 0, "SET_SIZE_1_256_OF_CapabilityTableEntry", HFILL }}, { &hf_h245_capabilityTable_item, { "CapabilityTableEntry", "h245.CapabilityTableEntry_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_capabilityDescriptors, { "capabilityDescriptors", "h245.capabilityDescriptors", FT_UINT32, BASE_DEC, NULL, 0, "SET_SIZE_1_256_OF_CapabilityDescriptor", HFILL }}, { &hf_h245_capabilityDescriptors_item, { "CapabilityDescriptor", "h245.CapabilityDescriptor_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_genericInformation, { "genericInformation", "h245.genericInformation", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_OF_GenericInformation", HFILL }}, { &hf_h245_genericInformation_item, { "GenericInformation", "h245.GenericInformation_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_capabilityTableEntryNumber, { "capabilityTableEntryNumber", "h245.capabilityTableEntryNumber", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_capability, { "capability", "h245.capability", FT_UINT32, BASE_DEC, VALS(h245_Capability_vals), 0, NULL, HFILL }}, { &hf_h245_capabilityDescriptorNumber, { "capabilityDescriptorNumber", "h245.capabilityDescriptorNumber", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_simultaneousCapabilities, { "simultaneousCapabilities", "h245.simultaneousCapabilities", FT_UINT32, BASE_DEC, NULL, 0, "SET_SIZE_1_256_OF_AlternativeCapabilitySet", HFILL }}, { &hf_h245_simultaneousCapabilities_item, { "AlternativeCapabilitySet", "h245.AlternativeCapabilitySet", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_AlternativeCapabilitySet_item, { "alternativeCapability", "h245.CapabilityTableEntryNumber", FT_UINT32, BASE_DEC, NULL, 0, "CapabilityTableEntryNumber", HFILL }}, { &hf_h245_tcs_rej_cause, { "cause", "h245.cause", FT_UINT32, BASE_DEC, VALS(h245_TerminalCapabilitySetRejectCause_vals), 0, "TerminalCapabilitySetRejectCause", HFILL }}, { &hf_h245_unspecified, { "unspecified", "h245.unspecified_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_undefinedTableEntryUsed, { "undefinedTableEntryUsed", "h245.undefinedTableEntryUsed_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_descriptorCapacityExceeded, { "descriptorCapacityExceeded", "h245.descriptorCapacityExceeded_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_tableEntryCapacityExceeded, { "tableEntryCapacityExceeded", "h245.tableEntryCapacityExceeded", FT_UINT32, BASE_DEC, VALS(h245_T_tableEntryCapacityExceeded_vals), 0, NULL, HFILL }}, { &hf_h245_highestEntryNumberProcessed, { "highestEntryNumberProcessed", "h245.highestEntryNumberProcessed", FT_UINT32, BASE_DEC, NULL, 0, "CapabilityTableEntryNumber", HFILL }}, { &hf_h245_noneProcessed, { "noneProcessed", "h245.noneProcessed_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_nonStandard, { "nonStandard", "h245.nonStandard_element", FT_NONE, BASE_NONE, NULL, 0, "NonStandardParameter", HFILL }}, { &hf_h245_receiveVideoCapability, { "receiveVideoCapability", "h245.receiveVideoCapability", FT_UINT32, BASE_DEC, VALS(h245_VideoCapability_vals), 0, "VideoCapability", HFILL }}, { &hf_h245_transmitVideoCapability, { "transmitVideoCapability", "h245.transmitVideoCapability", FT_UINT32, BASE_DEC, VALS(h245_VideoCapability_vals), 0, "VideoCapability", HFILL }}, { &hf_h245_receiveAndTransmitVideoCapability, { "receiveAndTransmitVideoCapability", "h245.receiveAndTransmitVideoCapability", FT_UINT32, BASE_DEC, VALS(h245_VideoCapability_vals), 0, "VideoCapability", HFILL }}, { &hf_h245_receiveAudioCapability, { "receiveAudioCapability", "h245.receiveAudioCapability", FT_UINT32, BASE_DEC, VALS(h245_AudioCapability_vals), 0, "AudioCapability", HFILL }}, { &hf_h245_transmitAudioCapability, { "transmitAudioCapability", "h245.transmitAudioCapability", FT_UINT32, BASE_DEC, VALS(h245_AudioCapability_vals), 0, "AudioCapability", HFILL }}, { &hf_h245_receiveAndTransmitAudioCapability, { "receiveAndTransmitAudioCapability", "h245.receiveAndTransmitAudioCapability", FT_UINT32, BASE_DEC, VALS(h245_AudioCapability_vals), 0, "AudioCapability", HFILL }}, { &hf_h245_receiveDataApplicationCapability, { "receiveDataApplicationCapability", "h245.receiveDataApplicationCapability_element", FT_NONE, BASE_NONE, NULL, 0, "DataApplicationCapability", HFILL }}, { &hf_h245_transmitDataApplicationCapability, { "transmitDataApplicationCapability", "h245.transmitDataApplicationCapability_element", FT_NONE, BASE_NONE, NULL, 0, "DataApplicationCapability", HFILL }}, { &hf_h245_receiveAndTransmitDataApplicationCapability, { "receiveAndTransmitDataApplicationCapability", "h245.receiveAndTransmitDataApplicationCapability_element", FT_NONE, BASE_NONE, NULL, 0, "DataApplicationCapability", HFILL }}, { &hf_h245_h233EncryptionTransmitCapability, { "h233EncryptionTransmitCapability", "h245.h233EncryptionTransmitCapability", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_h233EncryptionReceiveCapability, { "h233EncryptionReceiveCapability", "h245.h233EncryptionReceiveCapability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_h233IVResponseTime, { "h233IVResponseTime", "h245.h233IVResponseTime", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_h245_conferenceCapability, { "conferenceCapability", "h245.conferenceCapability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_h235SecurityCapability, { "h235SecurityCapability", "h245.h235SecurityCapability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_maxPendingReplacementFor, { "maxPendingReplacementFor", "h245.maxPendingReplacementFor", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_h245_receiveUserInputCapability, { "receiveUserInputCapability", "h245.receiveUserInputCapability", FT_UINT32, BASE_DEC, VALS(h245_UserInputCapability_vals), 0, "UserInputCapability", HFILL }}, { &hf_h245_transmitUserInputCapability, { "transmitUserInputCapability", "h245.transmitUserInputCapability", FT_UINT32, BASE_DEC, VALS(h245_UserInputCapability_vals), 0, "UserInputCapability", HFILL }}, { &hf_h245_receiveAndTransmitUserInputCapability, { "receiveAndTransmitUserInputCapability", "h245.receiveAndTransmitUserInputCapability", FT_UINT32, BASE_DEC, VALS(h245_UserInputCapability_vals), 0, "UserInputCapability", HFILL }}, { &hf_h245_genericControlCapability, { "genericControlCapability", "h245.genericControlCapability_element", FT_NONE, BASE_NONE, NULL, 0, "GenericCapability", HFILL }}, { &hf_h245_receiveMultiplexedStreamCapability, { "receiveMultiplexedStreamCapability", "h245.receiveMultiplexedStreamCapability_element", FT_NONE, BASE_NONE, NULL, 0, "MultiplexedStreamCapability", HFILL }}, { &hf_h245_transmitMultiplexedStreamCapability, { "transmitMultiplexedStreamCapability", "h245.transmitMultiplexedStreamCapability_element", FT_NONE, BASE_NONE, NULL, 0, "MultiplexedStreamCapability", HFILL }}, { &hf_h245_receiveAndTransmitMultiplexedStreamCapability, { "receiveAndTransmitMultiplexedStreamCapability", "h245.receiveAndTransmitMultiplexedStreamCapability_element", FT_NONE, BASE_NONE, NULL, 0, "MultiplexedStreamCapability", HFILL }}, { &hf_h245_receiveRTPAudioTelephonyEventCapability, { "receiveRTPAudioTelephonyEventCapability", "h245.receiveRTPAudioTelephonyEventCapability_element", FT_NONE, BASE_NONE, NULL, 0, "AudioTelephonyEventCapability", HFILL }}, { &hf_h245_receiveRTPAudioToneCapability, { "receiveRTPAudioToneCapability", "h245.receiveRTPAudioToneCapability_element", FT_NONE, BASE_NONE, NULL, 0, "AudioToneCapability", HFILL }}, { &hf_h245_depFecCapability, { "depFecCapability", "h245.depFecCapability", FT_UINT32, BASE_DEC, VALS(h245_DepFECCapability_vals), 0, NULL, HFILL }}, { &hf_h245_multiplePayloadStreamCapability, { "multiplePayloadStreamCapability", "h245.multiplePayloadStreamCapability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_fecCapability, { "fecCapability", "h245.fecCapability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_redundancyEncodingCap, { "redundancyEncodingCap", "h245.redundancyEncodingCap_element", FT_NONE, BASE_NONE, NULL, 0, "RedundancyEncodingCapability", HFILL }}, { &hf_h245_oneOfCapabilities, { "oneOfCapabilities", "h245.oneOfCapabilities", FT_UINT32, BASE_DEC, NULL, 0, "AlternativeCapabilitySet", HFILL }}, { &hf_h245_encryptionAuthenticationAndIntegrity, { "encryptionAuthenticationAndIntegrity", "h245.encryptionAuthenticationAndIntegrity_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_mediaCapability, { "mediaCapability", "h245.mediaCapability", FT_UINT32, BASE_DEC, NULL, 0, "CapabilityTableEntryNumber", HFILL }}, { &hf_h245_h222Capability, { "h222Capability", "h245.h222Capability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_h223Capability, { "h223Capability", "h245.h223Capability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_v76Capability, { "v76Capability", "h245.v76Capability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_h2250Capability, { "h2250Capability", "h245.h2250Capability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_genericMultiplexCapability, { "genericMultiplexCapability", "h245.genericMultiplexCapability_element", FT_NONE, BASE_NONE, NULL, 0, "GenericCapability", HFILL }}, { &hf_h245_numberOfVCs, { "numberOfVCs", "h245.numberOfVCs", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_256", HFILL }}, { &hf_h245_vcCapability, { "vcCapability", "h245.vcCapability", FT_UINT32, BASE_DEC, NULL, 0, "SET_OF_VCCapability", HFILL }}, { &hf_h245_vcCapability_item, { "VCCapability", "h245.VCCapability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_aal1, { "aal1", "h245.aal1_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_nullClockRecovery, { "nullClockRecovery", "h245.nullClockRecovery", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_srtsClockRecovery_bool, { "srtsClockRecovery", "h245.srtsClockRecovery", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_adaptiveClockRecovery, { "adaptiveClockRecovery", "h245.adaptiveClockRecovery", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_nullErrorCorrection, { "nullErrorCorrection", "h245.nullErrorCorrection", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_longInterleaver, { "longInterleaver", "h245.longInterleaver", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_shortInterleaver, { "shortInterleaver", "h245.shortInterleaver", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_errorCorrectionOnly, { "errorCorrectionOnly", "h245.errorCorrectionOnly", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_structuredDataTransfer, { "structuredDataTransfer", "h245.structuredDataTransfer", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_partiallyFilledCells, { "partiallyFilledCells", "h245.partiallyFilledCells", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_aal5, { "aal5", "h245.aal5_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_forwardMaximumSDUSize, { "forwardMaximumSDUSize", "h245.forwardMaximumSDUSize", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_65535", HFILL }}, { &hf_h245_backwardMaximumSDUSize, { "backwardMaximumSDUSize", "h245.backwardMaximumSDUSize", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_65535", HFILL }}, { &hf_h245_transportStream_bool, { "transportStream", "h245.transportStream", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_programStream, { "programStream", "h245.programStream", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_availableBitRates, { "availableBitRates", "h245.availableBitRates_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_avb_type, { "type", "h245.type", FT_UINT32, BASE_DEC, VALS(h245_Avb_type_vals), 0, "Avb_type", HFILL }}, { &hf_h245_singleBitRate, { "singleBitRate", "h245.singleBitRate", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_65535", HFILL }}, { &hf_h245_rangeOfBitRates, { "rangeOfBitRates", "h245.rangeOfBitRates_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_lowerBitRate, { "lowerBitRate", "h245.lowerBitRate", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_65535", HFILL }}, { &hf_h245_higherBitRate, { "higherBitRate", "h245.higherBitRate", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_65535", HFILL }}, { &hf_h245_aal1ViaGateway, { "aal1ViaGateway", "h245.aal1ViaGateway_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_gatewayAddress, { "gatewayAddress", "h245.gatewayAddress", FT_UINT32, BASE_DEC, NULL, 0, "SET_SIZE_1_256_OF_Q2931Address", HFILL }}, { &hf_h245_gatewayAddress_item, { "Q2931Address", "h245.Q2931Address_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_srtsClockRecoveryflag, { "srtsClockRecovery", "h245.srtsClockRecovery", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_transportWithI_frames, { "transportWithI-frames", "h245.transportWithI_frames", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_videoWithAL1, { "videoWithAL1", "h245.videoWithAL1", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_videoWithAL2, { "videoWithAL2", "h245.videoWithAL2", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_videoWithAL3, { "videoWithAL3", "h245.videoWithAL3", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_audioWithAL1, { "audioWithAL1", "h245.audioWithAL1", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_audioWithAL2, { "audioWithAL2", "h245.audioWithAL2", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_audioWithAL3, { "audioWithAL3", "h245.audioWithAL3", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_dataWithAL1, { "dataWithAL1", "h245.dataWithAL1", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_dataWithAL2, { "dataWithAL2", "h245.dataWithAL2", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_dataWithAL3, { "dataWithAL3", "h245.dataWithAL3", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_maximumAl2SDUSize, { "maximumAl2SDUSize", "h245.maximumAl2SDUSize", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_65535", HFILL }}, { &hf_h245_maximumAl3SDUSize, { "maximumAl3SDUSize", "h245.maximumAl3SDUSize", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_65535", HFILL }}, { &hf_h245_maximumDelayJitter, { "maximumDelayJitter", "h245.maximumDelayJitter", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_1023", HFILL }}, { &hf_h245_h223MultiplexTableCapability, { "h223MultiplexTableCapability", "h245.h223MultiplexTableCapability", FT_UINT32, BASE_DEC, VALS(h245_T_h223MultiplexTableCapability_vals), 0, NULL, HFILL }}, { &hf_h245_basic, { "basic", "h245.basic_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_enhanced, { "enhanced", "h245.enhanced_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_maximumNestingDepth, { "maximumNestingDepth", "h245.maximumNestingDepth", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_15", HFILL }}, { &hf_h245_maximumElementListSize, { "maximumElementListSize", "h245.maximumElementListSize", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_2_255", HFILL }}, { &hf_h245_maximumSubElementListSize, { "maximumSubElementListSize", "h245.maximumSubElementListSize", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_2_255", HFILL }}, { &hf_h245_maxMUXPDUSizeCapability, { "maxMUXPDUSizeCapability", "h245.maxMUXPDUSizeCapability", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_nsrpSupport, { "nsrpSupport", "h245.nsrpSupport", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_mobileOperationTransmitCapability, { "mobileOperationTransmitCapability", "h245.mobileOperationTransmitCapability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_modeChangeCapability, { "modeChangeCapability", "h245.modeChangeCapability", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_h223AnnexA, { "h223AnnexA", "h245.h223AnnexA", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_h223AnnexADoubleFlagFlag, { "h223AnnexADoubleFlag", "h245.h223AnnexADoubleFlagFlag", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_h223AnnexB, { "h223AnnexB", "h245.h223AnnexB", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_h223AnnexBwithHeader, { "h223AnnexBwithHeader", "h245.h223AnnexBwithHeader", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_h223AnnexCCapability, { "h223AnnexCCapability", "h245.h223AnnexCCapability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_bitRate_1_19200, { "bitRate", "h245.bitRate", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_19200", HFILL }}, { &hf_h245_mobileMultilinkFrameCapability, { "mobileMultilinkFrameCapability", "h245.mobileMultilinkFrameCapability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_maximumSampleSize, { "maximumSampleSize", "h245.maximumSampleSize", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_255", HFILL }}, { &hf_h245_maximumPayloadLength, { "maximumPayloadLength", "h245.maximumPayloadLength", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_65025", HFILL }}, { &hf_h245_videoWithAL1M, { "videoWithAL1M", "h245.videoWithAL1M", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_videoWithAL2M, { "videoWithAL2M", "h245.videoWithAL2M", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_videoWithAL3M, { "videoWithAL3M", "h245.videoWithAL3M", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_audioWithAL1M, { "audioWithAL1M", "h245.audioWithAL1M", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_audioWithAL2M, { "audioWithAL2M", "h245.audioWithAL2M", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_audioWithAL3M, { "audioWithAL3M", "h245.audioWithAL3M", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_dataWithAL1M, { "dataWithAL1M", "h245.dataWithAL1M", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_dataWithAL2M, { "dataWithAL2M", "h245.dataWithAL2M", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_dataWithAL3M, { "dataWithAL3M", "h245.dataWithAL3M", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_alpduInterleaving, { "alpduInterleaving", "h245.alpduInterleaving", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_maximumAL1MPDUSize, { "maximumAL1MPDUSize", "h245.maximumAL1MPDUSize", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_65535", HFILL }}, { &hf_h245_maximumAL2MSDUSize, { "maximumAL2MSDUSize", "h245.maximumAL2MSDUSize", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_65535", HFILL }}, { &hf_h245_maximumAL3MSDUSize, { "maximumAL3MSDUSize", "h245.maximumAL3MSDUSize", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_65535", HFILL }}, { &hf_h245_rsCodeCapability, { "rsCodeCapability", "h245.rsCodeCapability", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_suspendResumeCapabilitywAddress, { "suspendResumeCapabilitywAddress", "h245.suspendResumeCapabilitywAddress", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_suspendResumeCapabilitywoAddress, { "suspendResumeCapabilitywoAddress", "h245.suspendResumeCapabilitywoAddress", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_rejCapability, { "rejCapability", "h245.rejCapability", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_sREJCapability, { "sREJCapability", "h245.sREJCapability", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_mREJCapability, { "mREJCapability", "h245.mREJCapability", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_crc8bitCapability, { "crc8bitCapability", "h245.crc8bitCapability", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_crc16bitCapability, { "crc16bitCapability", "h245.crc16bitCapability", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_crc32bitCapability, { "crc32bitCapability", "h245.crc32bitCapability", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_uihCapability, { "uihCapability", "h245.uihCapability", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_numOfDLCS, { "numOfDLCS", "h245.numOfDLCS", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_2_8191", HFILL }}, { &hf_h245_twoOctetAddressFieldCapability, { "twoOctetAddressFieldCapability", "h245.twoOctetAddressFieldCapability", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_loopBackTestCapability, { "loopBackTestCapability", "h245.loopBackTestCapability", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_n401Capability, { "n401Capability", "h245.n401Capability", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_4095", HFILL }}, { &hf_h245_maxWindowSizeCapability, { "maxWindowSizeCapability", "h245.maxWindowSizeCapability", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_127", HFILL }}, { &hf_h245_v75Capability, { "v75Capability", "h245.v75Capability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_audioHeader, { "audioHeader", "h245.audioHeader", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_maximumAudioDelayJitter, { "maximumAudioDelayJitter", "h245.maximumAudioDelayJitter", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_1023", HFILL }}, { &hf_h245_receiveMultipointCapability, { "receiveMultipointCapability", "h245.receiveMultipointCapability_element", FT_NONE, BASE_NONE, NULL, 0, "MultipointCapability", HFILL }}, { &hf_h245_transmitMultipointCapability, { "transmitMultipointCapability", "h245.transmitMultipointCapability_element", FT_NONE, BASE_NONE, NULL, 0, "MultipointCapability", HFILL }}, { &hf_h245_receiveAndTransmitMultipointCapability, { "receiveAndTransmitMultipointCapability", "h245.receiveAndTransmitMultipointCapability_element", FT_NONE, BASE_NONE, NULL, 0, "MultipointCapability", HFILL }}, { &hf_h245_mcCapability, { "mcCapability", "h245.mcCapability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_centralizedConferenceMC, { "centralizedConferenceMC", "h245.centralizedConferenceMC", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_decentralizedConferenceMC, { "decentralizedConferenceMC", "h245.decentralizedConferenceMC", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_rtcpVideoControlCapability, { "rtcpVideoControlCapability", "h245.rtcpVideoControlCapability", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_mediaPacketizationCapability, { "mediaPacketizationCapability", "h245.mediaPacketizationCapability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_transportCapability, { "transportCapability", "h245.transportCapability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_redundancyEncodingCapability, { "redundancyEncodingCapability", "h245.redundancyEncodingCapability", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability", HFILL }}, { &hf_h245_redundancyEncodingCapability_item, { "RedundancyEncodingCapability", "h245.RedundancyEncodingCapability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_logicalChannelSwitchingCapability, { "logicalChannelSwitchingCapability", "h245.logicalChannelSwitchingCapability", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_t120DynamicPortCapability, { "t120DynamicPortCapability", "h245.t120DynamicPortCapability", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_h261aVideoPacketization, { "h261aVideoPacketization", "h245.h261aVideoPacketization", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_rtpPayloadTypes, { "rtpPayloadType", "h245.rtpPayloadType", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_256_OF_RTPPayloadType", HFILL }}, { &hf_h245_rtpPayloadTypes_item, { "RTPPayloadType", "h245.RTPPayloadType_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_qosMode, { "qosMode", "h245.qosMode", FT_UINT32, BASE_DEC, VALS(h245_QOSMode_vals), 0, NULL, HFILL }}, { &hf_h245_tokenRate, { "tokenRate", "h245.tokenRate", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_4294967295", HFILL }}, { &hf_h245_bucketSize, { "bucketSize", "h245.bucketSize", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_4294967295", HFILL }}, { &hf_h245_peakRate, { "peakRate", "h245.peakRate", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_4294967295", HFILL }}, { &hf_h245_minPoliced, { "minPoliced", "h245.minPoliced", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_4294967295", HFILL }}, { &hf_h245_maxPktSize, { "maxPktSize", "h245.maxPktSize", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_4294967295", HFILL }}, { &hf_h245_guaranteedQOS, { "guaranteedQOS", "h245.guaranteedQOS_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_controlledLoad, { "controlledLoad", "h245.controlledLoad_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_maxNTUSize, { "maxNTUSize", "h245.maxNTUSize", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_65535", HFILL }}, { &hf_h245_atmUBR, { "atmUBR", "h245.atmUBR", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_atmrtVBR, { "atmrtVBR", "h245.atmrtVBR", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_atmnrtVBR, { "atmnrtVBR", "h245.atmnrtVBR", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_atmABR, { "atmABR", "h245.atmABR", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_atmCBR, { "atmCBR", "h245.atmCBR", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_nonStandardParameter, { "nonStandardParameter", "h245.nonStandardParameter_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_value, { "value", "h245.value", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_h245_servicePrioritySignalled, { "servicePrioritySignalled", "h245.servicePrioritySignalled", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_servicePriorityValue, { "servicePriorityValue", "h245.servicePriorityValue_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_serviceClass, { "serviceClass", "h245.serviceClass", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_4095", HFILL }}, { &hf_h245_serviceSubclass, { "serviceSubclass", "h245.serviceSubclass", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_h245_desired, { "desired", "h245.desired_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_required, { "required", "h245.required_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_class0, { "class0", "h245.class0_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_class1, { "class1", "h245.class1_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_class2, { "class2", "h245.class2_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_class3, { "class3", "h245.class3_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_class4, { "class4", "h245.class4_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_class5, { "class5", "h245.class5_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_qosType, { "qosType", "h245.qosType", FT_UINT32, BASE_DEC, VALS(h245_QOSType_vals), 0, NULL, HFILL }}, { &hf_h245_qosClass, { "qosClass", "h245.qosClass", FT_UINT32, BASE_DEC, VALS(h245_QOSClass_vals), 0, NULL, HFILL }}, { &hf_h245_averageRate, { "averageRate", "h245.averageRate", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_4294967295", HFILL }}, { &hf_h245_burst, { "burst", "h245.burst", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_4294967295", HFILL }}, { &hf_h245_rsvpParameters, { "rsvpParameters", "h245.rsvpParameters_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_atmParameters, { "atmParameters", "h245.atmParameters_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_localQoS, { "localQoS", "h245.localQoS", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_genericTransportParameters, { "genericTransportParameters", "h245.genericTransportParameters_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_servicePriority, { "servicePriority", "h245.servicePriority_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_authorizationParameter, { "authorizationParameter", "h245.authorizationParameter_element", FT_NONE, BASE_NONE, NULL, 0, "AuthorizationParameters", HFILL }}, { &hf_h245_qosDescriptor, { "qosDescriptor", "h245.qosDescriptor_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_dscpValue, { "dscpValue", "h245.dscpValue", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_63", HFILL }}, { &hf_h245_ip_UDP, { "ip-UDP", "h245.ip_UDP_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_ip_TCP, { "ip-TCP", "h245.ip_TCP_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_atm_AAL5_UNIDIR, { "atm-AAL5-UNIDIR", "h245.atm_AAL5_UNIDIR_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_atm_AAL5_BIDIR, { "atm-AAL5-BIDIR", "h245.atm_AAL5_BIDIR_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_atm_AAL5_compressed, { "atm-AAL5-compressed", "h245.atm_AAL5_compressed_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_variable_delta, { "variable-delta", "h245.variable_delta", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_mediaTransport, { "mediaTransport", "h245.mediaTransport", FT_UINT32, BASE_DEC, VALS(h245_MediaTransportType_vals), 0, "MediaTransportType", HFILL }}, { &hf_h245_qOSCapabilities, { "qOSCapabilities", "h245.qOSCapabilities", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_256_OF_QOSCapability", HFILL }}, { &hf_h245_qOSCapabilities_item, { "QOSCapability", "h245.QOSCapability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_mediaChannelCapabilities, { "mediaChannelCapabilities", "h245.mediaChannelCapabilities", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_256_OF_MediaChannelCapability", HFILL }}, { &hf_h245_mediaChannelCapabilities_item, { "MediaChannelCapability", "h245.MediaChannelCapability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_redundancyEncodingMethod, { "redundancyEncodingMethod", "h245.redundancyEncodingMethod", FT_UINT32, BASE_DEC, VALS(h245_RedundancyEncodingMethod_vals), 0, NULL, HFILL }}, { &hf_h245_primaryEncoding, { "primaryEncoding", "h245.primaryEncoding", FT_UINT32, BASE_DEC, NULL, 0, "CapabilityTableEntryNumber", HFILL }}, { &hf_h245_secondaryEncodingCapability, { "secondaryEncoding", "h245.secondaryEncoding", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber", HFILL }}, { &hf_h245_secondaryEncodingCapability_item, { "CapabilityTableEntryNumber", "h245.CapabilityTableEntryNumber", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_rtpAudioRedundancyEncoding, { "rtpAudioRedundancyEncoding", "h245.rtpAudioRedundancyEncoding_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_rtpH263VideoRedundancyEncoding, { "rtpH263VideoRedundancyEncoding", "h245.rtpH263VideoRedundancyEncoding_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_numberOfThreads, { "numberOfThreads", "h245.numberOfThreads", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_16", HFILL }}, { &hf_h245_framesBetweenSyncPoints, { "framesBetweenSyncPoints", "h245.framesBetweenSyncPoints", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_256", HFILL }}, { &hf_h245_frameToThreadMapping, { "frameToThreadMapping", "h245.frameToThreadMapping", FT_UINT32, BASE_DEC, VALS(h245_T_frameToThreadMapping_vals), 0, NULL, HFILL }}, { &hf_h245_roundrobin, { "roundrobin", "h245.roundrobin_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_custom, { "custom", "h245.custom", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping", HFILL }}, { &hf_h245_custom_item, { "RTPH263VideoRedundancyFrameMapping", "h245.RTPH263VideoRedundancyFrameMapping_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_containedThreads, { "containedThreads", "h245.containedThreads", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_containedThreads_item, { "containedThreads item", "h245.containedThreads_item", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_15", HFILL }}, { &hf_h245_threadNumber, { "threadNumber", "h245.threadNumber", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_15", HFILL }}, { &hf_h245_frameSequence, { "frameSequence", "h245.frameSequence", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_frameSequence_item, { "frameSequence item", "h245.frameSequence_item", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_h245_multicastCapability, { "multicastCapability", "h245.multicastCapability", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_multiUniCastConference, { "multiUniCastConference", "h245.multiUniCastConference", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_mediaDistributionCapability, { "mediaDistributionCapability", "h245.mediaDistributionCapability", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_OF_MediaDistributionCapability", HFILL }}, { &hf_h245_mediaDistributionCapability_item, { "MediaDistributionCapability", "h245.MediaDistributionCapability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_centralizedControl, { "centralizedControl", "h245.centralizedControl", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_distributedControl, { "distributedControl", "h245.distributedControl", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_centralizedAudio, { "centralizedAudio", "h245.centralizedAudio", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_distributedAudio, { "distributedAudio", "h245.distributedAudio", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_centralizedVideo, { "centralizedVideo", "h245.centralizedVideo", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_distributedVideo, { "distributedVideo", "h245.distributedVideo", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_centralizedData, { "centralizedData", "h245.centralizedData", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_OF_DataApplicationCapability", HFILL }}, { &hf_h245_centralizedData_item, { "DataApplicationCapability", "h245.DataApplicationCapability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_distributedData, { "distributedData", "h245.distributedData", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_OF_DataApplicationCapability", HFILL }}, { &hf_h245_distributedData_item, { "DataApplicationCapability", "h245.DataApplicationCapability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_h261VideoCapability, { "h261VideoCapability", "h245.h261VideoCapability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_h262VideoCapability, { "h262VideoCapability", "h245.h262VideoCapability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_h263VideoCapability, { "h263VideoCapability", "h245.h263VideoCapability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_is11172VideoCapability, { "is11172VideoCapability", "h245.is11172VideoCapability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_genericVideoCapability, { "genericVideoCapability", "h245.genericVideoCapability_element", FT_NONE, BASE_NONE, NULL, 0, "GenericCapability", HFILL }}, { &hf_h245_extendedVideoCapability, { "extendedVideoCapability", "h245.extendedVideoCapability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_videoCapability, { "videoCapability", "h245.videoCapability", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_OF_VideoCapability", HFILL }}, { &hf_h245_videoCapability_item, { "VideoCapability", "h245.VideoCapability", FT_UINT32, BASE_DEC, VALS(h245_VideoCapability_vals), 0, NULL, HFILL }}, { &hf_h245_videoCapabilityExtension, { "videoCapabilityExtension", "h245.videoCapabilityExtension", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_OF_GenericCapability", HFILL }}, { &hf_h245_videoCapabilityExtension_item, { "GenericCapability", "h245.GenericCapability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_qcifMPI_1_4, { "qcifMPI", "h245.qcifMPI", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_4", HFILL }}, { &hf_h245_cifMPI_1_4, { "cifMPI", "h245.cifMPI", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_4", HFILL }}, { &hf_h245_temporalSpatialTradeOffCapability, { "temporalSpatialTradeOffCapability", "h245.temporalSpatialTradeOffCapability", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_maxBitRate_1_19200, { "maxBitRate", "h245.maxBitRate", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_19200", HFILL }}, { &hf_h245_stillImageTransmission, { "stillImageTransmission", "h245.stillImageTransmission", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_videoBadMBsCap, { "videoBadMBsCap", "h245.videoBadMBsCap", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_profileAndLevel_SPatML, { "profileAndLevel-SPatML", "h245.profileAndLevel_SPatML", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_profileAndLevel_MPatLL, { "profileAndLevel-MPatLL", "h245.profileAndLevel_MPatLL", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_profileAndLevel_MPatML, { "profileAndLevel-MPatML", "h245.profileAndLevel_MPatML", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_profileAndLevel_MPatH_14, { "profileAndLevel-MPatH-14", "h245.profileAndLevel_MPatH_14", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_profileAndLevel_MPatHL, { "profileAndLevel-MPatHL", "h245.profileAndLevel_MPatHL", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_profileAndLevel_SNRatLL, { "profileAndLevel-SNRatLL", "h245.profileAndLevel_SNRatLL", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_profileAndLevel_SNRatML, { "profileAndLevel-SNRatML", "h245.profileAndLevel_SNRatML", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_profileAndLevel_SpatialatH_14, { "profileAndLevel-SpatialatH-14", "h245.profileAndLevel_SpatialatH_14", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_profileAndLevel_HPatML, { "profileAndLevel-HPatML", "h245.profileAndLevel_HPatML", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_profileAndLevel_HPatH_14, { "profileAndLevel-HPatH-14", "h245.profileAndLevel_HPatH_14", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_profileAndLevel_HPatHL, { "profileAndLevel-HPatHL", "h245.profileAndLevel_HPatHL", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_videoBitRate, { "videoBitRate", "h245.videoBitRate", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_1073741823", HFILL }}, { &hf_h245_vbvBufferSize, { "vbvBufferSize", "h245.vbvBufferSize", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_262143", HFILL }}, { &hf_h245_samplesPerLine, { "samplesPerLine", "h245.samplesPerLine", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_16383", HFILL }}, { &hf_h245_linesPerFrame, { "linesPerFrame", "h245.linesPerFrame", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_16383", HFILL }}, { &hf_h245_framesPerSecond, { "framesPerSecond", "h245.framesPerSecond", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_15", HFILL }}, { &hf_h245_luminanceSampleRate, { "luminanceSampleRate", "h245.luminanceSampleRate", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_4294967295", HFILL }}, { &hf_h245_sqcifMPI_1_32, { "sqcifMPI", "h245.sqcifMPI", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_32", HFILL }}, { &hf_h245_qcifMPI, { "qcifMPI", "h245.qcifMPI", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_32", HFILL }}, { &hf_h245_cifMPI, { "cifMPI", "h245.cifMPI", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_32", HFILL }}, { &hf_h245_cif4MPI_1_32, { "cif4MPI", "h245.cif4MPI", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_32", HFILL }}, { &hf_h245_cif16MPI_1_32, { "cif16MPI", "h245.cif16MPI", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_32", HFILL }}, { &hf_h245_maxBitRate, { "maxBitRate", "h245.maxBitRate", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_192400", HFILL }}, { &hf_h245_unrestrictedVector, { "unrestrictedVector", "h245.unrestrictedVector", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_arithmeticCoding, { "arithmeticCoding", "h245.arithmeticCoding", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_advancedPrediction, { "advancedPrediction", "h245.advancedPrediction", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_pbFrames, { "pbFrames", "h245.pbFrames", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_hrd_B, { "hrd-B", "h245.hrd_B", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_524287", HFILL }}, { &hf_h245_bppMaxKb, { "bppMaxKb", "h245.bppMaxKb", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_65535", HFILL }}, { &hf_h245_slowSqcifMPI, { "slowSqcifMPI", "h245.slowSqcifMPI", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_3600", HFILL }}, { &hf_h245_slowQcifMPI, { "slowQcifMPI", "h245.slowQcifMPI", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_3600", HFILL }}, { &hf_h245_slowCifMPI, { "slowCifMPI", "h245.slowCifMPI", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_3600", HFILL }}, { &hf_h245_slowCif4MPI, { "slowCif4MPI", "h245.slowCif4MPI", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_3600", HFILL }}, { &hf_h245_slowCif16MPI, { "slowCif16MPI", "h245.slowCif16MPI", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_3600", HFILL }}, { &hf_h245_errorCompensation, { "errorCompensation", "h245.errorCompensation", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_enhancementLayerInfo, { "enhancementLayerInfo", "h245.enhancementLayerInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_h263Options, { "h263Options", "h245.h263Options_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_baseBitRateConstrained, { "baseBitRateConstrained", "h245.baseBitRateConstrained", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_snrEnhancement, { "snrEnhancement", "h245.snrEnhancement", FT_UINT32, BASE_DEC, NULL, 0, "SET_SIZE_1_14_OF_EnhancementOptions", HFILL }}, { &hf_h245_snrEnhancement_item, { "EnhancementOptions", "h245.EnhancementOptions_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_spatialEnhancement, { "spatialEnhancement", "h245.spatialEnhancement", FT_UINT32, BASE_DEC, NULL, 0, "SET_SIZE_1_14_OF_EnhancementOptions", HFILL }}, { &hf_h245_spatialEnhancement_item, { "EnhancementOptions", "h245.EnhancementOptions_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_bPictureEnhancement, { "bPictureEnhancement", "h245.bPictureEnhancement", FT_UINT32, BASE_DEC, NULL, 0, "SET_SIZE_1_14_OF_BEnhancementParameters", HFILL }}, { &hf_h245_bPictureEnhancement_item, { "BEnhancementParameters", "h245.BEnhancementParameters_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_enhancementOptions, { "enhancementOptions", "h245.enhancementOptions_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_numberOfBPictures, { "numberOfBPictures", "h245.numberOfBPictures", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_64", HFILL }}, { &hf_h245_advancedIntraCodingMode, { "advancedIntraCodingMode", "h245.advancedIntraCodingMode", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_deblockingFilterMode, { "deblockingFilterMode", "h245.deblockingFilterMode", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_improvedPBFramesMode, { "improvedPBFramesMode", "h245.improvedPBFramesMode", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_unlimitedMotionVectors, { "unlimitedMotionVectors", "h245.unlimitedMotionVectors", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_fullPictureFreeze, { "fullPictureFreeze", "h245.fullPictureFreeze", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_partialPictureFreezeAndRelease, { "partialPictureFreezeAndRelease", "h245.partialPictureFreezeAndRelease", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_resizingPartPicFreezeAndRelease, { "resizingPartPicFreezeAndRelease", "h245.resizingPartPicFreezeAndRelease", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_fullPictureSnapshot, { "fullPictureSnapshot", "h245.fullPictureSnapshot", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_partialPictureSnapshot, { "partialPictureSnapshot", "h245.partialPictureSnapshot", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_videoSegmentTagging, { "videoSegmentTagging", "h245.videoSegmentTagging", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_progressiveRefinement, { "progressiveRefinement", "h245.progressiveRefinement", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_dynamicPictureResizingByFour, { "dynamicPictureResizingByFour", "h245.dynamicPictureResizingByFour", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_dynamicPictureResizingSixteenthPel, { "dynamicPictureResizingSixteenthPel", "h245.dynamicPictureResizingSixteenthPel", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_dynamicWarpingHalfPel, { "dynamicWarpingHalfPel", "h245.dynamicWarpingHalfPel", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_dynamicWarpingSixteenthPel, { "dynamicWarpingSixteenthPel", "h245.dynamicWarpingSixteenthPel", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_independentSegmentDecoding, { "independentSegmentDecoding", "h245.independentSegmentDecoding", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_slicesInOrder_NonRect, { "slicesInOrder-NonRect", "h245.slicesInOrder_NonRect", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_slicesInOrder_Rect, { "slicesInOrder-Rect", "h245.slicesInOrder_Rect", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_slicesNoOrder_NonRect, { "slicesNoOrder-NonRect", "h245.slicesNoOrder_NonRect", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_slicesNoOrder_Rect, { "slicesNoOrder-Rect", "h245.slicesNoOrder_Rect", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_alternateInterVLCMode, { "alternateInterVLCMode", "h245.alternateInterVLCMode", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_modifiedQuantizationMode, { "modifiedQuantizationMode", "h245.modifiedQuantizationMode", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_reducedResolutionUpdate, { "reducedResolutionUpdate", "h245.reducedResolutionUpdate", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_transparencyParameters, { "transparencyParameters", "h245.transparencyParameters_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_separateVideoBackChannel, { "separateVideoBackChannel", "h245.separateVideoBackChannel", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_refPictureSelection, { "refPictureSelection", "h245.refPictureSelection_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_customPictureClockFrequency, { "customPictureClockFrequency", "h245.customPictureClockFrequency", FT_UINT32, BASE_DEC, NULL, 0, "SET_SIZE_1_16_OF_CustomPictureClockFrequency", HFILL }}, { &hf_h245_customPictureClockFrequency_item, { "CustomPictureClockFrequency", "h245.CustomPictureClockFrequency_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_customPictureFormat, { "customPictureFormat", "h245.customPictureFormat", FT_UINT32, BASE_DEC, NULL, 0, "SET_SIZE_1_16_OF_CustomPictureFormat", HFILL }}, { &hf_h245_customPictureFormat_item, { "CustomPictureFormat", "h245.CustomPictureFormat_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_modeCombos, { "modeCombos", "h245.modeCombos", FT_UINT32, BASE_DEC, NULL, 0, "SET_SIZE_1_16_OF_H263VideoModeCombos", HFILL }}, { &hf_h245_modeCombos_item, { "H263VideoModeCombos", "h245.H263VideoModeCombos_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_h263Version3Options, { "h263Version3Options", "h245.h263Version3Options_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_presentationOrder, { "presentationOrder", "h245.presentationOrder", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_256", HFILL }}, { &hf_h245_offset_x, { "offset-x", "h245.offset_x", FT_INT32, BASE_DEC, NULL, 0, "INTEGER_M262144_262143", HFILL }}, { &hf_h245_offset_y, { "offset-y", "h245.offset_y", FT_INT32, BASE_DEC, NULL, 0, "INTEGER_M262144_262143", HFILL }}, { &hf_h245_scale_x, { "scale-x", "h245.scale_x", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_255", HFILL }}, { &hf_h245_scale_y, { "scale-y", "h245.scale_y", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_255", HFILL }}, { &hf_h245_additionalPictureMemory, { "additionalPictureMemory", "h245.additionalPictureMemory_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_sqcifAdditionalPictureMemory, { "sqcifAdditionalPictureMemory", "h245.sqcifAdditionalPictureMemory", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_256", HFILL }}, { &hf_h245_qcifAdditionalPictureMemory, { "qcifAdditionalPictureMemory", "h245.qcifAdditionalPictureMemory", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_256", HFILL }}, { &hf_h245_cifAdditionalPictureMemory, { "cifAdditionalPictureMemory", "h245.cifAdditionalPictureMemory", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_256", HFILL }}, { &hf_h245_cif4AdditionalPictureMemory, { "cif4AdditionalPictureMemory", "h245.cif4AdditionalPictureMemory", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_256", HFILL }}, { &hf_h245_cif16AdditionalPictureMemory, { "cif16AdditionalPictureMemory", "h245.cif16AdditionalPictureMemory", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_256", HFILL }}, { &hf_h245_bigCpfAdditionalPictureMemory, { "bigCpfAdditionalPictureMemory", "h245.bigCpfAdditionalPictureMemory", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_256", HFILL }}, { &hf_h245_videoMux, { "videoMux", "h245.videoMux", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_videoBackChannelSend, { "videoBackChannelSend", "h245.videoBackChannelSend", FT_UINT32, BASE_DEC, VALS(h245_T_videoBackChannelSend_vals), 0, NULL, HFILL }}, { &hf_h245_none, { "none", "h245.none_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_ackMessageOnly, { "ackMessageOnly", "h245.ackMessageOnly_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_nackMessageOnly, { "nackMessageOnly", "h245.nackMessageOnly_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_ackOrNackMessageOnly, { "ackOrNackMessageOnly", "h245.ackOrNackMessageOnly_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_ackAndNackMessage, { "ackAndNackMessage", "h245.ackAndNackMessage_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_enhancedReferencePicSelect, { "enhancedReferencePicSelect", "h245.enhancedReferencePicSelect_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_subPictureRemovalParameters, { "subPictureRemovalParameters", "h245.subPictureRemovalParameters_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_mpuHorizMBs, { "mpuHorizMBs", "h245.mpuHorizMBs", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_128", HFILL }}, { &hf_h245_mpuVertMBs, { "mpuVertMBs", "h245.mpuVertMBs", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_72", HFILL }}, { &hf_h245_mpuTotalNumber, { "mpuTotalNumber", "h245.mpuTotalNumber", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_65536", HFILL }}, { &hf_h245_clockConversionCode, { "clockConversionCode", "h245.clockConversionCode", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1000_1001", HFILL }}, { &hf_h245_clockDivisor, { "clockDivisor", "h245.clockDivisor", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_127", HFILL }}, { &hf_h245_sqcifMPI, { "sqcifMPI", "h245.sqcifMPI", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_2048", HFILL }}, { &hf_h245_qcifMPI_1_2048, { "qcifMPI", "h245.qcifMPI", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_2048", HFILL }}, { &hf_h245_cifMPI2_1_2048, { "cifMPI", "h245.cifMPI", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_2048", HFILL }}, { &hf_h245_cif4MPI, { "cif4MPI", "h245.cif4MPI", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_2048", HFILL }}, { &hf_h245_cif16MPI, { "cif16MPI", "h245.cif16MPI", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_2048", HFILL }}, { &hf_h245_maxCustomPictureWidth, { "maxCustomPictureWidth", "h245.maxCustomPictureWidth", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_2048", HFILL }}, { &hf_h245_maxCustomPictureHeight, { "maxCustomPictureHeight", "h245.maxCustomPictureHeight", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_2048", HFILL }}, { &hf_h245_minCustomPictureWidth, { "minCustomPictureWidth", "h245.minCustomPictureWidth", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_2048", HFILL }}, { &hf_h245_minCustomPictureHeight, { "minCustomPictureHeight", "h245.minCustomPictureHeight", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_2048", HFILL }}, { &hf_h245_mPI, { "mPI", "h245.mPI_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_standardMPI, { "standardMPI", "h245.standardMPI", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_31", HFILL }}, { &hf_h245_customPCF, { "customPCF", "h245.customPCF", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_customPCF_item, { "customPCF item", "h245.customPCF_item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_customMPI, { "customMPI", "h245.customMPI", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_2048", HFILL }}, { &hf_h245_pixelAspectInformation, { "pixelAspectInformation", "h245.pixelAspectInformation", FT_UINT32, BASE_DEC, VALS(h245_T_pixelAspectInformation_vals), 0, NULL, HFILL }}, { &hf_h245_anyPixelAspectRatio, { "anyPixelAspectRatio", "h245.anyPixelAspectRatio", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_pixelAspectCode, { "pixelAspectCode", "h245.pixelAspectCode", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_pixelAspectCode_item, { "pixelAspectCode item", "h245.pixelAspectCode_item", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_14", HFILL }}, { &hf_h245_extendedPAR, { "extendedPAR", "h245.extendedPAR", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_extendedPAR_item, { "extendedPAR item", "h245.extendedPAR_item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_width, { "width", "h245.width", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_255", HFILL }}, { &hf_h245_height, { "height", "h245.height", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_255", HFILL }}, { &hf_h245_h263VideoUncoupledModes, { "h263VideoUncoupledModes", "h245.h263VideoUncoupledModes_element", FT_NONE, BASE_NONE, NULL, 0, "H263ModeComboFlags", HFILL }}, { &hf_h245_h263VideoCoupledModes, { "h263VideoCoupledModes", "h245.h263VideoCoupledModes", FT_UINT32, BASE_DEC, NULL, 0, "SET_SIZE_1_16_OF_H263ModeComboFlags", HFILL }}, { &hf_h245_h263VideoCoupledModes_item, { "H263ModeComboFlags", "h245.H263ModeComboFlags_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_referencePicSelect, { "referencePicSelect", "h245.referencePicSelect", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_enhancedReferencePicSelectBool, { "enhancedReferencePicSelect", "h245.enhancedReferencePicSelect", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_dataPartitionedSlices, { "dataPartitionedSlices", "h245.dataPartitionedSlices", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_fixedPointIDCT0, { "fixedPointIDCT0", "h245.fixedPointIDCT0", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_interlacedFields, { "interlacedFields", "h245.interlacedFields", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_currentPictureHeaderRepetition, { "currentPictureHeaderRepetition", "h245.currentPictureHeaderRepetition", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_previousPictureHeaderRepetition, { "previousPictureHeaderRepetition", "h245.previousPictureHeaderRepetition", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_nextPictureHeaderRepetition, { "nextPictureHeaderRepetition", "h245.nextPictureHeaderRepetition", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_pictureNumberBoolean, { "pictureNumber", "h245.pictureNumberBoolean", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_spareReferencePictures, { "spareReferencePictures", "h245.spareReferencePictures", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_constrainedBitstream, { "constrainedBitstream", "h245.constrainedBitstream", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_pictureRate, { "pictureRate", "h245.pictureRate", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_15", HFILL }}, { &hf_h245_g711Alaw64k, { "g711Alaw64k", "h245.g711Alaw64k", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_256", HFILL }}, { &hf_h245_g711Alaw56k, { "g711Alaw56k", "h245.g711Alaw56k", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_256", HFILL }}, { &hf_h245_g711Ulaw64k, { "g711Ulaw64k", "h245.g711Ulaw64k", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_256", HFILL }}, { &hf_h245_g711Ulaw56k, { "g711Ulaw56k", "h245.g711Ulaw56k", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_256", HFILL }}, { &hf_h245_g722_64k, { "g722-64k", "h245.g722_64k", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_256", HFILL }}, { &hf_h245_g722_56k, { "g722-56k", "h245.g722_56k", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_256", HFILL }}, { &hf_h245_g722_48k, { "g722-48k", "h245.g722_48k", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_256", HFILL }}, { &hf_h245_g7231, { "g7231", "h245.g7231_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_maxAl_sduAudioFrames, { "maxAl-sduAudioFrames", "h245.maxAl_sduAudioFrames", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_256", HFILL }}, { &hf_h245_silenceSuppression, { "silenceSuppression", "h245.silenceSuppression", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_g728, { "g728", "h245.g728", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_256", HFILL }}, { &hf_h245_g729, { "g729", "h245.g729", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_256", HFILL }}, { &hf_h245_g729AnnexA, { "g729AnnexA", "h245.g729AnnexA", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_256", HFILL }}, { &hf_h245_is11172AudioCapability, { "is11172AudioCapability", "h245.is11172AudioCapability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_is13818AudioCapability, { "is13818AudioCapability", "h245.is13818AudioCapability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_g729wAnnexB, { "g729wAnnexB", "h245.g729wAnnexB", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_256", HFILL }}, { &hf_h245_g729AnnexAwAnnexB, { "g729AnnexAwAnnexB", "h245.g729AnnexAwAnnexB", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_256", HFILL }}, { &hf_h245_g7231AnnexCCapability, { "g7231AnnexCCapability", "h245.g7231AnnexCCapability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_gsmFullRate, { "gsmFullRate", "h245.gsmFullRate_element", FT_NONE, BASE_NONE, NULL, 0, "GSMAudioCapability", HFILL }}, { &hf_h245_gsmHalfRate, { "gsmHalfRate", "h245.gsmHalfRate_element", FT_NONE, BASE_NONE, NULL, 0, "GSMAudioCapability", HFILL }}, { &hf_h245_gsmEnhancedFullRate, { "gsmEnhancedFullRate", "h245.gsmEnhancedFullRate_element", FT_NONE, BASE_NONE, NULL, 0, "GSMAudioCapability", HFILL }}, { &hf_h245_genericAudioCapability, { "genericAudioCapability", "h245.genericAudioCapability_element", FT_NONE, BASE_NONE, NULL, 0, "GenericCapability", HFILL }}, { &hf_h245_g729Extensions, { "g729Extensions", "h245.g729Extensions_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_vbd, { "vbd", "h245.vbd_element", FT_NONE, BASE_NONE, NULL, 0, "VBDCapability", HFILL }}, { &hf_h245_audioTelephonyEvent, { "audioTelephonyEvent", "h245.audioTelephonyEvent_element", FT_NONE, BASE_NONE, NULL, 0, "NoPTAudioTelephonyEventCapability", HFILL }}, { &hf_h245_audioTone, { "audioTone", "h245.audioTone_element", FT_NONE, BASE_NONE, NULL, 0, "NoPTAudioToneCapability", HFILL }}, { &hf_h245_audioUnit, { "audioUnit", "h245.audioUnit", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_256", HFILL }}, { &hf_h245_annexA, { "annexA", "h245.annexA", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_annexB, { "annexB", "h245.annexB", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_annexD, { "annexD", "h245.annexD", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_annexE, { "annexE", "h245.annexE", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_annexF, { "annexF", "h245.annexF", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_annexG, { "annexG", "h245.annexG", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_annexH, { "annexH", "h245.annexH", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_highRateMode0, { "highRateMode0", "h245.highRateMode0", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_27_78", HFILL }}, { &hf_h245_highRateMode1, { "highRateMode1", "h245.highRateMode1", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_27_78", HFILL }}, { &hf_h245_lowRateMode0, { "lowRateMode0", "h245.lowRateMode0", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_23_66", HFILL }}, { &hf_h245_lowRateMode1, { "lowRateMode1", "h245.lowRateMode1", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_23_66", HFILL }}, { &hf_h245_sidMode0, { "sidMode0", "h245.sidMode0", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_6_17", HFILL }}, { &hf_h245_sidMode1, { "sidMode1", "h245.sidMode1", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_6_17", HFILL }}, { &hf_h245_g723AnnexCAudioMode, { "g723AnnexCAudioMode", "h245.g723AnnexCAudioMode_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_audioLayer1, { "audioLayer1", "h245.audioLayer1", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_audioLayer2, { "audioLayer2", "h245.audioLayer2", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_audioLayer3, { "audioLayer3", "h245.audioLayer3", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_audioSampling32k, { "audioSampling32k", "h245.audioSampling32k", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_audioSampling44k1, { "audioSampling44k1", "h245.audioSampling44k1", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_audioSampling48k, { "audioSampling48k", "h245.audioSampling48k", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_singleChannel, { "singleChannel", "h245.singleChannel", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_twoChannels, { "twoChannels", "h245.twoChannels", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_bitRate_1_448, { "bitRate", "h245.bitRate", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_448", HFILL }}, { &hf_h245_audioSampling16k, { "audioSampling16k", "h245.audioSampling16k", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_audioSampling22k05, { "audioSampling22k05", "h245.audioSampling22k05", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_audioSampling24k, { "audioSampling24k", "h245.audioSampling24k", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_threeChannels2_1, { "threeChannels2-1", "h245.threeChannels2_1", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_threeChannels3_0, { "threeChannels3-0", "h245.threeChannels3_0", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_fourChannels2_0_2_0, { "fourChannels2-0-2-0", "h245.fourChannels2_0_2_0", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_fourChannels2_2, { "fourChannels2-2", "h245.fourChannels2_2", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_fourChannels3_1, { "fourChannels3-1", "h245.fourChannels3_1", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_fiveChannels3_0_2_0, { "fiveChannels3-0-2-0", "h245.fiveChannels3_0_2_0", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_fiveChannels3_2, { "fiveChannels3-2", "h245.fiveChannels3_2", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_lowFrequencyEnhancement, { "lowFrequencyEnhancement", "h245.lowFrequencyEnhancement", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_multilingual, { "multilingual", "h245.multilingual", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_bitRate2_1_1130, { "bitRate", "h245.bitRate", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_1130", HFILL }}, { &hf_h245_audioUnitSize, { "audioUnitSize", "h245.audioUnitSize", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_256", HFILL }}, { &hf_h245_comfortNoise, { "comfortNoise", "h245.comfortNoise", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_scrambled, { "scrambled", "h245.scrambled", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_vbd_cap_type, { "type", "h245.type", FT_UINT32, BASE_DEC, VALS(h245_AudioCapability_vals), 0, "AudioCapability", HFILL }}, { &hf_h245_t120, { "t120", "h245.t120", FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0, "DataProtocolCapability", HFILL }}, { &hf_h245_dsm_cc, { "dsm-cc", "h245.dsm_cc", FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0, "DataProtocolCapability", HFILL }}, { &hf_h245_userData, { "userData", "h245.userData", FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0, "DataProtocolCapability", HFILL }}, { &hf_h245_t84, { "t84", "h245.t84_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_t84Protocol, { "t84Protocol", "h245.t84Protocol", FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0, "DataProtocolCapability", HFILL }}, { &hf_h245_t84Profile, { "t84Profile", "h245.t84Profile", FT_UINT32, BASE_DEC, VALS(h245_T84Profile_vals), 0, NULL, HFILL }}, { &hf_h245_t434, { "t434", "h245.t434", FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0, "DataProtocolCapability", HFILL }}, { &hf_h245_h224, { "h224", "h245.h224", FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0, "DataProtocolCapability", HFILL }}, { &hf_h245_nlpidProtocol, { "nlpidProtocol", "h245.nlpidProtocol", FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0, "DataProtocolCapability", HFILL }}, { &hf_h245_nlpidData, { "nlpidData", "h245.nlpidData", FT_BYTES, BASE_NONE, NULL, 0, "OCTET_STRING", HFILL }}, { &hf_h245_nlpid, { "nlpid", "h245.nlpid_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_dsvdControl, { "dsvdControl", "h245.dsvdControl_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_h222DataPartitioning, { "h222DataPartitioning", "h245.h222DataPartitioning", FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0, "DataProtocolCapability", HFILL }}, { &hf_h245_t30fax, { "t30fax", "h245.t30fax", FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0, "DataProtocolCapability", HFILL }}, { &hf_h245_t140, { "t140", "h245.t140", FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0, "DataProtocolCapability", HFILL }}, { &hf_h245_t38fax, { "t38fax", "h245.t38fax_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_t38FaxProtocol, { "t38FaxProtocol", "h245.t38FaxProtocol", FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0, "DataProtocolCapability", HFILL }}, { &hf_h245_t38FaxProfile, { "t38FaxProfile", "h245.t38FaxProfile_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_genericDataCapability, { "genericDataCapability", "h245.genericDataCapability_element", FT_NONE, BASE_NONE, NULL, 0, "GenericCapability", HFILL }}, { &hf_h245_application, { "application", "h245.application", FT_UINT32, BASE_DEC, VALS(h245_Application_vals), 0, NULL, HFILL }}, { &hf_h245_maxBitRate2_0_4294967295, { "maxBitRate", "h245.maxBitRate", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_4294967295", HFILL }}, { &hf_h245_v14buffered, { "v14buffered", "h245.v14buffered_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_v42lapm, { "v42lapm", "h245.v42lapm_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_hdlcFrameTunnelling, { "hdlcFrameTunnelling", "h245.hdlcFrameTunnelling_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_h310SeparateVCStack, { "h310SeparateVCStack", "h245.h310SeparateVCStack_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_h310SingleVCStack, { "h310SingleVCStack", "h245.h310SingleVCStack_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_transparent, { "transparent", "h245.transparent_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_segmentationAndReassembly, { "segmentationAndReassembly", "h245.segmentationAndReassembly_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_hdlcFrameTunnelingwSAR, { "hdlcFrameTunnelingwSAR", "h245.hdlcFrameTunnelingwSAR_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_v120, { "v120", "h245.v120_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_separateLANStack, { "separateLANStack", "h245.separateLANStack_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_v76wCompression, { "v76wCompression", "h245.v76wCompression", FT_UINT32, BASE_DEC, VALS(h245_T_v76wCompression_vals), 0, NULL, HFILL }}, { &hf_h245_transmitCompression, { "transmitCompression", "h245.transmitCompression", FT_UINT32, BASE_DEC, VALS(h245_CompressionType_vals), 0, "CompressionType", HFILL }}, { &hf_h245_receiveCompression, { "receiveCompression", "h245.receiveCompression", FT_UINT32, BASE_DEC, VALS(h245_CompressionType_vals), 0, "CompressionType", HFILL }}, { &hf_h245_transmitAndReceiveCompression, { "transmitAndReceiveCompression", "h245.transmitAndReceiveCompression", FT_UINT32, BASE_DEC, VALS(h245_CompressionType_vals), 0, "CompressionType", HFILL }}, { &hf_h245_tcp, { "tcp", "h245.tcp_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_udp, { "udp", "h245.udp_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_v42bis, { "v42bis", "h245.v42bis_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_numberOfCodewords, { "numberOfCodewords", "h245.numberOfCodewords", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_65536", HFILL }}, { &hf_h245_maximumStringLength, { "maximumStringLength", "h245.maximumStringLength", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_256", HFILL }}, { &hf_h245_t84Unrestricted, { "t84Unrestricted", "h245.t84Unrestricted_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_t84Restricted, { "t84Restricted", "h245.t84Restricted_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_qcif_bool, { "qcif", "h245.qcif", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_cif_bool, { "cif", "h245.cif", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_ccir601Seq, { "ccir601Seq", "h245.ccir601Seq", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_ccir601Prog, { "ccir601Prog", "h245.ccir601Prog", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_hdtvSeq, { "hdtvSeq", "h245.hdtvSeq", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_hdtvProg, { "hdtvProg", "h245.hdtvProg", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_g3FacsMH200x100, { "g3FacsMH200x100", "h245.g3FacsMH200x100", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_g3FacsMH200x200, { "g3FacsMH200x200", "h245.g3FacsMH200x200", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_g4FacsMMR200x100, { "g4FacsMMR200x100", "h245.g4FacsMMR200x100", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_g4FacsMMR200x200, { "g4FacsMMR200x200", "h245.g4FacsMMR200x200", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_jbig200x200Seq, { "jbig200x200Seq", "h245.jbig200x200Seq", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_jbig200x200Prog, { "jbig200x200Prog", "h245.jbig200x200Prog", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_jbig300x300Seq, { "jbig300x300Seq", "h245.jbig300x300Seq", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_jbig300x300Prog, { "jbig300x300Prog", "h245.jbig300x300Prog", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_digPhotoLow, { "digPhotoLow", "h245.digPhotoLow", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_digPhotoMedSeq, { "digPhotoMedSeq", "h245.digPhotoMedSeq", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_digPhotoMedProg, { "digPhotoMedProg", "h245.digPhotoMedProg", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_digPhotoHighSeq, { "digPhotoHighSeq", "h245.digPhotoHighSeq", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_digPhotoHighProg, { "digPhotoHighProg", "h245.digPhotoHighProg", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_fillBitRemoval, { "fillBitRemoval", "h245.fillBitRemoval", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_transcodingJBIG, { "transcodingJBIG", "h245.transcodingJBIG", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_transcodingMMR, { "transcodingMMR", "h245.transcodingMMR", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_version, { "version", "h245.version", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_h245_t38FaxRateManagement, { "t38FaxRateManagement", "h245.t38FaxRateManagement", FT_UINT32, BASE_DEC, VALS(h245_T38FaxRateManagement_vals), 0, NULL, HFILL }}, { &hf_h245_t38FaxUdpOptions, { "t38FaxUdpOptions", "h245.t38FaxUdpOptions_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_t38FaxTcpOptions, { "t38FaxTcpOptions", "h245.t38FaxTcpOptions_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_localTCF, { "localTCF", "h245.localTCF_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_transferredTCF, { "transferredTCF", "h245.transferredTCF_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_t38FaxMaxBuffer, { "t38FaxMaxBuffer", "h245.t38FaxMaxBuffer", FT_INT32, BASE_DEC, NULL, 0, "INTEGER", HFILL }}, { &hf_h245_t38FaxMaxDatagram, { "t38FaxMaxDatagram", "h245.t38FaxMaxDatagram", FT_INT32, BASE_DEC, NULL, 0, "INTEGER", HFILL }}, { &hf_h245_t38FaxUdpEC, { "t38FaxUdpEC", "h245.t38FaxUdpEC", FT_UINT32, BASE_DEC, VALS(h245_T_t38FaxUdpEC_vals), 0, NULL, HFILL }}, { &hf_h245_t38UDPFEC, { "t38UDPFEC", "h245.t38UDPFEC_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_t38UDPRedundancy, { "t38UDPRedundancy", "h245.t38UDPRedundancy_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_t38TCPBidirectionalMode, { "t38TCPBidirectionalMode", "h245.t38TCPBidirectionalMode", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_encryptionCapability, { "encryptionCapability", "h245.encryptionCapability", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_authenticationCapability, { "authenticationCapability", "h245.authenticationCapability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_integrityCapability, { "integrityCapability", "h245.integrityCapability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_genericH235SecurityCapability, { "genericH235SecurityCapability", "h245.genericH235SecurityCapability_element", FT_NONE, BASE_NONE, NULL, 0, "GenericCapability", HFILL }}, { &hf_h245_EncryptionCapability_item, { "MediaEncryptionAlgorithm", "h245.MediaEncryptionAlgorithm", FT_UINT32, BASE_DEC, VALS(h245_MediaEncryptionAlgorithm_vals), 0, NULL, HFILL }}, { &hf_h245_algorithm, { "algorithm", "h245.algorithm", FT_OID, BASE_NONE, NULL, 0, "OBJECT_IDENTIFIER", HFILL }}, { &hf_h245_antiSpamAlgorithm, { "antiSpamAlgorithm", "h245.antiSpamAlgorithm", FT_OID, BASE_NONE, NULL, 0, "OBJECT_IDENTIFIER", HFILL }}, { &hf_h245_ui_nonStandard, { "nonStandard", "h245.nonStandard", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_16_OF_NonStandardParameter", HFILL }}, { &hf_h245_ui_nonStandard_item, { "NonStandardParameter", "h245.NonStandardParameter_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_basicString, { "basicString", "h245.basicString_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_iA5String, { "iA5String", "h245.iA5String_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_generalString, { "generalString", "h245.generalString_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_dtmf, { "dtmf", "h245.dtmf_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_hookflash, { "hookflash", "h245.hookflash_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_extendedAlphanumericFlag, { "extendedAlphanumeric", "h245.extendedAlphanumeric_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_encryptedBasicString, { "encryptedBasicString", "h245.encryptedBasicString_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_encryptedIA5String, { "encryptedIA5String", "h245.encryptedIA5String_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_encryptedGeneralString, { "encryptedGeneralString", "h245.encryptedGeneralString_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_secureDTMF, { "secureDTMF", "h245.secureDTMF_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_genericUserInputCapability, { "genericUserInputCapability", "h245.genericUserInputCapability_element", FT_NONE, BASE_NONE, NULL, 0, "GenericCapability", HFILL }}, { &hf_h245_nonStandardParams, { "nonStandardData", "h245.nonStandardData", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_OF_NonStandardParameter", HFILL }}, { &hf_h245_nonStandardParams_item, { "NonStandardParameter", "h245.NonStandardParameter_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_chairControlCapability, { "chairControlCapability", "h245.chairControlCapability", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_videoIndicateMixingCapability, { "videoIndicateMixingCapability", "h245.videoIndicateMixingCapability", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_multipointVisualizationCapability, { "multipointVisualizationCapability", "h245.multipointVisualizationCapability", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_capabilityIdentifier, { "capabilityIdentifier", "h245.capabilityIdentifier", FT_UINT32, BASE_DEC, VALS(h245_CapabilityIdentifier_vals), 0, NULL, HFILL }}, { &hf_h245_collapsing, { "collapsing", "h245.collapsing", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_collapsing_item, { "collapsing item", "h245.collapsing_item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_nonCollapsing, { "nonCollapsing", "h245.nonCollapsing", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_nonCollapsing_item, { "nonCollapsing item", "h245.nonCollapsing_item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_nonCollapsingRaw, { "nonCollapsingRaw", "h245.nonCollapsingRaw", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_transport, { "transport", "h245.transport", FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0, "DataProtocolCapability", HFILL }}, { &hf_h245_standardOid, { "standard", "h245.standardOid", FT_OID, BASE_NONE, NULL, 0, "T_standardOid", HFILL }}, { &hf_h245_h221NonStandard, { "h221NonStandard", "h245.h221NonStandard_element", FT_NONE, BASE_NONE, NULL, 0, "NonStandardParameter", HFILL }}, { &hf_h245_uuid, { "uuid", "h245.uuid", FT_BYTES, BASE_NONE, NULL, 0, "OCTET_STRING_SIZE_16", HFILL }}, { &hf_h245_domainBased, { "domainBased", "h245.domainBased", FT_STRING, BASE_NONE, NULL, 0, "IA5String_SIZE_1_64", HFILL }}, { &hf_h245_parameterIdentifier, { "parameterIdentifier", "h245.parameterIdentifier", FT_UINT32, BASE_DEC, VALS(h245_ParameterIdentifier_vals), 0, NULL, HFILL }}, { &hf_h245_parameterValue, { "parameterValue", "h245.parameterValue", FT_UINT32, BASE_DEC, VALS(h245_ParameterValue_vals), 0, NULL, HFILL }}, { &hf_h245_supersedes, { "supersedes", "h245.supersedes", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_OF_ParameterIdentifier", HFILL }}, { &hf_h245_supersedes_item, { "ParameterIdentifier", "h245.ParameterIdentifier", FT_UINT32, BASE_DEC, VALS(h245_ParameterIdentifier_vals), 0, NULL, HFILL }}, { &hf_h245_standard, { "standard", "h245.standard", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_logical, { "logical", "h245.logical_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_booleanArray, { "booleanArray", "h245.booleanArray", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_unsignedMin, { "unsignedMin", "h245.unsignedMin", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_unsignedMax, { "unsignedMax", "h245.unsignedMax", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_unsigned32Min, { "unsigned32Min", "h245.unsigned32Min", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_unsigned32Max, { "unsigned32Max", "h245.unsigned32Max", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_octetString, { "octetString", "h245.octetString", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_genericParameters, { "genericParameter", "h245.genericParameter", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_OF_GenericParameter", HFILL }}, { &hf_h245_genericParameters_item, { "GenericParameter", "h245.GenericParameter_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_multiplexFormat, { "multiplexFormat", "h245.multiplexFormat", FT_UINT32, BASE_DEC, VALS(h245_MultiplexFormat_vals), 0, NULL, HFILL }}, { &hf_h245_controlOnMuxStream, { "controlOnMuxStream", "h245.controlOnMuxStream", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_capabilityOnMuxStream, { "capabilityOnMuxStream", "h245.capabilityOnMuxStream", FT_UINT32, BASE_DEC, NULL, 0, "SET_SIZE_1_256_OF_AlternativeCapabilitySet", HFILL }}, { &hf_h245_capabilityOnMuxStream_item, { "AlternativeCapabilitySet", "h245.AlternativeCapabilitySet", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_dynamicRTPPayloadType, { "dynamicRTPPayloadType", "h245.dynamicRTPPayloadType", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_96_127", HFILL }}, { &hf_h245_audioTelephoneEvent, { "audioTelephoneEvent", "h245.audioTelephoneEvent", FT_STRING, BASE_NONE, NULL, 0, "GeneralString", HFILL }}, { &hf_h245_capabilities, { "capabilities", "h245.capabilities", FT_UINT32, BASE_DEC, NULL, 0, "SET_SIZE_1_256_OF_AlternativeCapabilitySet", HFILL }}, { &hf_h245_capabilities_item, { "AlternativeCapabilitySet", "h245.AlternativeCapabilitySet", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_fecc_rfc2733, { "rfc2733", "h245.rfc2733_element", FT_NONE, BASE_NONE, NULL, 0, "FECC_rfc2733", HFILL }}, { &hf_h245_redundancyEncodingBool, { "redundancyEncoding", "h245.redundancyEncoding", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_separateStreamBool, { "separateStream", "h245.separateStream_element", FT_NONE, BASE_NONE, NULL, 0, "T_separateStreamBool", HFILL }}, { &hf_h245_separatePort, { "separatePort", "h245.separatePort", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_samePortBool, { "samePort", "h245.samePort", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_protectedCapability, { "protectedCapability", "h245.protectedCapability", FT_UINT32, BASE_DEC, NULL, 0, "CapabilityTableEntryNumber", HFILL }}, { &hf_h245_fecScheme, { "fecScheme", "h245.fecScheme", FT_OID, BASE_NONE, NULL, 0, "OBJECT_IDENTIFIER", HFILL }}, { &hf_h245_rfc2733rfc2198, { "rfc2733rfc2198", "h245.rfc2733rfc2198", FT_UINT64, BASE_DEC, NULL, 0, "MaxRedundancy", HFILL }}, { &hf_h245_rfc2733sameport, { "rfc2733sameport", "h245.rfc2733sameport", FT_UINT64, BASE_DEC, NULL, 0, "MaxRedundancy", HFILL }}, { &hf_h245_rfc2733diffport, { "rfc2733diffport", "h245.rfc2733diffport", FT_UINT64, BASE_DEC, NULL, 0, "MaxRedundancy", HFILL }}, { &hf_h245_rfc2733Format, { "rfc2733Format", "h245.rfc2733Format", FT_UINT32, BASE_DEC, VALS(h245_Rfc2733Format_vals), 0, NULL, HFILL }}, { &hf_h245_olc_fw_lcn, { "forwardLogicalChannelNumber", "h245.forwardLogicalChannelNumber", FT_UINT32, BASE_DEC, NULL, 0, "OLC_fw_lcn", HFILL }}, { &hf_h245_forwardLogicalChannelParameters, { "forwardLogicalChannelParameters", "h245.forwardLogicalChannelParameters_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_portNumber, { "portNumber", "h245.portNumber", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_65535", HFILL }}, { &hf_h245_dataType, { "dataType", "h245.dataType", FT_UINT32, BASE_DEC, VALS(h245_DataType_vals), 0, NULL, HFILL }}, { &hf_h245_olc_forw_multiplexParameters, { "multiplexParameters", "h245.multiplexParameters", FT_UINT32, BASE_DEC, VALS(h245_OLC_forw_multiplexParameters_vals), 0, "OLC_forw_multiplexParameters", HFILL }}, { &hf_h245_h222LogicalChannelParameters, { "h222LogicalChannelParameters", "h245.h222LogicalChannelParameters_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_olc_fw_h223_params, { "h223LogicalChannelParameters", "h245.h223LogicalChannelParameters_element", FT_NONE, BASE_NONE, NULL, 0, "OLC_fw_h223_params", HFILL }}, { &hf_h245_v76LogicalChannelParameters, { "v76LogicalChannelParameters", "h245.v76LogicalChannelParameters_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_h2250LogicalChannelParameters, { "h2250LogicalChannelParameters", "h245.h2250LogicalChannelParameters_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_forwardLogicalChannelDependency, { "forwardLogicalChannelDependency", "h245.forwardLogicalChannelDependency", FT_UINT32, BASE_DEC, NULL, 0, "LogicalChannelNumber", HFILL }}, { &hf_h245_replacementFor, { "replacementFor", "h245.replacementFor", FT_UINT32, BASE_DEC, NULL, 0, "LogicalChannelNumber", HFILL }}, { &hf_h245_reverseLogicalChannelParameters, { "reverseLogicalChannelParameters", "h245.reverseLogicalChannelParameters_element", FT_NONE, BASE_NONE, NULL, 0, "OLC_reverseLogicalChannelParameters", HFILL }}, { &hf_h245_olc_rev_multiplexParameter, { "multiplexParameters", "h245.multiplexParameters", FT_UINT32, BASE_DEC, VALS(h245_OLC_rev_multiplexParameters_vals), 0, "OLC_rev_multiplexParameters", HFILL }}, { &hf_h245_olc_rev_h223_params, { "h223LogicalChannelParameters", "h245.h223LogicalChannelParameters_element", FT_NONE, BASE_NONE, NULL, 0, "OLC_rev_h223_params", HFILL }}, { &hf_h245_reverseLogicalChannelDependency, { "reverseLogicalChannelDependency", "h245.reverseLogicalChannelDependency", FT_UINT32, BASE_DEC, NULL, 0, "LogicalChannelNumber", HFILL }}, { &hf_h245_separateStack, { "separateStack", "h245.separateStack_element", FT_NONE, BASE_NONE, NULL, 0, "NetworkAccessParameters", HFILL }}, { &hf_h245_encryptionSync, { "encryptionSync", "h245.encryptionSync_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_distribution, { "distribution", "h245.distribution", FT_UINT32, BASE_DEC, VALS(h245_T_distribution_vals), 0, NULL, HFILL }}, { &hf_h245_unicast, { "unicast", "h245.unicast_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_multicast, { "multicast", "h245.multicast_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_networkAddress, { "networkAddress", "h245.networkAddress", FT_UINT32, BASE_DEC, VALS(h245_T_networkAddress_vals), 0, NULL, HFILL }}, { &hf_h245_q2931Address, { "q2931Address", "h245.q2931Address_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_e164Address, { "e164Address", "h245.e164Address", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_localAreaAddress, { "localAreaAddress", "h245.localAreaAddress", FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0, "TransportAddress", HFILL }}, { &hf_h245_associateConference, { "associateConference", "h245.associateConference", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_externalReference, { "externalReference", "h245.externalReference", FT_BYTES, BASE_NONE, NULL, 0, "OCTET_STRING_SIZE_1_255", HFILL }}, { &hf_h245_t120SetupProcedure, { "t120SetupProcedure", "h245.t120SetupProcedure", FT_UINT32, BASE_DEC, VALS(h245_T_t120SetupProcedure_vals), 0, NULL, HFILL }}, { &hf_h245_originateCall, { "originateCall", "h245.originateCall_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_waitForCall, { "waitForCall", "h245.waitForCall_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_issueQuery, { "issueQuery", "h245.issueQuery_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_address, { "address", "h245.address", FT_UINT32, BASE_DEC, VALS(h245_T_address_vals), 0, NULL, HFILL }}, { &hf_h245_internationalNumber, { "internationalNumber", "h245.internationalNumber", FT_STRING, BASE_NONE, NULL, 0, "NumericString_SIZE_1_16", HFILL }}, { &hf_h245_nsapAddress, { "nsapAddress", "h245.nsapAddress", FT_BYTES, BASE_NONE, NULL, 0, "OCTET_STRING_SIZE_1_20", HFILL }}, { &hf_h245_subaddress, { "subaddress", "h245.subaddress", FT_BYTES, BASE_NONE, NULL, 0, "OCTET_STRING_SIZE_1_20", HFILL }}, { &hf_h245_audioHeaderPresent, { "audioHeaderPresent", "h245.audioHeaderPresent", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_nullData, { "nullData", "h245.nullData_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_videoData, { "videoData", "h245.videoData", FT_UINT32, BASE_DEC, VALS(h245_VideoCapability_vals), 0, "VideoCapability", HFILL }}, { &hf_h245_audioData, { "audioData", "h245.audioData", FT_UINT32, BASE_DEC, VALS(h245_AudioCapability_vals), 0, "AudioCapability", HFILL }}, { &hf_h245_data, { "data", "h245.data_element", FT_NONE, BASE_NONE, NULL, 0, "DataApplicationCapability", HFILL }}, { &hf_h245_encryptionData, { "encryptionData", "h245.encryptionData", FT_UINT32, BASE_DEC, VALS(h245_EncryptionMode_vals), 0, "EncryptionMode", HFILL }}, { &hf_h245_h235Control, { "h235Control", "h245.h235Control_element", FT_NONE, BASE_NONE, NULL, 0, "NonStandardParameter", HFILL }}, { &hf_h245_h235Media, { "h235Media", "h245.h235Media_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_multiplexedStream, { "multiplexedStream", "h245.multiplexedStream_element", FT_NONE, BASE_NONE, NULL, 0, "MultiplexedStreamParameter", HFILL }}, { &hf_h245_redundancyEncoding, { "redundancyEncoding", "h245.redundancyEncoding_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_multiplePayloadStream, { "multiplePayloadStream", "h245.multiplePayloadStream_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_depFec, { "depFec", "h245.depFec", FT_UINT32, BASE_DEC, VALS(h245_DepFECData_vals), 0, "DepFECData", HFILL }}, { &hf_h245_fec, { "fec", "h245.fec", FT_UINT32, BASE_DEC, VALS(h245_FECData_vals), 0, "FECData", HFILL }}, { &hf_h245_mediaType, { "mediaType", "h245.mediaType", FT_UINT32, BASE_DEC, VALS(h245_T_mediaType_vals), 0, NULL, HFILL }}, { &hf_h245_resourceID, { "resourceID", "h245.resourceID", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_65535", HFILL }}, { &hf_h245_subChannelID, { "subChannelID", "h245.subChannelID", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_8191", HFILL }}, { &hf_h245_pcr_pid, { "pcr-pid", "h245.pcr_pid", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_8191", HFILL }}, { &hf_h245_programDescriptors, { "programDescriptors", "h245.programDescriptors", FT_BYTES, BASE_NONE, NULL, 0, "OCTET_STRING", HFILL }}, { &hf_h245_streamDescriptors, { "streamDescriptors", "h245.streamDescriptors", FT_BYTES, BASE_NONE, NULL, 0, "OCTET_STRING", HFILL }}, { &hf_h245_adaptationLayerType, { "adaptationLayerType", "h245.adaptationLayerType", FT_UINT32, BASE_DEC, VALS(h245_T_adaptationLayerType_vals), 0, NULL, HFILL }}, { &hf_h245_h223_al_type_al1Framed, { "al1Framed", "h245.al1Framed_element", FT_NONE, BASE_NONE, NULL, 0, "T_h223_al_type_al1Framed", HFILL }}, { &hf_h245_h223_al_type_al1NotFramed, { "al1NotFramed", "h245.al1NotFramed_element", FT_NONE, BASE_NONE, NULL, 0, "T_h223_al_type_al1NotFramed", HFILL }}, { &hf_h245_h223_al_type_al2WithoutSequenceNumbers, { "al2WithoutSequenceNumbers", "h245.al2WithoutSequenceNumbers_element", FT_NONE, BASE_NONE, NULL, 0, "T_h223_al_type_al2WithoutSequenceNumbers", HFILL }}, { &hf_h245_h223_al_type_al2WithSequenceNumbers, { "al2WithSequenceNumbers", "h245.al2WithSequenceNumbers_element", FT_NONE, BASE_NONE, NULL, 0, "T_h223_al_type_al2WithSequenceNumbers", HFILL }}, { &hf_h245_controlFieldOctets, { "controlFieldOctets", "h245.controlFieldOctets", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_al3_sendBufferSize, { "sendBufferSize", "h245.sendBufferSize", FT_UINT32, BASE_DEC, NULL, 0, "T_al3_sendBufferSize", HFILL }}, { &hf_h245_h223_al_type_al3, { "al3", "h245.al3_element", FT_NONE, BASE_NONE, NULL, 0, "T_h223_al_type_al3", HFILL }}, { &hf_h245_h223_al_type_al1M, { "al1M", "h245.al1M_element", FT_NONE, BASE_NONE, NULL, 0, "T_h223_al_type_al1M", HFILL }}, { &hf_h245_h223_al_type_al2M, { "al2M", "h245.al2M_element", FT_NONE, BASE_NONE, NULL, 0, "T_h223_al_type_al2M", HFILL }}, { &hf_h245_h223_al_type_al3M, { "al3M", "h245.al3M_element", FT_NONE, BASE_NONE, NULL, 0, "T_h223_al_type_al3M", HFILL }}, { &hf_h245_h223_lc_segmentableFlag, { "segmentableFlag", "h245.segmentableFlag", FT_BOOLEAN, BASE_NONE, NULL, 0, "T_h223_lc_segmentableFlag", HFILL }}, { &hf_h245_transferMode, { "transferMode", "h245.transferMode", FT_UINT32, BASE_DEC, VALS(h245_T_transferMode_vals), 0, NULL, HFILL }}, { &hf_h245_framed, { "framed", "h245.framed_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_unframed, { "unframed", "h245.unframed_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_aL1HeaderFEC, { "headerFEC", "h245.headerFEC", FT_UINT32, BASE_DEC, VALS(h245_AL1HeaderFEC_vals), 0, "AL1HeaderFEC", HFILL }}, { &hf_h245_sebch16_7, { "sebch16-7", "h245.sebch16_7_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_golay24_12, { "golay24-12", "h245.golay24_12_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_crcLength2, { "crcLength", "h245.crcLength", FT_UINT32, BASE_DEC, VALS(h245_AL1CrcLength_vals), 0, "AL1CrcLength", HFILL }}, { &hf_h245_crc4bit, { "crc4bit", "h245.crc4bit_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_crc12bit, { "crc12bit", "h245.crc12bit_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_crc20bit, { "crc20bit", "h245.crc20bit_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_crc28bit, { "crc28bit", "h245.crc28bit_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_crc8bit, { "crc8bit", "h245.crc8bit_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_crc16bit, { "crc16bit", "h245.crc16bit_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_crc32bit, { "crc32bit", "h245.crc32bit_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_crcNotUsed, { "crcNotUsed", "h245.crcNotUsed_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_rcpcCodeRate, { "rcpcCodeRate", "h245.rcpcCodeRate", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_8_32", HFILL }}, { &hf_h245_noArq, { "noArq", "h245.noArq_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_typeIArq, { "typeIArq", "h245.typeIArq_element", FT_NONE, BASE_NONE, NULL, 0, "H223AnnexCArqParameters", HFILL }}, { &hf_h245_typeIIArq, { "typeIIArq", "h245.typeIIArq_element", FT_NONE, BASE_NONE, NULL, 0, "H223AnnexCArqParameters", HFILL }}, { &hf_h245_arqType, { "arqType", "h245.arqType", FT_UINT32, BASE_DEC, VALS(h245_ArqType_vals), 0, NULL, HFILL }}, { &hf_h245_alsduSplitting, { "alsduSplitting", "h245.alsduSplitting", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_rsCodeCorrection, { "rsCodeCorrection", "h245.rsCodeCorrection", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_127", HFILL }}, { &hf_h245_aL2HeaderFEC, { "headerFEC", "h245.headerFEC", FT_UINT32, BASE_DEC, VALS(h245_AL2HeaderFEC_vals), 0, "AL2HeaderFEC", HFILL }}, { &hf_h245_sebch16_5, { "sebch16-5", "h245.sebch16_5_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_headerFormat, { "headerFormat", "h245.headerFormat", FT_UINT32, BASE_DEC, VALS(h245_T_headerFormat_vals), 0, NULL, HFILL }}, { &hf_h245_crlength2, { "crcLength", "h245.crcLength", FT_UINT32, BASE_DEC, VALS(h245_AL3CrcLength_vals), 0, "AL3CrcLength", HFILL }}, { &hf_h245_numberOfRetransmissions, { "numberOfRetransmissions", "h245.numberOfRetransmissions", FT_UINT32, BASE_DEC, VALS(h245_T_numberOfRetransmissions_vals), 0, NULL, HFILL }}, { &hf_h245_finite, { "finite", "h245.finite", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_16", HFILL }}, { &hf_h245_infinite, { "infinite", "h245.infinite_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_sendBufferSize, { "sendBufferSize", "h245.sendBufferSize", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_16777215", HFILL }}, { &hf_h245_hdlcParameters, { "hdlcParameters", "h245.hdlcParameters_element", FT_NONE, BASE_NONE, NULL, 0, "V76HDLCParameters", HFILL }}, { &hf_h245_suspendResume, { "suspendResume", "h245.suspendResume", FT_UINT32, BASE_DEC, VALS(h245_T_suspendResume_vals), 0, NULL, HFILL }}, { &hf_h245_noSuspendResume, { "noSuspendResume", "h245.noSuspendResume_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_suspendResumewAddress, { "suspendResumewAddress", "h245.suspendResumewAddress_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_suspendResumewoAddress, { "suspendResumewoAddress", "h245.suspendResumewoAddress_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_uIH, { "uIH", "h245.uIH", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_v76_mode, { "mode", "h245.mode", FT_UINT32, BASE_DEC, VALS(h245_V76LCP_mode_vals), 0, "V76LCP_mode", HFILL }}, { &hf_h245_eRM, { "eRM", "h245.eRM_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_windowSize, { "windowSize", "h245.windowSize", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_127", HFILL }}, { &hf_h245_recovery, { "recovery", "h245.recovery", FT_UINT32, BASE_DEC, VALS(h245_T_recovery_vals), 0, NULL, HFILL }}, { &hf_h245_rej, { "rej", "h245.rej_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_sREJ, { "sREJ", "h245.sREJ_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_mSREJ, { "mSREJ", "h245.mSREJ_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_uNERM, { "uNERM", "h245.uNERM_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_v75Parameters, { "v75Parameters", "h245.v75Parameters_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_crcLength, { "crcLength", "h245.crcLength", FT_UINT32, BASE_DEC, VALS(h245_CRCLength_vals), 0, NULL, HFILL }}, { &hf_h245_n401, { "n401", "h245.n401", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_4095", HFILL }}, { &hf_h245_loopbackTestProcedure, { "loopbackTestProcedure", "h245.loopbackTestProcedure", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_sessionID_0_255, { "sessionID", "h245.sessionID", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_h245_associatedSessionID, { "associatedSessionID", "h245.associatedSessionID", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_255", HFILL }}, { &hf_h245_mediaChannel, { "mediaChannel", "h245.mediaChannel", FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0, NULL, HFILL }}, { &hf_h245_mediaGuaranteedDelivery, { "mediaGuaranteedDelivery", "h245.mediaGuaranteedDelivery", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_mediaControlChannel, { "mediaControlChannel", "h245.mediaControlChannel", FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0, NULL, HFILL }}, { &hf_h245_mediaControlGuaranteedDelivery, { "mediaControlGuaranteedDelivery", "h245.mediaControlGuaranteedDelivery", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_destination, { "destination", "h245.destination_element", FT_NONE, BASE_NONE, NULL, 0, "TerminalLabel", HFILL }}, { &hf_h245_mediaPacketization, { "mediaPacketization", "h245.mediaPacketization", FT_UINT32, BASE_DEC, VALS(h245_T_mediaPacketization_vals), 0, NULL, HFILL }}, { &hf_h245_h261aVideoPacketizationFlag, { "h261aVideoPacketization", "h245.h261aVideoPacketization_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_rtpPayloadType, { "rtpPayloadType", "h245.rtpPayloadType_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_source, { "source", "h245.source_element", FT_NONE, BASE_NONE, NULL, 0, "TerminalLabel", HFILL }}, { &hf_h245_payloadDescriptor, { "payloadDescriptor", "h245.payloadDescriptor", FT_UINT32, BASE_DEC, VALS(h245_T_payloadDescriptor_vals), 0, NULL, HFILL }}, { &hf_h245_rfc_number, { "rfc-number", "h245.rfc_number", FT_UINT32, BASE_DEC, VALS(h245_RFC_number_vals), 0, NULL, HFILL }}, { &hf_h245_oid, { "oid", "h245.oid", FT_OID, BASE_NONE, NULL, 0, "OBJECT_IDENTIFIER", HFILL }}, { &hf_h245_rtpPayloadType_01, { "payloadType", "h245.payloadType", FT_UINT32, BASE_DEC, NULL, 0, "T_rtpPayloadType", HFILL }}, { &hf_h245_secondaryEncoding, { "secondaryEncoding", "h245.secondaryEncoding", FT_UINT32, BASE_DEC, VALS(h245_DataType_vals), 0, "DataType", HFILL }}, { &hf_h245_rtpRedundancyEncoding, { "rtpRedundancyEncoding", "h245.rtpRedundancyEncoding_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_primary, { "primary", "h245.primary_element", FT_NONE, BASE_NONE, NULL, 0, "RedundancyEncodingElement", HFILL }}, { &hf_h245_secondary, { "secondary", "h245.secondary", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_OF_RedundancyEncodingElement", HFILL }}, { &hf_h245_secondary_item, { "RedundancyEncodingElement", "h245.RedundancyEncodingElement_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_payloadType, { "payloadType", "h245.payloadType", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_127", HFILL }}, { &hf_h245_elements, { "elements", "h245.elements", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_OF_MultiplePayloadStreamElement", HFILL }}, { &hf_h245_elements_item, { "MultiplePayloadStreamElement", "h245.MultiplePayloadStreamElement_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_dep_rfc2733, { "rfc2733", "h245.rfc2733_element", FT_NONE, BASE_NONE, NULL, 0, "RFC2733Data", HFILL }}, { &hf_h245_fec_data_mode, { "mode", "h245.mode", FT_UINT32, BASE_DEC, VALS(h245_FECdata_mode_vals), 0, "FECdata_mode", HFILL }}, { &hf_h245_redundancyEncodingFlag, { "redundancyEncoding", "h245.redundancyEncoding_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_differentPort, { "differentPort", "h245.differentPort_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_protectedSessionID, { "protectedSessionID", "h245.protectedSessionID", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_255", HFILL }}, { &hf_h245_protectedPayloadType, { "protectedPayloadType", "h245.protectedPayloadType", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_127", HFILL }}, { &hf_h245_samePort, { "samePort", "h245.samePort_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_separateStream, { "separateStream", "h245.separateStream", FT_UINT32, BASE_DEC, VALS(h245_DepSeparateStream_vals), 0, "DepSeparateStream", HFILL }}, { &hf_h245_rfc2733, { "rfc2733", "h245.rfc2733_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_pktMode, { "pktMode", "h245.pktMode", FT_UINT32, BASE_DEC, VALS(h245_T_pktMode_vals), 0, NULL, HFILL }}, { &hf_h245_rfc2198coding, { "rfc2198coding", "h245.rfc2198coding_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_mode_rfc2733sameport, { "rfc2733sameport", "h245.rfc2733sameport_element", FT_NONE, BASE_NONE, NULL, 0, "T_mode_rfc2733sameport", HFILL }}, { &hf_h245_mode_rfc2733diffport, { "rfc2733diffport", "h245.rfc2733diffport_element", FT_NONE, BASE_NONE, NULL, 0, "T_mode_rfc2733diffport", HFILL }}, { &hf_h245_protectedChannel, { "protectedChannel", "h245.protectedChannel", FT_UINT32, BASE_DEC, NULL, 0, "LogicalChannelNumber", HFILL }}, { &hf_h245_unicastAddress, { "unicastAddress", "h245.unicastAddress", FT_UINT32, BASE_DEC, VALS(h245_UnicastAddress_vals), 0, NULL, HFILL }}, { &hf_h245_multicastAddress, { "multicastAddress", "h245.multicastAddress", FT_UINT32, BASE_DEC, VALS(h245_MulticastAddress_vals), 0, NULL, HFILL }}, { &hf_h245_iPAddress, { "iPAddress", "h245.iPAddress_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_ip4_network, { "network", "h245.ip4_network", FT_IPv4, BASE_NONE, NULL, 0, "Ipv4_network", HFILL }}, { &hf_h245_tsapIdentifier, { "tsapIdentifier", "h245.tsapIdentifier", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_iPXAddress, { "iPXAddress", "h245.iPXAddress_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_node, { "node", "h245.node", FT_BYTES, BASE_NONE, NULL, 0, "OCTET_STRING_SIZE_6", HFILL }}, { &hf_h245_netnum, { "netnum", "h245.netnum", FT_BYTES, BASE_NONE, NULL, 0, "OCTET_STRING_SIZE_4", HFILL }}, { &hf_h245_ipx_tsapIdentifier, { "tsapIdentifier", "h245.ipx.tsapIdentifier", FT_BYTES, BASE_NONE, NULL, 0, "OCTET_STRING_SIZE_2", HFILL }}, { &hf_h245_iP6Address, { "iP6Address", "h245.iP6Address_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_ip6_network, { "network", "h245.ip6_network", FT_IPv6, BASE_NONE, NULL, 0, "T_ip6_network", HFILL }}, { &hf_h245_ipv6_tsapIdentifier, { "tsapIdentifier", "h245.ipv6.tsapIdentifier", FT_UINT32, BASE_DEC, NULL, 0, "T_ipv6_tsapIdentifier", HFILL }}, { &hf_h245_netBios, { "netBios", "h245.netBios", FT_BYTES, BASE_NONE, NULL, 0, "OCTET_STRING_SIZE_16", HFILL }}, { &hf_h245_iPSourceRouteAddress, { "iPSourceRouteAddress", "h245.iPSourceRouteAddress_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_routing, { "routing", "h245.routing", FT_UINT32, BASE_DEC, VALS(h245_T_routing_vals), 0, NULL, HFILL }}, { &hf_h245_strict, { "strict", "h245.strict_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_loose, { "loose", "h245.loose_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_network, { "network", "h245.network", FT_BYTES, BASE_NONE, NULL, 0, "OCTET_STRING_SIZE_4", HFILL }}, { &hf_h245_iPSrcRoute_tsapIdentifier, { "tsapIdentifier", "h245.iPSrcRoute.tsapIdentifier", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_65535", HFILL }}, { &hf_h245_route, { "route", "h245.route", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_route_item, { "route item", "h245.route_item", FT_BYTES, BASE_NONE, NULL, 0, "OCTET_STRING_SIZE_4", HFILL }}, { &hf_h245_nsap, { "nsap", "h245.nsap", FT_BYTES, BASE_NONE, NULL, 0, "OCTET_STRING_SIZE_1_20", HFILL }}, { &hf_h245_nonStandardAddress, { "nonStandardAddress", "h245.nonStandardAddress_element", FT_NONE, BASE_NONE, NULL, 0, "NonStandardParameter", HFILL }}, { &hf_h245_mIPAddress, { "iPAddress", "h245.mIPAddress_element", FT_NONE, BASE_NONE, NULL, 0, "MIPAddress", HFILL }}, { &hf_h245_mip4_network, { "network", "h245.mip4_network", FT_IPv4, BASE_NONE, NULL, 0, "OCTET_STRING_SIZE_4", HFILL }}, { &hf_h245_multicast_tsapIdentifier, { "tsapIdentifier", "h245.multicast.tsapIdentifier", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_65535", HFILL }}, { &hf_h245_mIP6Address, { "iP6Address", "h245.mIP6Address_element", FT_NONE, BASE_NONE, NULL, 0, "MIP6Address", HFILL }}, { &hf_h245_mip6_network, { "network", "h245.mip6_network", FT_IPv6, BASE_NONE, NULL, 0, "OCTET_STRING_SIZE_16", HFILL }}, { &hf_h245_multicast_IPv6_tsapIdentifier, { "tsapIdentifier", "h245.multicast_IPv6.tsapIdentifier", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_65535", HFILL }}, { &hf_h245_synchFlag, { "synchFlag", "h245.synchFlag", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_h245_h235Key, { "h235Key", "h245.h235Key", FT_BYTES, BASE_NONE, NULL, 0, "OCTET_STRING_SIZE_1_65535", HFILL }}, { &hf_h245_escrowentry, { "escrowentry", "h245.escrowentry", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_256_OF_EscrowData", HFILL }}, { &hf_h245_escrowentry_item, { "EscrowData", "h245.EscrowData_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_genericParameter, { "genericParameter", "h245.genericParameter_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_escrowID, { "escrowID", "h245.escrowID", FT_OID, BASE_NONE, NULL, 0, "OBJECT_IDENTIFIER", HFILL }}, { &hf_h245_escrowValue, { "escrowValue", "h245.escrowValue", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_1_65535", HFILL }}, { &hf_h245_olc_ack_fw_lcn, { "forwardLogicalChannelNumber", "h245.forwardLogicalChannelNumber", FT_UINT32, BASE_DEC, NULL, 0, "OLC_ack_fw_lcn", HFILL }}, { &hf_h245_olc_ack_reverseLogicalChannelParameters, { "reverseLogicalChannelParameters", "h245.reverseLogicalChannelParameters_element", FT_NONE, BASE_NONE, NULL, 0, "OLC_ack_reverseLogicalChannelParameters", HFILL }}, { &hf_h245_reverseLogicalChannelNumber, { "reverseLogicalChannelNumber", "h245.reverseLogicalChannelNumber", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_olc_ack_multiplexParameters, { "multiplexParameters", "h245.multiplexParameters", FT_UINT32, BASE_DEC, VALS(h245_T_olc_ack_multiplexParameters_vals), 0, "T_olc_ack_multiplexParameters", HFILL }}, { &hf_h245_forwardMultiplexAckParameters, { "forwardMultiplexAckParameters", "h245.forwardMultiplexAckParameters", FT_UINT32, BASE_DEC, VALS(h245_T_forwardMultiplexAckParameters_vals), 0, NULL, HFILL }}, { &hf_h245_h2250LogicalChannelAckParameters, { "h2250LogicalChannelAckParameters", "h245.h2250LogicalChannelAckParameters_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_forwardLogicalChannelNumber, { "forwardLogicalChannelNumber", "h245.forwardLogicalChannelNumber", FT_UINT32, BASE_DEC, NULL, 0, "LogicalChannelNumber", HFILL }}, { &hf_h245_olc_rej_cause, { "cause", "h245.cause", FT_UINT32, BASE_DEC, VALS(h245_OpenLogicalChannelRejectCause_vals), 0, "OpenLogicalChannelRejectCause", HFILL }}, { &hf_h245_unsuitableReverseParameters, { "unsuitableReverseParameters", "h245.unsuitableReverseParameters_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_dataTypeNotSupported, { "dataTypeNotSupported", "h245.dataTypeNotSupported_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_dataTypeNotAvailable, { "dataTypeNotAvailable", "h245.dataTypeNotAvailable_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_unknownDataType, { "unknownDataType", "h245.unknownDataType_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_dataTypeALCombinationNotSupported, { "dataTypeALCombinationNotSupported", "h245.dataTypeALCombinationNotSupported_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_multicastChannelNotAllowed, { "multicastChannelNotAllowed", "h245.multicastChannelNotAllowed_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_insufficientBandwidth, { "insufficientBandwidth", "h245.insufficientBandwidth_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_separateStackEstablishmentFailed, { "separateStackEstablishmentFailed", "h245.separateStackEstablishmentFailed_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_invalidSessionID, { "invalidSessionID", "h245.invalidSessionID_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_masterSlaveConflict, { "masterSlaveConflict", "h245.masterSlaveConflict_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_waitForCommunicationMode, { "waitForCommunicationMode", "h245.waitForCommunicationMode_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_invalidDependentChannel, { "invalidDependentChannel", "h245.invalidDependentChannel_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_replacementForRejected, { "replacementForRejected", "h245.replacementForRejected_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_securityDenied, { "securityDenied", "h245.securityDenied_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_qoSControlNotSupported, { "qoSControlNotSupported", "h245.qoSControlNotSupported_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_sessionID, { "sessionID", "h245.sessionID", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_255", HFILL }}, { &hf_h245_ack_mediaChannel, { "mediaChannel", "h245.mediaChannel", FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0, "Ack_mediaChannel", HFILL }}, { &hf_h245_ack_mediaControlChannel, { "mediaControlChannel", "h245.mediaControlChannel", FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0, "Ack_mediaControlChannel", HFILL }}, { &hf_h245_flowControlToZero, { "flowControlToZero", "h245.flowControlToZero", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_cLC_source, { "source", "h245.source", FT_UINT32, BASE_DEC, VALS(h245_T_cLC_source_vals), 0, "T_cLC_source", HFILL }}, { &hf_h245_user, { "user", "h245.user_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_lcse, { "lcse", "h245.lcse_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_clc_reason, { "reason", "h245.reason", FT_UINT32, BASE_DEC, VALS(h245_Clc_reason_vals), 0, "Clc_reason", HFILL }}, { &hf_h245_unknown, { "unknown", "h245.unknown_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_reopen, { "reopen", "h245.reopen_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_reservationFailure, { "reservationFailure", "h245.reservationFailure_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_networkErrorCode, { "networkErrorCode", "h245.networkErrorCode", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_h245_qosCapability, { "qosCapability", "h245.qosCapability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_reason, { "reason", "h245.reason", FT_UINT32, BASE_DEC, VALS(h245_T_reason_vals), 0, NULL, HFILL }}, { &hf_h245_normal, { "normal", "h245.normal_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_req_chan_clos_rej_cause, { "cause", "h245.cause", FT_UINT32, BASE_DEC, VALS(h245_RequestChannelCloseRejectCause_vals), 0, "RequestChannelCloseRejectCause", HFILL }}, { &hf_h245_multiplexEntryDescriptors, { "multiplexEntryDescriptors", "h245.multiplexEntryDescriptors", FT_UINT32, BASE_DEC, NULL, 0, "SET_SIZE_1_15_OF_MultiplexEntryDescriptor", HFILL }}, { &hf_h245_multiplexEntryDescriptors_item, { "MultiplexEntryDescriptor", "h245.MultiplexEntryDescriptor_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_multiplexTableEntryNumber, { "multiplexTableEntryNumber", "h245.multiplexTableEntryNumber", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_elementList, { "elementList", "h245.elementList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_elementList_item, { "MultiplexElement", "h245.MultiplexElement_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_me_type, { "type", "h245.type", FT_UINT32, BASE_DEC, VALS(h245_Me_type_vals), 0, "Me_type", HFILL }}, { &hf_h245_logicalChannelNum, { "logicalChannelNumber", "h245.logicalChannelNumber", FT_UINT32, BASE_DEC, NULL, 0, "T_logicalChannelNum", HFILL }}, { &hf_h245_subElementList, { "subElementList", "h245.subElementList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_subElementList_item, { "MultiplexElement", "h245.MultiplexElement_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_me_repeatCount, { "repeatCount", "h245.repeatCount", FT_UINT32, BASE_DEC, VALS(h245_ME_repeatCount_vals), 0, "ME_repeatCount", HFILL }}, { &hf_h245_me_repeatCount_finite, { "finite", "h245.finite", FT_UINT32, BASE_DEC, NULL, 0, "ME_finiteRepeatCount", HFILL }}, { &hf_h245_untilClosingFlag, { "untilClosingFlag", "h245.untilClosingFlag_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_multiplexTableEntryNumbers, { "multiplexTableEntryNumber", "h245.multiplexTableEntryNumber", FT_UINT32, BASE_DEC, NULL, 0, "SET_SIZE_1_15_OF_MultiplexTableEntryNumber", HFILL }}, { &hf_h245_multiplexTableEntryNumbers_item, { "MultiplexTableEntryNumber", "h245.MultiplexTableEntryNumber", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_sendRejectionDescriptions, { "rejectionDescriptions", "h245.rejectionDescriptions", FT_UINT32, BASE_DEC, NULL, 0, "SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions", HFILL }}, { &hf_h245_sendRejectionDescriptions_item, { "MultiplexEntryRejectionDescriptions", "h245.MultiplexEntryRejectionDescriptions_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_mux_rej_cause, { "cause", "h245.cause", FT_UINT32, BASE_DEC, VALS(h245_MultiplexEntryRejectionDescriptionsCause_vals), 0, "MultiplexEntryRejectionDescriptionsCause", HFILL }}, { &hf_h245_unspecifiedCause, { "unspecifiedCause", "h245.unspecifiedCause_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_descriptorTooComplex, { "descriptorTooComplex", "h245.descriptorTooComplex_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_entryNumbers, { "entryNumbers", "h245.entryNumbers", FT_UINT32, BASE_DEC, NULL, 0, "SET_SIZE_1_15_OF_MultiplexTableEntryNumber", HFILL }}, { &hf_h245_entryNumbers_item, { "MultiplexTableEntryNumber", "h245.MultiplexTableEntryNumber", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_rejectionDescriptions, { "rejectionDescriptions", "h245.rejectionDescriptions", FT_UINT32, BASE_DEC, NULL, 0, "SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions", HFILL }}, { &hf_h245_rejectionDescriptions_item, { "RequestMultiplexEntryRejectionDescriptions", "h245.RequestMultiplexEntryRejectionDescriptions_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_req_mux_rej_cause, { "cause", "h245.cause", FT_UINT32, BASE_DEC, VALS(h245_RequestMultiplexEntryRejectionDescriptionsCause_vals), 0, "RequestMultiplexEntryRejectionDescriptionsCause", HFILL }}, { &hf_h245_requestedModes, { "requestedModes", "h245.requestedModes", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_256_OF_ModeDescription", HFILL }}, { &hf_h245_requestedModes_item, { "ModeDescription", "h245.ModeDescription", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_req_mode_ack_response, { "response", "h245.response", FT_UINT32, BASE_DEC, VALS(h245_Req_mode_ack_response_vals), 0, "Req_mode_ack_response", HFILL }}, { &hf_h245_willTransmitMostPreferredMode, { "willTransmitMostPreferredMode", "h245.willTransmitMostPreferredMode_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_willTransmitLessPreferredMode, { "willTransmitLessPreferredMode", "h245.willTransmitLessPreferredMode_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_req_rej_cause, { "cause", "h245.cause", FT_UINT32, BASE_DEC, VALS(h245_RequestModeRejectCause_vals), 0, "RequestModeRejectCause", HFILL }}, { &hf_h245_modeUnavailable, { "modeUnavailable", "h245.modeUnavailable_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_multipointConstraint, { "multipointConstraint", "h245.multipointConstraint_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_requestDenied, { "requestDenied", "h245.requestDenied_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_ModeDescription_item, { "ModeElement", "h245.ModeElement_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_videoMode, { "videoMode", "h245.videoMode", FT_UINT32, BASE_DEC, VALS(h245_VideoMode_vals), 0, NULL, HFILL }}, { &hf_h245_audioMode, { "audioMode", "h245.audioMode", FT_UINT32, BASE_DEC, VALS(h245_AudioMode_vals), 0, NULL, HFILL }}, { &hf_h245_dataMode, { "dataMode", "h245.dataMode_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_encryptionMode, { "encryptionMode", "h245.encryptionMode", FT_UINT32, BASE_DEC, VALS(h245_EncryptionMode_vals), 0, NULL, HFILL }}, { &hf_h245_h235Mode, { "h235Mode", "h245.h235Mode_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_multiplexedStreamMode, { "multiplexedStreamMode", "h245.multiplexedStreamMode_element", FT_NONE, BASE_NONE, NULL, 0, "MultiplexedStreamParameter", HFILL }}, { &hf_h245_redundancyEncodingDTMode, { "redundancyEncodingDTMode", "h245.redundancyEncodingDTMode_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_multiplePayloadStreamMode, { "multiplePayloadStreamMode", "h245.multiplePayloadStreamMode_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_depFecMode, { "depFecMode", "h245.depFecMode", FT_UINT32, BASE_DEC, VALS(h245_DepFECMode_vals), 0, NULL, HFILL }}, { &hf_h245_fecMode, { "fecMode", "h245.fecMode_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_type, { "type", "h245.type", FT_UINT32, BASE_DEC, VALS(h245_ModeElementType_vals), 0, "ModeElementType", HFILL }}, { &hf_h245_h223ModeParameters, { "h223ModeParameters", "h245.h223ModeParameters_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_v76ModeParameters, { "v76ModeParameters", "h245.v76ModeParameters", FT_UINT32, BASE_DEC, VALS(h245_V76ModeParameters_vals), 0, NULL, HFILL }}, { &hf_h245_h2250ModeParameters, { "h2250ModeParameters", "h245.h2250ModeParameters_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_genericModeParameters, { "genericModeParameters", "h245.genericModeParameters_element", FT_NONE, BASE_NONE, NULL, 0, "GenericCapability", HFILL }}, { &hf_h245_multiplexedStreamModeParameters, { "multiplexedStreamModeParameters", "h245.multiplexedStreamModeParameters_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_logicalChannelNumber, { "logicalChannelNumber", "h245.logicalChannelNumber", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_mediaMode, { "mediaMode", "h245.mediaMode", FT_UINT32, BASE_DEC, VALS(h245_T_mediaMode_vals), 0, NULL, HFILL }}, { &hf_h245_prmary_dtmode, { "primary", "h245.primary_element", FT_NONE, BASE_NONE, NULL, 0, "RedundancyEncodingDTModeElement", HFILL }}, { &hf_h245_secondaryDTM, { "secondary", "h245.secondary", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_OF_RedundancyEncodingDTModeElement", HFILL }}, { &hf_h245_secondaryDTM_item, { "RedundancyEncodingDTModeElement", "h245.RedundancyEncodingDTModeElement_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_re_type, { "type", "h245.type", FT_UINT32, BASE_DEC, VALS(h245_Re_type_vals), 0, "Re_type", HFILL }}, { &hf_h245_mpsmElements, { "elements", "h245.elements", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_OF_MultiplePayloadStreamElementMode", HFILL }}, { &hf_h245_mpsmElements_item, { "MultiplePayloadStreamElementMode", "h245.MultiplePayloadStreamElementMode_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_rfc2733Mode, { "rfc2733Mode", "h245.rfc2733Mode_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_fec_mode, { "mode", "h245.mode", FT_UINT32, BASE_DEC, VALS(h245_FEC_mode_vals), 0, "FEC_mode", HFILL }}, { &hf_h245_protectedElement, { "protectedElement", "h245.protectedElement", FT_UINT32, BASE_DEC, VALS(h245_ModeElementType_vals), 0, "ModeElementType", HFILL }}, { &hf_h245_adaptationLayer, { "adaptationLayerType", "h245.adaptationLayerType", FT_UINT32, BASE_DEC, VALS(h245_AdaptationLayerType_vals), 0, NULL, HFILL }}, { &hf_h245_al1Framed, { "al1Framed", "h245.al1Framed_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_al1NotFramed, { "al1NotFramed", "h245.al1NotFramed_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_al2WithoutSequenceNumbers, { "al2WithoutSequenceNumbers", "h245.al2WithoutSequenceNumbers_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_al2WithSequenceNumbers, { "al2WithSequenceNumbers", "h245.al2WithSequenceNumbers_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_al3, { "al3", "h245.al3_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_al1M, { "al1M", "h245.al1M_element", FT_NONE, BASE_NONE, NULL, 0, "H223AL1MParameters", HFILL }}, { &hf_h245_al2M, { "al2M", "h245.al2M_element", FT_NONE, BASE_NONE, NULL, 0, "H223AL2MParameters", HFILL }}, { &hf_h245_al3M, { "al3M", "h245.al3M_element", FT_NONE, BASE_NONE, NULL, 0, "H223AL3MParameters", HFILL }}, { &hf_h245_segmentableFlag, { "segmentableFlag", "h245.segmentableFlag", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_redundancyEncodingMode, { "redundancyEncodingMode", "h245.redundancyEncodingMode_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_secondaryEncodingMode, { "secondaryEncoding", "h245.secondaryEncoding", FT_UINT32, BASE_DEC, VALS(h245_T_secondaryEncodingMode_vals), 0, "T_secondaryEncodingMode", HFILL }}, { &hf_h245_h261VideoMode, { "h261VideoMode", "h245.h261VideoMode_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_h262VideoMode, { "h262VideoMode", "h245.h262VideoMode_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_h263VideoMode, { "h263VideoMode", "h245.h263VideoMode_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_is11172VideoMode, { "is11172VideoMode", "h245.is11172VideoMode_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_genericVideoMode, { "genericVideoMode", "h245.genericVideoMode_element", FT_NONE, BASE_NONE, NULL, 0, "GenericCapability", HFILL }}, { &hf_h245_h261_resolution, { "resolution", "h245.resolution", FT_UINT32, BASE_DEC, VALS(h245_H261Resolution_vals), 0, "H261Resolution", HFILL }}, { &hf_h245_qcif, { "qcif", "h245.qcif_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_cif, { "cif", "h245.cif_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_profileAndLevel, { "profileAndLevel", "h245.profileAndLevel", FT_UINT32, BASE_DEC, VALS(h245_T_profileAndLevel_vals), 0, NULL, HFILL }}, { &hf_h245_profileAndLevel_SPatMLMode, { "profileAndLevel-SPatML", "h245.profileAndLevel_SPatML_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_profileAndLevel_MPatLLMode, { "profileAndLevel-MPatLL", "h245.profileAndLevel_MPatLL_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_profileAndLevel_MPatMLMode, { "profileAndLevel-MPatML", "h245.profileAndLevel_MPatML_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_profileAndLevel_MPatH_14Mode, { "profileAndLevel-MPatH-14", "h245.profileAndLevel_MPatH_14_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_profileAndLevel_MPatHLMode, { "profileAndLevel-MPatHL", "h245.profileAndLevel_MPatHL_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_profileAndLevel_SNRatLLMode, { "profileAndLevel-SNRatLL", "h245.profileAndLevel_SNRatLL_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_profileAndLevel_SNRatMLMode, { "profileAndLevel-SNRatML", "h245.profileAndLevel_SNRatML_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_profileAndLevel_SpatialatH_14Mode, { "profileAndLevel-SpatialatH-14", "h245.profileAndLevel_SpatialatH_14_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_profileAndLevel_HPatMLMode, { "profileAndLevel-HPatML", "h245.profileAndLevel_HPatML_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_profileAndLevel_HPatH_14Mode, { "profileAndLevel-HPatH-14", "h245.profileAndLevel_HPatH_14_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_profileAndLevel_HPatHLMode, { "profileAndLevel-HPatHL", "h245.profileAndLevel_HPatHL_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_h263_resolution, { "resolution", "h245.resolution", FT_UINT32, BASE_DEC, VALS(h245_H263Resolution_vals), 0, "H263Resolution", HFILL }}, { &hf_h245_sqcif, { "sqcif", "h245.sqcif_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_cif4, { "cif4", "h245.cif4_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_cif16, { "cif16", "h245.cif16_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_custom_res, { "custom", "h245.custom_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_g711Alaw64k_mode, { "g711Alaw64k", "h245.g711Alaw64k_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_g711Alaw56k_mode, { "g711Alaw56k", "h245.g711Alaw56k_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_g711Ulaw64k_mode, { "g711Ulaw64k", "h245.g711Ulaw64k_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_g711Ulaw56k_mode, { "g711Ulaw56k", "h245.g711Ulaw56k_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_g722_64k_mode, { "g722-64k", "h245.g722_64k_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_g722_56k_mode, { "g722-56k", "h245.g722_56k_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_g722_48k_mode, { "g722-48k", "h245.g722_48k_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_g728_mode, { "g728", "h245.g728_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_g729_mode, { "g729", "h245.g729_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_g729AnnexA_mode, { "g729AnnexA", "h245.g729AnnexA_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_g7231_mode, { "g7231", "h245.g7231", FT_UINT32, BASE_DEC, VALS(h245_Mode_g7231_vals), 0, "Mode_g7231", HFILL }}, { &hf_h245_noSilenceSuppressionLowRate, { "noSilenceSuppressionLowRate", "h245.noSilenceSuppressionLowRate_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_noSilenceSuppressionHighRate, { "noSilenceSuppressionHighRate", "h245.noSilenceSuppressionHighRate_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_silenceSuppressionLowRate, { "silenceSuppressionLowRate", "h245.silenceSuppressionLowRate_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_silenceSuppressionHighRate, { "silenceSuppressionHighRate", "h245.silenceSuppressionHighRate_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_is11172AudioMode, { "is11172AudioMode", "h245.is11172AudioMode_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_is13818AudioMode, { "is13818AudioMode", "h245.is13818AudioMode_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_g7231AnnexCMode, { "g7231AnnexCMode", "h245.g7231AnnexCMode_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_genericAudioMode, { "genericAudioMode", "h245.genericAudioMode_element", FT_NONE, BASE_NONE, NULL, 0, "GenericCapability", HFILL }}, { &hf_h245_vbd_mode, { "vbd", "h245.vbd_element", FT_NONE, BASE_NONE, NULL, 0, "VBDMode", HFILL }}, { &hf_h245_audioLayer, { "audioLayer", "h245.audioLayer", FT_UINT32, BASE_DEC, VALS(h245_T_audioLayer_vals), 0, NULL, HFILL }}, { &hf_h245_audioLayer1Mode, { "audioLayer1", "h245.audioLayer1_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_audioLayer2Mode, { "audioLayer2", "h245.audioLayer2_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_audioLayer3Mode, { "audioLayer3", "h245.audioLayer3_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_audioSampling, { "audioSampling", "h245.audioSampling", FT_UINT32, BASE_DEC, VALS(h245_T_audioSampling_vals), 0, NULL, HFILL }}, { &hf_h245_audioSampling32kMode, { "audioSampling32k", "h245.audioSampling32k_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_audioSampling44k1Mode, { "audioSampling44k1", "h245.audioSampling44k1_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_audioSampling48kMode, { "audioSampling48k", "h245.audioSampling48k_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_is11172multichannelType, { "multichannelType", "h245.multichannelType", FT_UINT32, BASE_DEC, VALS(h245_IS11172_multichannelType_vals), 0, "IS11172_multichannelType", HFILL }}, { &hf_h245_singleChannelMode, { "singleChannel", "h245.singleChannel_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_twoChannelStereo, { "twoChannelStereo", "h245.twoChannelStereo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_twoChannelDual, { "twoChannelDual", "h245.twoChannelDual_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_audioLayerMode, { "audioLayer", "h245.audioLayer", FT_UINT32, BASE_DEC, VALS(h245_IS13818AudioLayer_vals), 0, "IS13818AudioLayer", HFILL }}, { &hf_h245_audioSamplingMode, { "audioSampling", "h245.audioSampling", FT_UINT32, BASE_DEC, VALS(h245_IS13818AudioSampling_vals), 0, "IS13818AudioSampling", HFILL }}, { &hf_h245_audioSampling16kMode, { "audioSampling16k", "h245.audioSampling16k_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_audioSampling22k05Mode, { "audioSampling22k05", "h245.audioSampling22k05_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_audioSampling24kMode, { "audioSampling24k", "h245.audioSampling24k_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_is13818MultichannelType, { "multichannelType", "h245.multichannelType", FT_UINT32, BASE_DEC, VALS(h245_IS13818MultichannelType_vals), 0, "IS13818MultichannelType", HFILL }}, { &hf_h245_threeChannels2_1Mode, { "threeChannels2-1", "h245.threeChannels2_1_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_threeChannels3_0Mode, { "threeChannels3-0", "h245.threeChannels3_0_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_fourChannels2_0_2_0Mode, { "fourChannels2-0-2-0", "h245.fourChannels2_0_2_0_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_fourChannels2_2Mode, { "fourChannels2-2", "h245.fourChannels2_2_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_fourChannels3_1Mode, { "fourChannels3-1", "h245.fourChannels3_1_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_fiveChannels3_0_2_0Mode, { "fiveChannels3-0-2-0", "h245.fiveChannels3_0_2_0_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_fiveChannels3_2Mode, { "fiveChannels3-2", "h245.fiveChannels3_2_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_vbd_type, { "type", "h245.type", FT_UINT32, BASE_DEC, VALS(h245_AudioMode_vals), 0, "AudioMode", HFILL }}, { &hf_h245_datamodeapplication, { "application", "h245.application", FT_UINT32, BASE_DEC, VALS(h245_DataModeApplication_vals), 0, "DataModeApplication", HFILL }}, { &hf_h245_t84DataProtocolCapability, { "t84", "h245.t84", FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0, "DataProtocolCapability", HFILL }}, { &hf_h245_t38faxDataProtocolCapability, { "t38fax", "h245.t38fax_element", FT_NONE, BASE_NONE, NULL, 0, "T38faxApp", HFILL }}, { &hf_h245_genericDataMode, { "genericDataMode", "h245.genericDataMode_element", FT_NONE, BASE_NONE, NULL, 0, "GenericCapability", HFILL }}, { &hf_h245_bitRate_0_4294967295, { "bitRate", "h245.bitRate", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_4294967295", HFILL }}, { &hf_h245_h233Encryption, { "h233Encryption", "h245.h233Encryption_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_mlr_type, { "type", "h245.type", FT_UINT32, BASE_DEC, VALS(h245_Mlr_type_vals), 0, "Mlr_type", HFILL }}, { &hf_h245_systemLoop, { "systemLoop", "h245.systemLoop_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_mediaLoop, { "mediaLoop", "h245.mediaLoop", FT_UINT32, BASE_DEC, NULL, 0, "LogicalChannelNumber", HFILL }}, { &hf_h245_logicalChannelLoop, { "logicalChannelLoop", "h245.logicalChannelLoop", FT_UINT32, BASE_DEC, NULL, 0, "LogicalChannelNumber", HFILL }}, { &hf_h245_mla_type, { "type", "h245.type", FT_UINT32, BASE_DEC, VALS(h245_Mla_type_vals), 0, "Mla_type", HFILL }}, { &hf_h245_mlrej_type, { "type", "h245.type", FT_UINT32, BASE_DEC, VALS(h245_Mlrej_type_vals), 0, "Mlrej_type", HFILL }}, { &hf_h245_maintloop_rej_cause, { "cause", "h245.cause", FT_UINT32, BASE_DEC, VALS(h245_MaintenanceLoopRejectCause_vals), 0, "MaintenanceLoopRejectCause", HFILL }}, { &hf_h245_canNotPerformLoop, { "canNotPerformLoop", "h245.canNotPerformLoop_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_communicationModeTable, { "communicationModeTable", "h245.communicationModeTable", FT_UINT32, BASE_DEC, NULL, 0, "SET_SIZE_1_256_OF_CommunicationModeTableEntry", HFILL }}, { &hf_h245_communicationModeTable_item, { "CommunicationModeTableEntry", "h245.CommunicationModeTableEntry_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_terminalLabel, { "terminalLabel", "h245.terminalLabel_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_sessionDescription, { "sessionDescription", "h245.sessionDescription", FT_STRING, BASE_NONE, NULL, 0, "BMPString_SIZE_1_128", HFILL }}, { &hf_h245_entryDataType, { "dataType", "h245.dataType", FT_UINT32, BASE_DEC, VALS(h245_T_entryDataType_vals), 0, "T_entryDataType", HFILL }}, { &hf_h245_cm_mediaChannel, { "mediaChannel", "h245.mediaChannel", FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0, "Cm_mediaChannel", HFILL }}, { &hf_h245_cm_mediaControlChannel, { "mediaControlChannel", "h245.mediaControlChannel", FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0, "TransportAddress", HFILL }}, { &hf_h245_sessionDependency, { "sessionDependency", "h245.sessionDependency", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_255", HFILL }}, { &hf_h245_terminalListRequest, { "terminalListRequest", "h245.terminalListRequest_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_makeMeChair, { "makeMeChair", "h245.makeMeChair_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_cancelMakeMeChair, { "cancelMakeMeChair", "h245.cancelMakeMeChair_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_dropTerminal, { "dropTerminal", "h245.dropTerminal_element", FT_NONE, BASE_NONE, NULL, 0, "TerminalLabel", HFILL }}, { &hf_h245_requestTerminalID, { "requestTerminalID", "h245.requestTerminalID_element", FT_NONE, BASE_NONE, NULL, 0, "TerminalLabel", HFILL }}, { &hf_h245_enterH243Password, { "enterH243Password", "h245.enterH243Password_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_enterH243TerminalID, { "enterH243TerminalID", "h245.enterH243TerminalID_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_enterH243ConferenceID, { "enterH243ConferenceID", "h245.enterH243ConferenceID_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_enterExtensionAddress, { "enterExtensionAddress", "h245.enterExtensionAddress_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_requestChairTokenOwner, { "requestChairTokenOwner", "h245.requestChairTokenOwner_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_requestTerminalCertificate, { "requestTerminalCertificate", "h245.requestTerminalCertificate_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_certSelectionCriteria, { "certSelectionCriteria", "h245.certSelectionCriteria", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_sRandom, { "sRandom", "h245.sRandom", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_4294967295", HFILL }}, { &hf_h245_broadcastMyLogicalChannel, { "broadcastMyLogicalChannel", "h245.broadcastMyLogicalChannel", FT_UINT32, BASE_DEC, NULL, 0, "LogicalChannelNumber", HFILL }}, { &hf_h245_makeTerminalBroadcaster, { "makeTerminalBroadcaster", "h245.makeTerminalBroadcaster_element", FT_NONE, BASE_NONE, NULL, 0, "TerminalLabel", HFILL }}, { &hf_h245_sendThisSource, { "sendThisSource", "h245.sendThisSource_element", FT_NONE, BASE_NONE, NULL, 0, "TerminalLabel", HFILL }}, { &hf_h245_requestAllTerminalIDs, { "requestAllTerminalIDs", "h245.requestAllTerminalIDs_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_remoteMCRequest, { "remoteMCRequest", "h245.remoteMCRequest", FT_UINT32, BASE_DEC, VALS(h245_RemoteMCRequest_vals), 0, NULL, HFILL }}, { &hf_h245_CertSelectionCriteria_item, { "Criteria", "h245.Criteria_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_field, { "field", "h245.field", FT_OID, BASE_NONE, NULL, 0, "OBJECT_IDENTIFIER", HFILL }}, { &hf_h245_criteriaValue, { "value", "h245.criteriaValue", FT_BYTES, BASE_NONE, NULL, 0, "OCTET_STRING_SIZE_1_65535", HFILL }}, { &hf_h245_mcuNumber, { "mcuNumber", "h245.mcuNumber", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_terminalNumber, { "terminalNumber", "h245.terminalNumber", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_mCTerminalIDResponse, { "mCTerminalIDResponse", "h245.mCTerminalIDResponse_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_terminalID, { "terminalID", "h245.terminalID", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_terminalIDResponse, { "terminalIDResponse", "h245.terminalIDResponse_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_conferenceIDResponse, { "conferenceIDResponse", "h245.conferenceIDResponse_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_conferenceID, { "conferenceID", "h245.conferenceID", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_passwordResponse, { "passwordResponse", "h245.passwordResponse_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_password, { "password", "h245.password", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_terminalListResponse, { "terminalListResponse", "h245.terminalListResponse", FT_UINT32, BASE_DEC, NULL, 0, "SET_SIZE_1_256_OF_TerminalLabel", HFILL }}, { &hf_h245_terminalListResponse_item, { "TerminalLabel", "h245.TerminalLabel_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_videoCommandReject, { "videoCommandReject", "h245.videoCommandReject_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_terminalDropReject, { "terminalDropReject", "h245.terminalDropReject_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_makeMeChairResponse, { "makeMeChairResponse", "h245.makeMeChairResponse", FT_UINT32, BASE_DEC, VALS(h245_T_makeMeChairResponse_vals), 0, NULL, HFILL }}, { &hf_h245_grantedChairToken, { "grantedChairToken", "h245.grantedChairToken_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_deniedChairToken, { "deniedChairToken", "h245.deniedChairToken_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_extensionAddressResponse, { "extensionAddressResponse", "h245.extensionAddressResponse_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_extensionAddress, { "extensionAddress", "h245.extensionAddress", FT_BYTES, BASE_NONE, NULL, 0, "TerminalID", HFILL }}, { &hf_h245_chairTokenOwnerResponse, { "chairTokenOwnerResponse", "h245.chairTokenOwnerResponse_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_terminalCertificateResponse, { "terminalCertificateResponse", "h245.terminalCertificateResponse_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_certificateResponse, { "certificateResponse", "h245.certificateResponse", FT_BYTES, BASE_NONE, NULL, 0, "OCTET_STRING_SIZE_1_65535", HFILL }}, { &hf_h245_broadcastMyLogicalChannelResponse, { "broadcastMyLogicalChannelResponse", "h245.broadcastMyLogicalChannelResponse", FT_UINT32, BASE_DEC, VALS(h245_T_broadcastMyLogicalChannelResponse_vals), 0, NULL, HFILL }}, { &hf_h245_grantedBroadcastMyLogicalChannel, { "grantedBroadcastMyLogicalChannel", "h245.grantedBroadcastMyLogicalChannel_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_deniedBroadcastMyLogicalChannel, { "deniedBroadcastMyLogicalChannel", "h245.deniedBroadcastMyLogicalChannel_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_makeTerminalBroadcasterResponse, { "makeTerminalBroadcasterResponse", "h245.makeTerminalBroadcasterResponse", FT_UINT32, BASE_DEC, VALS(h245_T_makeTerminalBroadcasterResponse_vals), 0, NULL, HFILL }}, { &hf_h245_grantedMakeTerminalBroadcaster, { "grantedMakeTerminalBroadcaster", "h245.grantedMakeTerminalBroadcaster_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_deniedMakeTerminalBroadcaster, { "deniedMakeTerminalBroadcaster", "h245.deniedMakeTerminalBroadcaster_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_sendThisSourceResponse, { "sendThisSourceResponse", "h245.sendThisSourceResponse", FT_UINT32, BASE_DEC, VALS(h245_T_sendThisSourceResponse_vals), 0, NULL, HFILL }}, { &hf_h245_grantedSendThisSource, { "grantedSendThisSource", "h245.grantedSendThisSource_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_deniedSendThisSource, { "deniedSendThisSource", "h245.deniedSendThisSource_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_requestAllTerminalIDsResponse, { "requestAllTerminalIDsResponse", "h245.requestAllTerminalIDsResponse_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_remoteMCResponse, { "remoteMCResponse", "h245.remoteMCResponse", FT_UINT32, BASE_DEC, VALS(h245_RemoteMCResponse_vals), 0, NULL, HFILL }}, { &hf_h245_terminalInformation, { "terminalInformation", "h245.terminalInformation", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_OF_TerminalInformation", HFILL }}, { &hf_h245_terminalInformation_item, { "TerminalInformation", "h245.TerminalInformation_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_masterActivate, { "masterActivate", "h245.masterActivate_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_slaveActivate, { "slaveActivate", "h245.slaveActivate_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_deActivate, { "deActivate", "h245.deActivate_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_accept, { "accept", "h245.accept_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_reject, { "reject", "h245.reject", FT_UINT32, BASE_DEC, VALS(h245_T_reject_vals), 0, NULL, HFILL }}, { &hf_h245_functionNotSupportedFlag, { "functionNotSupported", "h245.functionNotSupported_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_callInformationReq, { "callInformation", "h245.callInformation_element", FT_NONE, BASE_NONE, NULL, 0, "CallInformationReq", HFILL }}, { &hf_h245_maxNumberOfAdditionalConnections, { "maxNumberOfAdditionalConnections", "h245.maxNumberOfAdditionalConnections", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_65535", HFILL }}, { &hf_h245_addConnectionReq, { "addConnection", "h245.addConnection_element", FT_NONE, BASE_NONE, NULL, 0, "AddConnectionReq", HFILL }}, { &hf_h245_dialingInformation, { "dialingInformation", "h245.dialingInformation", FT_UINT32, BASE_DEC, VALS(h245_DialingInformation_vals), 0, NULL, HFILL }}, { &hf_h245_removeConnectionReq, { "removeConnection", "h245.removeConnection_element", FT_NONE, BASE_NONE, NULL, 0, "RemoveConnectionReq", HFILL }}, { &hf_h245_connectionIdentifier, { "connectionIdentifier", "h245.connectionIdentifier_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_maximumHeaderIntervalReq, { "maximumHeaderInterval", "h245.maximumHeaderInterval_element", FT_NONE, BASE_NONE, NULL, 0, "MaximumHeaderIntervalReq", HFILL }}, { &hf_h245_requestType, { "requestType", "h245.requestType", FT_UINT32, BASE_DEC, VALS(h245_T_requestType_vals), 0, NULL, HFILL }}, { &hf_h245_currentIntervalInformation, { "currentIntervalInformation", "h245.currentIntervalInformation_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_requestedInterval, { "requestedInterval", "h245.requestedInterval", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_65535", HFILL }}, { &hf_h245_callInformationResp, { "callInformation", "h245.callInformation_element", FT_NONE, BASE_NONE, NULL, 0, "CallInformationResp", HFILL }}, { &hf_h245_callAssociationNumber, { "callAssociationNumber", "h245.callAssociationNumber", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_4294967295", HFILL }}, { &hf_h245_addConnectionResp, { "addConnection", "h245.addConnection_element", FT_NONE, BASE_NONE, NULL, 0, "AddConnectionResp", HFILL }}, { &hf_h245_responseCode, { "responseCode", "h245.responseCode", FT_UINT32, BASE_DEC, VALS(h245_T_responseCode_vals), 0, NULL, HFILL }}, { &hf_h245_accepted, { "accepted", "h245.accepted_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_rejected, { "rejected", "h245.rejected", FT_UINT32, BASE_DEC, VALS(h245_T_rejected_vals), 0, NULL, HFILL }}, { &hf_h245_connectionsNotAvailable, { "connectionsNotAvailable", "h245.connectionsNotAvailable_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_userRejected, { "userRejected", "h245.userRejected_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_removeConnectionResp, { "removeConnection", "h245.removeConnection_element", FT_NONE, BASE_NONE, NULL, 0, "RemoveConnectionResp", HFILL }}, { &hf_h245_maximumHeaderIntervalResp, { "maximumHeaderInterval", "h245.maximumHeaderInterval_element", FT_NONE, BASE_NONE, NULL, 0, "MaximumHeaderIntervalResp", HFILL }}, { &hf_h245_currentInterval, { "currentInterval", "h245.currentInterval", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_65535", HFILL }}, { &hf_h245_crcDesired, { "crcDesired", "h245.crcDesired_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_excessiveError, { "excessiveError", "h245.excessiveError_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_differential, { "differential", "h245.differential", FT_UINT32, BASE_DEC, NULL, 0, "SET_SIZE_1_65535_OF_DialingInformationNumber", HFILL }}, { &hf_h245_differential_item, { "DialingInformationNumber", "h245.DialingInformationNumber_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_infoNotAvailable, { "infoNotAvailable", "h245.infoNotAvailable", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_65535", HFILL }}, { &hf_h245_din_networkAddress, { "networkAddress", "h245.din_networkAddress", FT_STRING, BASE_NONE, NULL, 0, "NumericString_SIZE_0_40", HFILL }}, { &hf_h245_subAddress, { "subAddress", "h245.subAddress", FT_STRING, BASE_NONE, NULL, 0, "IA5String_SIZE_1_40", HFILL }}, { &hf_h245_networkType, { "networkType", "h245.networkType", FT_UINT32, BASE_DEC, NULL, 0, "SET_SIZE_1_255_OF_DialingInformationNetworkType", HFILL }}, { &hf_h245_networkType_item, { "DialingInformationNetworkType", "h245.DialingInformationNetworkType", FT_UINT32, BASE_DEC, VALS(h245_DialingInformationNetworkType_vals), 0, NULL, HFILL }}, { &hf_h245_n_isdn, { "n-isdn", "h245.n_isdn_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_gstn, { "gstn", "h245.gstn_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_mobile, { "mobile", "h245.mobile_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_channelTag, { "channelTag", "h245.channelTag", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_4294967295", HFILL }}, { &hf_h245_sequenceNum, { "sequenceNumber", "h245.sequenceNumber", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_4294967295", HFILL }}, { &hf_h245_maximumBitRate, { "maximumBitRate", "h245.maximumBitRate", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_rejectReason, { "rejectReason", "h245.rejectReason", FT_UINT32, BASE_DEC, VALS(h245_LogicalChannelRateRejectReason_vals), 0, "LogicalChannelRateRejectReason", HFILL }}, { &hf_h245_currentMaximumBitRate, { "currentMaximumBitRate", "h245.currentMaximumBitRate", FT_UINT32, BASE_DEC, NULL, 0, "MaximumBitRate", HFILL }}, { &hf_h245_undefinedReason, { "undefinedReason", "h245.undefinedReason_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_insufficientResources, { "insufficientResources", "h245.insufficientResources_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_specificRequest, { "specificRequest", "h245.specificRequest_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_multiplexCapabilityBool, { "multiplexCapability", "h245.multiplexCapabilityBool", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_capabilityTableEntryNumbers, { "capabilityTableEntryNumbers", "h245.capabilityTableEntryNumbers", FT_UINT32, BASE_DEC, NULL, 0, "SET_SIZE_1_65535_OF_CapabilityTableEntryNumber", HFILL }}, { &hf_h245_capabilityTableEntryNumbers_item, { "CapabilityTableEntryNumber", "h245.CapabilityTableEntryNumber", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_capabilityDescriptorNumbers, { "capabilityDescriptorNumbers", "h245.capabilityDescriptorNumbers", FT_UINT32, BASE_DEC, NULL, 0, "SET_SIZE_1_256_OF_CapabilityDescriptorNumber", HFILL }}, { &hf_h245_capabilityDescriptorNumbers_item, { "CapabilityDescriptorNumber", "h245.CapabilityDescriptorNumber", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_h245_genericRequestFlag, { "genericRequest", "h245.genericRequest_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_encryptionSE, { "encryptionSE", "h245.encryptionSE", FT_BYTES, BASE_NONE, NULL, 0, "OCTET_STRING", HFILL }}, { &hf_h245_encryptionIVRequest, { "encryptionIVRequest", "h245.encryptionIVRequest_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_encryptionAlgorithmID, { "encryptionAlgorithmID", "h245.encryptionAlgorithmID_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_h233AlgorithmIdentifier, { "h233AlgorithmIdentifier", "h245.h233AlgorithmIdentifier", FT_UINT32, BASE_DEC, NULL, 0, "SequenceNumber", HFILL }}, { &hf_h245_associatedAlgorithm, { "associatedAlgorithm", "h245.associatedAlgorithm_element", FT_NONE, BASE_NONE, NULL, 0, "NonStandardParameter", HFILL }}, { &hf_h245_wholeMultiplex, { "wholeMultiplex", "h245.wholeMultiplex_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_scope, { "scope", "h245.scope", FT_UINT32, BASE_DEC, VALS(h245_Scope_vals), 0, NULL, HFILL }}, { &hf_h245_res_maximumBitRate, { "maximumBitRate", "h245.maximumBitRate", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_16777215", HFILL }}, { &hf_h245_noRestriction, { "noRestriction", "h245.noRestriction_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_restriction, { "restriction", "h245.restriction", FT_UINT32, BASE_DEC, VALS(h245_Restriction_vals), 0, NULL, HFILL }}, { &hf_h245_disconnect, { "disconnect", "h245.disconnect_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_gstnOptions, { "gstnOptions", "h245.gstnOptions", FT_UINT32, BASE_DEC, VALS(h245_T_gstnOptions_vals), 0, NULL, HFILL }}, { &hf_h245_telephonyMode, { "telephonyMode", "h245.telephonyMode_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_v8bis, { "v8bis", "h245.v8bis_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_v34DSVD, { "v34DSVD", "h245.v34DSVD_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_v34DuplexFAX, { "v34DuplexFAX", "h245.v34DuplexFAX_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_v34H324, { "v34H324", "h245.v34H324_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_isdnOptions, { "isdnOptions", "h245.isdnOptions", FT_UINT32, BASE_DEC, VALS(h245_T_isdnOptions_vals), 0, NULL, HFILL }}, { &hf_h245_v140, { "v140", "h245.v140_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_terminalOnHold, { "terminalOnHold", "h245.terminalOnHold_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_cancelBroadcastMyLogicalChannel, { "cancelBroadcastMyLogicalChannel", "h245.cancelBroadcastMyLogicalChannel", FT_UINT32, BASE_DEC, NULL, 0, "LogicalChannelNumber", HFILL }}, { &hf_h245_cancelMakeTerminalBroadcaster, { "cancelMakeTerminalBroadcaster", "h245.cancelMakeTerminalBroadcaster_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_cancelSendThisSource, { "cancelSendThisSource", "h245.cancelSendThisSource_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_dropConference, { "dropConference", "h245.dropConference_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_substituteConferenceIDCommand, { "substituteConferenceIDCommand", "h245.substituteConferenceIDCommand_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_conferenceIdentifier, { "conferenceIdentifier", "h245.conferenceIdentifier", FT_BYTES, BASE_NONE, NULL, 0, "OCTET_STRING_SIZE_16", HFILL }}, { &hf_h245_masterToSlave, { "masterToSlave", "h245.masterToSlave_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_slaveToMaster, { "slaveToMaster", "h245.slaveToMaster_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_mc_type, { "type", "h245.type", FT_UINT32, BASE_DEC, VALS(h245_Mc_type_vals), 0, "Mc_type", HFILL }}, { &hf_h245_equaliseDelay, { "equaliseDelay", "h245.equaliseDelay_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_zeroDelay, { "zeroDelay", "h245.zeroDelay_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_multipointModeCommand, { "multipointModeCommand", "h245.multipointModeCommand_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_cancelMultipointModeCommand, { "cancelMultipointModeCommand", "h245.cancelMultipointModeCommand_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_videoFreezePicture, { "videoFreezePicture", "h245.videoFreezePicture_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_videoFastUpdatePicture, { "videoFastUpdatePicture", "h245.videoFastUpdatePicture_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_videoFastUpdateGOB, { "videoFastUpdateGOB", "h245.videoFastUpdateGOB_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_firstGOB, { "firstGOB", "h245.firstGOB", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_17", HFILL }}, { &hf_h245_numberOfGOBs, { "numberOfGOBs", "h245.numberOfGOBs", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_18", HFILL }}, { &hf_h245_videoTemporalSpatialTradeOff, { "videoTemporalSpatialTradeOff", "h245.videoTemporalSpatialTradeOff", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_31", HFILL }}, { &hf_h245_videoSendSyncEveryGOB, { "videoSendSyncEveryGOB", "h245.videoSendSyncEveryGOB_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_videoSendSyncEveryGOBCancel, { "videoSendSyncEveryGOBCancel", "h245.videoSendSyncEveryGOBCancel_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_videoFastUpdateMB, { "videoFastUpdateMB", "h245.videoFastUpdateMB_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_firstGOB_0_255, { "firstGOB", "h245.firstGOB", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_h245_firstMB_1_8192, { "firstMB", "h245.firstMB", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_8192", HFILL }}, { &hf_h245_numberOfMBs, { "numberOfMBs", "h245.numberOfMBs", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_8192", HFILL }}, { &hf_h245_maxH223MUXPDUsize, { "maxH223MUXPDUsize", "h245.maxH223MUXPDUsize", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_65535", HFILL }}, { &hf_h245_encryptionUpdate, { "encryptionUpdate", "h245.encryptionUpdate_element", FT_NONE, BASE_NONE, NULL, 0, "EncryptionSync", HFILL }}, { &hf_h245_encryptionUpdateRequest, { "encryptionUpdateRequest", "h245.encryptionUpdateRequest_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_switchReceiveMediaOff, { "switchReceiveMediaOff", "h245.switchReceiveMediaOff_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_switchReceiveMediaOn, { "switchReceiveMediaOn", "h245.switchReceiveMediaOn_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_progressiveRefinementStart, { "progressiveRefinementStart", "h245.progressiveRefinementStart_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_repeatCount, { "repeatCount", "h245.repeatCount", FT_UINT32, BASE_DEC, VALS(h245_T_repeatCount_vals), 0, NULL, HFILL }}, { &hf_h245_doOneProgression, { "doOneProgression", "h245.doOneProgression_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_doContinuousProgressions, { "doContinuousProgressions", "h245.doContinuousProgressions_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_doOneIndependentProgression, { "doOneIndependentProgression", "h245.doOneIndependentProgression_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_doContinuousIndependentProgressions, { "doContinuousIndependentProgressions", "h245.doContinuousIndependentProgressions_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_progressiveRefinementAbortOne, { "progressiveRefinementAbortOne", "h245.progressiveRefinementAbortOne_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_progressiveRefinementAbortContinuous, { "progressiveRefinementAbortContinuous", "h245.progressiveRefinementAbortContinuous_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_videoBadMBs, { "videoBadMBs", "h245.videoBadMBs_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_firstMB, { "firstMB", "h245.firstMB", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_9216", HFILL }}, { &hf_h245_numberOfMBs1_1_9216, { "numberOfMBs", "h245.numberOfMBs", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_9216", HFILL }}, { &hf_h245_temporalReference, { "temporalReference", "h245.temporalReference", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_1023", HFILL }}, { &hf_h245_lostPicture, { "lostPicture", "h245.lostPicture", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_OF_PictureReference", HFILL }}, { &hf_h245_lostPicture_item, { "PictureReference", "h245.PictureReference", FT_UINT32, BASE_DEC, VALS(h245_PictureReference_vals), 0, NULL, HFILL }}, { &hf_h245_lostPartialPicture, { "lostPartialPicture", "h245.lostPartialPicture_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_pictureReference, { "pictureReference", "h245.pictureReference", FT_UINT32, BASE_DEC, VALS(h245_PictureReference_vals), 0, NULL, HFILL }}, { &hf_h245_recoveryReferencePicture, { "recoveryReferencePicture", "h245.recoveryReferencePicture", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_OF_PictureReference", HFILL }}, { &hf_h245_recoveryReferencePicture_item, { "PictureReference", "h245.PictureReference", FT_UINT32, BASE_DEC, VALS(h245_PictureReference_vals), 0, NULL, HFILL }}, { &hf_h245_encryptionUpdateCommand, { "encryptionUpdateCommand", "h245.encryptionUpdateCommand_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_encryptionUpdateAck, { "encryptionUpdateAck", "h245.encryptionUpdateAck_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_direction, { "direction", "h245.direction", FT_UINT32, BASE_DEC, VALS(h245_EncryptionUpdateDirection_vals), 0, "EncryptionUpdateDirection", HFILL }}, { &hf_h245_secureChannel, { "secureChannel", "h245.secureChannel", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_sharedSecret, { "sharedSecret", "h245.sharedSecret", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_certProtectedKey, { "certProtectedKey", "h245.certProtectedKey", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_keyProtectionMethod, { "keyProtectionMethod", "h245.keyProtectionMethod_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_pictureNumber, { "pictureNumber", "h245.pictureNumber", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_1023", HFILL }}, { &hf_h245_longTermPictureIndex, { "longTermPictureIndex", "h245.longTermPictureIndex", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_h245_h223ModeChange, { "h223ModeChange", "h245.h223ModeChange", FT_UINT32, BASE_DEC, VALS(h245_T_h223ModeChange_vals), 0, NULL, HFILL }}, { &hf_h245_toLevel0, { "toLevel0", "h245.toLevel0_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_toLevel1, { "toLevel1", "h245.toLevel1_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_toLevel2, { "toLevel2", "h245.toLevel2_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_toLevel2withOptionalHeader, { "toLevel2withOptionalHeader", "h245.toLevel2withOptionalHeader_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_h223AnnexADoubleFlag, { "h223AnnexADoubleFlag", "h245.h223AnnexADoubleFlag", FT_UINT32, BASE_DEC, VALS(h245_T_h223AnnexADoubleFlag_vals), 0, NULL, HFILL }}, { &hf_h245_start, { "start", "h245.start_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_stop, { "stop", "h245.stop_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_bitRate, { "bitRate", "h245.bitRate", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_65535", HFILL }}, { &hf_h245_bitRateLockedToPCRClock, { "bitRateLockedToPCRClock", "h245.bitRateLockedToPCRClock", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_bitRateLockedToNetworkClock, { "bitRateLockedToNetworkClock", "h245.bitRateLockedToNetworkClock", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_h245_cmd_aal, { "aal", "h245.aal", FT_UINT32, BASE_DEC, VALS(h245_Cmd_aal_vals), 0, "Cmd_aal", HFILL }}, { &hf_h245_cmd_aal1, { "aal1", "h245.aal1_element", FT_NONE, BASE_NONE, NULL, 0, "Cmd_aal1", HFILL }}, { &hf_h245_cmd_clockRecovery, { "clockRecovery", "h245.clockRecovery", FT_UINT32, BASE_DEC, VALS(h245_Cmd_clockRecovery_vals), 0, "Cmd_clockRecovery", HFILL }}, { &hf_h245_nullClockRecoveryflag, { "nullClockRecovery", "h245.nullClockRecovery_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_srtsClockRecovery, { "srtsClockRecovery", "h245.srtsClockRecovery_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_adaptiveClockRecoveryFlag, { "adaptiveClockRecovery", "h245.adaptiveClockRecovery_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_cmd_errorCorrection, { "errorCorrection", "h245.errorCorrection", FT_UINT32, BASE_DEC, VALS(h245_Cmd_errorCorrection_vals), 0, "Cmd_errorCorrection", HFILL }}, { &hf_h245_nullErrorCorrectionFlag, { "nullErrorCorrection", "h245.nullErrorCorrection_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_longInterleaverFlag, { "longInterleaver", "h245.longInterleaver_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_shortInterleaverFlag, { "shortInterleaver", "h245.shortInterleaver_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_errorCorrectionOnlyFlag, { "errorCorrectionOnly", "h245.errorCorrectionOnly_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_cmd_aal5, { "aal5", "h245.aal5_element", FT_NONE, BASE_NONE, NULL, 0, "Cmd_aal5", HFILL }}, { &hf_h245_cmd_multiplex, { "multiplex", "h245.multiplex", FT_UINT32, BASE_DEC, VALS(h245_Cmd_multiplex_vals), 0, "Cmd_multiplex", HFILL }}, { &hf_h245_noMultiplex, { "noMultiplex", "h245.noMultiplex_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_transportStream, { "transportStream", "h245.transportStream_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_programStreamFlag, { "programStream", "h245.programStream_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_cmd_reverseParameters, { "reverseParameters", "h245.reverseParameters_element", FT_NONE, BASE_NONE, NULL, 0, "Cmd_reverseParameters", HFILL }}, { &hf_h245_cmdr_multiplex, { "multiplex", "h245.multiplex", FT_UINT32, BASE_DEC, VALS(h245_CmdR_multiplex_vals), 0, "CmdR_multiplex", HFILL }}, { &hf_h245_sampleSize, { "sampleSize", "h245.sampleSize", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_255", HFILL }}, { &hf_h245_samplesPerFrame, { "samplesPerFrame", "h245.samplesPerFrame", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_255", HFILL }}, { &hf_h245_status, { "status", "h245.status", FT_UINT32, BASE_DEC, VALS(h245_T_status_vals), 0, NULL, HFILL }}, { &hf_h245_synchronized, { "synchronized", "h245.synchronized_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_reconfiguration, { "reconfiguration", "h245.reconfiguration_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_fns_cause, { "cause", "h245.cause", FT_UINT32, BASE_DEC, VALS(h245_FunctionNotSupportedCause_vals), 0, "FunctionNotSupportedCause", HFILL }}, { &hf_h245_syntaxError, { "syntaxError", "h245.syntaxError_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_semanticError, { "semanticError", "h245.semanticError_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_unknownFunction, { "unknownFunction", "h245.unknownFunction_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_returnedFunction, { "returnedFunction", "h245.returnedFunction", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_sbeNumber, { "sbeNumber", "h245.sbeNumber", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_9", HFILL }}, { &hf_h245_terminalNumberAssign, { "terminalNumberAssign", "h245.terminalNumberAssign_element", FT_NONE, BASE_NONE, NULL, 0, "TerminalLabel", HFILL }}, { &hf_h245_terminalJoinedConference, { "terminalJoinedConference", "h245.terminalJoinedConference_element", FT_NONE, BASE_NONE, NULL, 0, "TerminalLabel", HFILL }}, { &hf_h245_terminalLeftConference, { "terminalLeftConference", "h245.terminalLeftConference_element", FT_NONE, BASE_NONE, NULL, 0, "TerminalLabel", HFILL }}, { &hf_h245_seenByAtLeastOneOther, { "seenByAtLeastOneOther", "h245.seenByAtLeastOneOther_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_cancelSeenByAtLeastOneOther, { "cancelSeenByAtLeastOneOther", "h245.cancelSeenByAtLeastOneOther_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_seenByAll, { "seenByAll", "h245.seenByAll_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_cancelSeenByAll, { "cancelSeenByAll", "h245.cancelSeenByAll_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_terminalYouAreSeeing, { "terminalYouAreSeeing", "h245.terminalYouAreSeeing_element", FT_NONE, BASE_NONE, NULL, 0, "TerminalLabel", HFILL }}, { &hf_h245_requestForFloor, { "requestForFloor", "h245.requestForFloor_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_withdrawChairToken, { "withdrawChairToken", "h245.withdrawChairToken_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_floorRequested, { "floorRequested", "h245.floorRequested_element", FT_NONE, BASE_NONE, NULL, 0, "TerminalLabel", HFILL }}, { &hf_h245_terminalYouAreSeeingInSubPictureNumber, { "terminalYouAreSeeingInSubPictureNumber", "h245.terminalYouAreSeeingInSubPictureNumber_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_videoIndicateCompose, { "videoIndicateCompose", "h245.videoIndicateCompose_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_masterMCU, { "masterMCU", "h245.masterMCU_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_cancelMasterMCU, { "cancelMasterMCU", "h245.cancelMasterMCU_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_subPictureNumber, { "subPictureNumber", "h245.subPictureNumber", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_h245_compositionNumber, { "compositionNumber", "h245.compositionNumber", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_h245_mi_type, { "type", "h245.type", FT_UINT32, BASE_DEC, VALS(h245_Mi_type_vals), 0, "Mi_type", HFILL }}, { &hf_h245_logicalChannelActive, { "logicalChannelActive", "h245.logicalChannelActive_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_logicalChannelInactive, { "logicalChannelInactive", "h245.logicalChannelInactive_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_multipointConference, { "multipointConference", "h245.multipointConference_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_cancelMultipointConference, { "cancelMultipointConference", "h245.cancelMultipointConference_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_multipointZeroComm, { "multipointZeroComm", "h245.multipointZeroComm_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_cancelMultipointZeroComm, { "cancelMultipointZeroComm", "h245.cancelMultipointZeroComm_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_multipointSecondaryStatus, { "multipointSecondaryStatus", "h245.multipointSecondaryStatus_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_cancelMultipointSecondaryStatus, { "cancelMultipointSecondaryStatus", "h245.cancelMultipointSecondaryStatus_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_videoIndicateReadyToActivate, { "videoIndicateReadyToActivate", "h245.videoIndicateReadyToActivate_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_videoNotDecodedMBs, { "videoNotDecodedMBs", "h245.videoNotDecodedMBs_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_temporalReference_0_255, { "temporalReference", "h245.temporalReference", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_h245_estimatedReceivedJitterMantissa, { "estimatedReceivedJitterMantissa", "h245.estimatedReceivedJitterMantissa", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_3", HFILL }}, { &hf_h245_estimatedReceivedJitterExponent, { "estimatedReceivedJitterExponent", "h245.estimatedReceivedJitterExponent", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_7", HFILL }}, { &hf_h245_skippedFrameCount, { "skippedFrameCount", "h245.skippedFrameCount", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_15", HFILL }}, { &hf_h245_additionalDecoderBuffer, { "additionalDecoderBuffer", "h245.additionalDecoderBuffer", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_262143", HFILL }}, { &hf_h245_logicalChannelNumber1, { "logicalChannelNumber1", "h245.logicalChannelNumber1", FT_UINT32, BASE_DEC, NULL, 0, "LogicalChannelNumber", HFILL }}, { &hf_h245_logicalChannelNumber2, { "logicalChannelNumber2", "h245.logicalChannelNumber2", FT_UINT32, BASE_DEC, NULL, 0, "LogicalChannelNumber", HFILL }}, { &hf_h245_skew, { "skew", "h245.skew", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_4095", HFILL }}, { &hf_h245_maximumSkew, { "maximumSkew", "h245.maximumSkew", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_4095", HFILL }}, { &hf_h245_signalAddress, { "signalAddress", "h245.signalAddress", FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0, "TransportAddress", HFILL }}, { &hf_h245_vendor, { "vendor", "h245.vendor", FT_UINT32, BASE_DEC, VALS(h245_NonStandardIdentifier_vals), 0, "NonStandardIdentifier", HFILL }}, { &hf_h245_productNumber, { "productNumber", "h245.productNumber", FT_STRING, BASE_NONE, NULL, 0, "OCTET_STRING_SIZE_1_256", HFILL }}, { &hf_h245_versionNumber, { "versionNumber", "h245.versionNumber", FT_STRING, BASE_NONE, NULL, 0, "OCTET_STRING_SIZE_1_256", HFILL }}, { &hf_h245_ind_aal, { "aal", "h245.aal", FT_UINT32, BASE_DEC, VALS(h245_Ind_aal_vals), 0, "Ind_aal", HFILL }}, { &hf_h245_ind_aal1, { "aal1", "h245.aal1_element", FT_NONE, BASE_NONE, NULL, 0, "Ind_aal1", HFILL }}, { &hf_h245_ind_clockRecovery, { "clockRecovery", "h245.clockRecovery", FT_UINT32, BASE_DEC, VALS(h245_Ind_clockRecovery_vals), 0, "Ind_clockRecovery", HFILL }}, { &hf_h245_ind_errorCorrection, { "errorCorrection", "h245.errorCorrection", FT_UINT32, BASE_DEC, VALS(h245_Ind_errorCorrection_vals), 0, "Ind_errorCorrection", HFILL }}, { &hf_h245_ind_aal5, { "aal5", "h245.aal5_element", FT_NONE, BASE_NONE, NULL, 0, "Ind_aal5", HFILL }}, { &hf_h245_ind_multiplex, { "multiplex", "h245.multiplex", FT_UINT32, BASE_DEC, VALS(h245_Ind_multiplex_vals), 0, "Ind_multiplex", HFILL }}, { &hf_h245_ind_reverseParameters, { "reverseParameters", "h245.reverseParameters_element", FT_NONE, BASE_NONE, NULL, 0, "Ind_reverseParameters", HFILL }}, { &hf_h245_indr_multiplex, { "multiplex", "h245.multiplex", FT_UINT32, BASE_DEC, VALS(h245_IndR_multiplex_vals), 0, "IndR_multiplex", HFILL }}, { &hf_h245_iv8, { "iv8", "h245.iv8", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_iv16, { "iv16", "h245.iv16", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_iv, { "iv", "h245.iv", FT_BYTES, BASE_NONE, NULL, 0, "OCTET_STRING", HFILL }}, { &hf_h245_alphanumeric, { "alphanumeric", "h245.alphanumeric", FT_STRING, BASE_NONE, NULL, 0, "GeneralString", HFILL }}, { &hf_h245_userInputSupportIndication, { "userInputSupportIndication", "h245.userInputSupportIndication", FT_UINT32, BASE_DEC, VALS(h245_T_userInputSupportIndication_vals), 0, NULL, HFILL }}, { &hf_h245_signal, { "signal", "h245.signal_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_signalType, { "signalType", "h245.signalType", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_duration, { "duration", "h245.duration", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_65535", HFILL }}, { &hf_h245_rtp, { "rtp", "h245.rtp_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_timestamp, { "timestamp", "h245.timestamp", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_4294967295", HFILL }}, { &hf_h245_expirationTime, { "expirationTime", "h245.expirationTime", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_4294967295", HFILL }}, { &hf_h245_rtpPayloadIndication, { "rtpPayloadIndication", "h245.rtpPayloadIndication_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_paramS, { "paramS", "h245.paramS_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_encryptedSignalType, { "encryptedSignalType", "h245.encryptedSignalType", FT_BYTES, BASE_NONE, NULL, 0, "OCTET_STRING_SIZE_1", HFILL }}, { &hf_h245_algorithmOID, { "algorithmOID", "h245.algorithmOID", FT_OID, BASE_NONE, NULL, 0, "OBJECT_IDENTIFIER", HFILL }}, { &hf_h245_signalUpdate, { "signalUpdate", "h245.signalUpdate_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_si_rtp, { "rtp", "h245.rtp_element", FT_NONE, BASE_NONE, NULL, 0, "Si_rtp", HFILL }}, { &hf_h245_extendedAlphanumeric, { "extendedAlphanumeric", "h245.extendedAlphanumeric_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_h245_encrypted, { "encrypted", "h245.encrypted", FT_BYTES, BASE_NONE, NULL, 0, "OCTET_STRING", HFILL }}, { &hf_h245_encryptedAlphanumeric, { "encryptedAlphanumeric", "h245.encryptedAlphanumeric_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, }; /* List of subtrees */ static int *ett[] = { &ett_h245, &ett_h245_returnedFunction, &ett_h245_MultimediaSystemControlMessage, &ett_h245_RequestMessage, &ett_h245_ResponseMessage, &ett_h245_CommandMessage, &ett_h245_IndicationMessage, &ett_h245_GenericMessage, &ett_h245_T_messageContent, &ett_h245_NonStandardMessage, &ett_h245_NonStandardParameter, &ett_h245_NonStandardIdentifier, &ett_h245_H221NonStandardID, &ett_h245_MasterSlaveDetermination, &ett_h245_MasterSlaveDeterminationAck, &ett_h245_T_decision, &ett_h245_MasterSlaveDeterminationReject, &ett_h245_MasterSlaveDeterminationRejectCause, &ett_h245_MasterSlaveDeterminationRelease, &ett_h245_TerminalCapabilitySet, &ett_h245_SET_SIZE_1_256_OF_CapabilityTableEntry, &ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptor, &ett_h245_SEQUENCE_OF_GenericInformation, &ett_h245_CapabilityTableEntry, &ett_h245_CapabilityDescriptor, &ett_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet, &ett_h245_AlternativeCapabilitySet, &ett_h245_TerminalCapabilitySetAck, &ett_h245_TerminalCapabilitySetReject, &ett_h245_TerminalCapabilitySetRejectCause, &ett_h245_T_tableEntryCapacityExceeded, &ett_h245_TerminalCapabilitySetRelease, &ett_h245_Capability, &ett_h245_T_h233EncryptionReceiveCapability, &ett_h245_H235SecurityCapability, &ett_h245_MultiplexCapability, &ett_h245_H222Capability, &ett_h245_SET_OF_VCCapability, &ett_h245_VCCapability, &ett_h245_T_aal1, &ett_h245_T_aal5, &ett_h245_T_availableBitRates, &ett_h245_Avb_type, &ett_h245_T_rangeOfBitRates, &ett_h245_T_aal1ViaGateway, &ett_h245_SET_SIZE_1_256_OF_Q2931Address, &ett_h245_H223Capability, &ett_h245_T_h223MultiplexTableCapability, &ett_h245_T_enhanced, &ett_h245_T_mobileOperationTransmitCapability, &ett_h245_T_mobileMultilinkFrameCapability, &ett_h245_H223AnnexCCapability, &ett_h245_V76Capability, &ett_h245_V75Capability, &ett_h245_H2250Capability, &ett_h245_T_mcCapability, &ett_h245_SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability, &ett_h245_MediaPacketizationCapability, &ett_h245_SEQUENCE_SIZE_1_256_OF_RTPPayloadType, &ett_h245_RSVPParameters, &ett_h245_QOSMode, &ett_h245_ATMParameters, &ett_h245_ServicePriorityValue, &ett_h245_ServicePriority, &ett_h245_AuthorizationParameters, &ett_h245_QOSType, &ett_h245_QOSClass, &ett_h245_QOSDescriptor, &ett_h245_GenericTransportParameters, &ett_h245_QOSCapability, &ett_h245_MediaTransportType, &ett_h245_T_atm_AAL5_compressed, &ett_h245_MediaChannelCapability, &ett_h245_TransportCapability, &ett_h245_SEQUENCE_SIZE_1_256_OF_QOSCapability, &ett_h245_SEQUENCE_SIZE_1_256_OF_MediaChannelCapability, &ett_h245_RedundancyEncodingCapability, &ett_h245_SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber, &ett_h245_RedundancyEncodingMethod, &ett_h245_RTPH263VideoRedundancyEncoding, &ett_h245_T_frameToThreadMapping, &ett_h245_SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping, &ett_h245_T_containedThreads, &ett_h245_RTPH263VideoRedundancyFrameMapping, &ett_h245_T_frameSequence, &ett_h245_MultipointCapability, &ett_h245_SEQUENCE_OF_MediaDistributionCapability, &ett_h245_MediaDistributionCapability, &ett_h245_SEQUENCE_OF_DataApplicationCapability, &ett_h245_VideoCapability, &ett_h245_ExtendedVideoCapability, &ett_h245_SEQUENCE_OF_VideoCapability, &ett_h245_SEQUENCE_OF_GenericCapability, &ett_h245_H261VideoCapability, &ett_h245_H262VideoCapability, &ett_h245_H263VideoCapability, &ett_h245_EnhancementLayerInfo, &ett_h245_SET_SIZE_1_14_OF_EnhancementOptions, &ett_h245_SET_SIZE_1_14_OF_BEnhancementParameters, &ett_h245_BEnhancementParameters, &ett_h245_EnhancementOptions, &ett_h245_H263Options, &ett_h245_SET_SIZE_1_16_OF_CustomPictureClockFrequency, &ett_h245_SET_SIZE_1_16_OF_CustomPictureFormat, &ett_h245_SET_SIZE_1_16_OF_H263VideoModeCombos, &ett_h245_TransparencyParameters, &ett_h245_RefPictureSelection, &ett_h245_T_additionalPictureMemory, &ett_h245_T_videoBackChannelSend, &ett_h245_T_enhancedReferencePicSelect, &ett_h245_T_subPictureRemovalParameters, &ett_h245_CustomPictureClockFrequency, &ett_h245_CustomPictureFormat, &ett_h245_T_mPI, &ett_h245_T_customPCF, &ett_h245_T_customPCF_item, &ett_h245_T_pixelAspectInformation, &ett_h245_T_pixelAspectCode, &ett_h245_T_extendedPAR, &ett_h245_T_extendedPAR_item, &ett_h245_H263VideoModeCombos, &ett_h245_SET_SIZE_1_16_OF_H263ModeComboFlags, &ett_h245_H263ModeComboFlags, &ett_h245_H263Version3Options, &ett_h245_IS11172VideoCapability, &ett_h245_AudioCapability, &ett_h245_T_g7231, &ett_h245_G729Extensions, &ett_h245_G7231AnnexCCapability, &ett_h245_G723AnnexCAudioMode, &ett_h245_IS11172AudioCapability, &ett_h245_IS13818AudioCapability, &ett_h245_GSMAudioCapability, &ett_h245_VBDCapability, &ett_h245_DataApplicationCapability, &ett_h245_Application, &ett_h245_T_t84, &ett_h245_Nlpid, &ett_h245_T_t38fax, &ett_h245_DataProtocolCapability, &ett_h245_T_v76wCompression, &ett_h245_CompressionType, &ett_h245_V42bis, &ett_h245_T84Profile, &ett_h245_T_t84Restricted, &ett_h245_T38FaxProfile, &ett_h245_T38FaxRateManagement, &ett_h245_T38FaxUdpOptions, &ett_h245_T_t38FaxUdpEC, &ett_h245_T38FaxTcpOptions, &ett_h245_EncryptionAuthenticationAndIntegrity, &ett_h245_EncryptionCapability, &ett_h245_MediaEncryptionAlgorithm, &ett_h245_AuthenticationCapability, &ett_h245_IntegrityCapability, &ett_h245_UserInputCapability, &ett_h245_SEQUENCE_SIZE_1_16_OF_NonStandardParameter, &ett_h245_ConferenceCapability, &ett_h245_SEQUENCE_OF_NonStandardParameter, &ett_h245_GenericCapability, &ett_h245_T_collapsing, &ett_h245_T_nonCollapsing, &ett_h245_CapabilityIdentifier, &ett_h245_GenericParameter, &ett_h245_SEQUENCE_OF_ParameterIdentifier, &ett_h245_ParameterIdentifier, &ett_h245_ParameterValue, &ett_h245_SEQUENCE_OF_GenericParameter, &ett_h245_MultiplexedStreamCapability, &ett_h245_MultiplexFormat, &ett_h245_AudioTelephonyEventCapability, &ett_h245_AudioToneCapability, &ett_h245_NoPTAudioTelephonyEventCapability, &ett_h245_NoPTAudioToneCapability, &ett_h245_MultiplePayloadStreamCapability, &ett_h245_DepFECCapability, &ett_h245_FECC_rfc2733, &ett_h245_T_separateStreamBool, &ett_h245_FECCapability, &ett_h245_Rfc2733Format, &ett_h245_OpenLogicalChannel, &ett_h245_T_forwardLogicalChannelParameters, &ett_h245_OLC_forw_multiplexParameters, &ett_h245_OLC_reverseLogicalChannelParameters, &ett_h245_OLC_rev_multiplexParameters, &ett_h245_NetworkAccessParameters, &ett_h245_T_distribution, &ett_h245_T_networkAddress, &ett_h245_T_t120SetupProcedure, &ett_h245_Q2931Address, &ett_h245_T_address, &ett_h245_V75Parameters, &ett_h245_DataType, &ett_h245_H235Media, &ett_h245_T_mediaType, &ett_h245_MultiplexedStreamParameter, &ett_h245_H222LogicalChannelParameters, &ett_h245_H223LogicalChannelParameters, &ett_h245_T_adaptationLayerType, &ett_h245_Al3, &ett_h245_H223AL1MParameters, &ett_h245_T_transferMode, &ett_h245_AL1HeaderFEC, &ett_h245_AL1CrcLength, &ett_h245_ArqType, &ett_h245_H223AL2MParameters, &ett_h245_AL2HeaderFEC, &ett_h245_H223AL3MParameters, &ett_h245_T_headerFormat, &ett_h245_AL3CrcLength, &ett_h245_H223AnnexCArqParameters, &ett_h245_T_numberOfRetransmissions, &ett_h245_V76LogicalChannelParameters, &ett_h245_T_suspendResume, &ett_h245_V76LCP_mode, &ett_h245_T_eRM, &ett_h245_T_recovery, &ett_h245_V76HDLCParameters, &ett_h245_CRCLength, &ett_h245_H2250LogicalChannelParameters, &ett_h245_T_mediaPacketization, &ett_h245_RTPPayloadType, &ett_h245_T_payloadDescriptor, &ett_h245_RedundancyEncoding, &ett_h245_T_rtpRedundancyEncoding, &ett_h245_SEQUENCE_OF_RedundancyEncodingElement, &ett_h245_RedundancyEncodingElement, &ett_h245_MultiplePayloadStream, &ett_h245_SEQUENCE_OF_MultiplePayloadStreamElement, &ett_h245_MultiplePayloadStreamElement, &ett_h245_DepFECData, &ett_h245_RFC2733Data, &ett_h245_FECdata_mode, &ett_h245_DepSeparateStream, &ett_h245_T_differentPort, &ett_h245_T_samePort, &ett_h245_FECData, &ett_h245_T_rfc2733, &ett_h245_T_pktMode, &ett_h245_T_mode_rfc2733sameport, &ett_h245_T_mode_rfc2733diffport, &ett_h245_TransportAddress, &ett_h245_UnicastAddress, &ett_h245_T_iPAddress, &ett_h245_T_iPXAddress, &ett_h245_T_iP6Address, &ett_h245_T_iPSourceRouteAddress, &ett_h245_T_routing, &ett_h245_T_route, &ett_h245_MulticastAddress, &ett_h245_MIPAddress, &ett_h245_MIP6Address, &ett_h245_EncryptionSync, &ett_h245_SEQUENCE_SIZE_1_256_OF_EscrowData, &ett_h245_EscrowData, &ett_h245_OpenLogicalChannelAck, &ett_h245_OLC_ack_reverseLogicalChannelParameters, &ett_h245_T_olc_ack_multiplexParameters, &ett_h245_T_forwardMultiplexAckParameters, &ett_h245_OpenLogicalChannelReject, &ett_h245_OpenLogicalChannelRejectCause, &ett_h245_OpenLogicalChannelConfirm, &ett_h245_H2250LogicalChannelAckParameters, &ett_h245_CloseLogicalChannel, &ett_h245_T_cLC_source, &ett_h245_Clc_reason, &ett_h245_CloseLogicalChannelAck, &ett_h245_RequestChannelClose, &ett_h245_T_reason, &ett_h245_RequestChannelCloseAck, &ett_h245_RequestChannelCloseReject, &ett_h245_RequestChannelCloseRejectCause, &ett_h245_RequestChannelCloseRelease, &ett_h245_MultiplexEntrySend, &ett_h245_SET_SIZE_1_15_OF_MultiplexEntryDescriptor, &ett_h245_MultiplexEntryDescriptor, &ett_h245_T_elementList, &ett_h245_MultiplexElement, &ett_h245_Me_type, &ett_h245_T_subElementList, &ett_h245_ME_repeatCount, &ett_h245_MultiplexEntrySendAck, &ett_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber, &ett_h245_MultiplexEntrySendReject, &ett_h245_SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions, &ett_h245_MultiplexEntryRejectionDescriptions, &ett_h245_MultiplexEntryRejectionDescriptionsCause, &ett_h245_MultiplexEntrySendRelease, &ett_h245_RequestMultiplexEntry, &ett_h245_RequestMultiplexEntryAck, &ett_h245_RequestMultiplexEntryReject, &ett_h245_SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions, &ett_h245_RequestMultiplexEntryRejectionDescriptions, &ett_h245_RequestMultiplexEntryRejectionDescriptionsCause, &ett_h245_RequestMultiplexEntryRelease, &ett_h245_RequestMode, &ett_h245_SEQUENCE_SIZE_1_256_OF_ModeDescription, &ett_h245_RequestModeAck, &ett_h245_Req_mode_ack_response, &ett_h245_RequestModeReject, &ett_h245_RequestModeRejectCause, &ett_h245_RequestModeRelease, &ett_h245_ModeDescription, &ett_h245_ModeElementType, &ett_h245_ModeElement, &ett_h245_H235Mode, &ett_h245_T_mediaMode, &ett_h245_MultiplexedStreamModeParameters, &ett_h245_RedundancyEncodingDTMode, &ett_h245_SEQUENCE_OF_RedundancyEncodingDTModeElement, &ett_h245_RedundancyEncodingDTModeElement, &ett_h245_Re_type, &ett_h245_MultiplePayloadStreamMode, &ett_h245_SEQUENCE_OF_MultiplePayloadStreamElementMode, &ett_h245_MultiplePayloadStreamElementMode, &ett_h245_DepFECMode, &ett_h245_T_rfc2733Mode, &ett_h245_FEC_mode, &ett_h245_FECMode, &ett_h245_H223ModeParameters, &ett_h245_AdaptationLayerType, &ett_h245_V76ModeParameters, &ett_h245_H2250ModeParameters, &ett_h245_RedundancyEncodingMode, &ett_h245_T_secondaryEncodingMode, &ett_h245_VideoMode, &ett_h245_H261VideoMode, &ett_h245_H261Resolution, &ett_h245_H262VideoMode, &ett_h245_T_profileAndLevel, &ett_h245_H263VideoMode, &ett_h245_H263Resolution, &ett_h245_IS11172VideoMode, &ett_h245_AudioMode, &ett_h245_Mode_g7231, &ett_h245_IS11172AudioMode, &ett_h245_T_audioLayer, &ett_h245_T_audioSampling, &ett_h245_IS11172_multichannelType, &ett_h245_IS13818AudioMode, &ett_h245_IS13818AudioLayer, &ett_h245_IS13818AudioSampling, &ett_h245_IS13818MultichannelType, &ett_h245_G7231AnnexCMode, &ett_h245_VBDMode, &ett_h245_DataMode, &ett_h245_DataModeApplication, &ett_h245_T38faxApp, &ett_h245_EncryptionMode, &ett_h245_RoundTripDelayRequest, &ett_h245_RoundTripDelayResponse, &ett_h245_MaintenanceLoopRequest, &ett_h245_Mlr_type, &ett_h245_MaintenanceLoopAck, &ett_h245_Mla_type, &ett_h245_MaintenanceLoopReject, &ett_h245_Mlrej_type, &ett_h245_MaintenanceLoopRejectCause, &ett_h245_MaintenanceLoopOffCommand, &ett_h245_CommunicationModeCommand, &ett_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry, &ett_h245_CommunicationModeRequest, &ett_h245_CommunicationModeResponse, &ett_h245_CommunicationModeTableEntry, &ett_h245_T_entryDataType, &ett_h245_ConferenceRequest, &ett_h245_T_requestTerminalCertificate, &ett_h245_CertSelectionCriteria, &ett_h245_Criteria, &ett_h245_TerminalLabel, &ett_h245_ConferenceResponse, &ett_h245_T_mCTerminalIDResponse, &ett_h245_T_terminalIDResponse, &ett_h245_T_conferenceIDResponse, &ett_h245_T_passwordResponse, &ett_h245_SET_SIZE_1_256_OF_TerminalLabel, &ett_h245_T_makeMeChairResponse, &ett_h245_T_extensionAddressResponse, &ett_h245_T_chairTokenOwnerResponse, &ett_h245_T_terminalCertificateResponse, &ett_h245_T_broadcastMyLogicalChannelResponse, &ett_h245_T_makeTerminalBroadcasterResponse, &ett_h245_T_sendThisSourceResponse, &ett_h245_RequestAllTerminalIDsResponse, &ett_h245_SEQUENCE_OF_TerminalInformation, &ett_h245_TerminalInformation, &ett_h245_RemoteMCRequest, &ett_h245_RemoteMCResponse, &ett_h245_T_reject, &ett_h245_MultilinkRequest, &ett_h245_CallInformationReq, &ett_h245_AddConnectionReq, &ett_h245_RemoveConnectionReq, &ett_h245_MaximumHeaderIntervalReq, &ett_h245_T_requestType, &ett_h245_MultilinkResponse, &ett_h245_CallInformationResp, &ett_h245_AddConnectionResp, &ett_h245_T_responseCode, &ett_h245_T_rejected, &ett_h245_RemoveConnectionResp, &ett_h245_MaximumHeaderIntervalResp, &ett_h245_MultilinkIndication, &ett_h245_T_crcDesired, &ett_h245_T_excessiveError, &ett_h245_DialingInformation, &ett_h245_SET_SIZE_1_65535_OF_DialingInformationNumber, &ett_h245_DialingInformationNumber, &ett_h245_SET_SIZE_1_255_OF_DialingInformationNetworkType, &ett_h245_DialingInformationNetworkType, &ett_h245_ConnectionIdentifier, &ett_h245_LogicalChannelRateRequest, &ett_h245_LogicalChannelRateAcknowledge, &ett_h245_LogicalChannelRateReject, &ett_h245_LogicalChannelRateRejectReason, &ett_h245_LogicalChannelRateRelease, &ett_h245_SendTerminalCapabilitySet, &ett_h245_T_specificRequest, &ett_h245_SET_SIZE_1_65535_OF_CapabilityTableEntryNumber, &ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptorNumber, &ett_h245_EncryptionCommand, &ett_h245_T_encryptionAlgorithmID, &ett_h245_FlowControlCommand, &ett_h245_Scope, &ett_h245_Restriction, &ett_h245_EndSessionCommand, &ett_h245_T_gstnOptions, &ett_h245_T_isdnOptions, &ett_h245_ConferenceCommand, &ett_h245_SubstituteConferenceIDCommand, &ett_h245_EncryptionUpdateDirection, &ett_h245_MiscellaneousCommand, &ett_h245_Mc_type, &ett_h245_T_videoFastUpdateGOB, &ett_h245_T_videoFastUpdateMB, &ett_h245_T_progressiveRefinementStart, &ett_h245_T_repeatCount, &ett_h245_T_videoBadMBs, &ett_h245_SEQUENCE_OF_PictureReference, &ett_h245_T_lostPartialPicture, &ett_h245_T_encryptionUpdateCommand, &ett_h245_T_encryptionUpdateAck, &ett_h245_KeyProtectionMethod, &ett_h245_EncryptionUpdateRequest, &ett_h245_PictureReference, &ett_h245_H223MultiplexReconfiguration, &ett_h245_T_h223ModeChange, &ett_h245_T_h223AnnexADoubleFlag, &ett_h245_NewATMVCCommand, &ett_h245_Cmd_aal, &ett_h245_Cmd_aal1, &ett_h245_Cmd_clockRecovery, &ett_h245_Cmd_errorCorrection, &ett_h245_Cmd_aal5, &ett_h245_Cmd_multiplex, &ett_h245_Cmd_reverseParameters, &ett_h245_CmdR_multiplex, &ett_h245_MobileMultilinkReconfigurationCommand, &ett_h245_T_status, &ett_h245_FunctionNotUnderstood, &ett_h245_FunctionNotSupported, &ett_h245_FunctionNotSupportedCause, &ett_h245_ConferenceIndication, &ett_h245_TerminalYouAreSeeingInSubPictureNumber, &ett_h245_VideoIndicateCompose, &ett_h245_MiscellaneousIndication, &ett_h245_Mi_type, &ett_h245_T_videoNotDecodedMBs, &ett_h245_JitterIndication, &ett_h245_H223SkewIndication, &ett_h245_H2250MaximumSkewIndication, &ett_h245_MCLocationIndication, &ett_h245_VendorIdentification, &ett_h245_NewATMVCIndication, &ett_h245_Ind_aal, &ett_h245_Ind_aal1, &ett_h245_Ind_clockRecovery, &ett_h245_Ind_errorCorrection, &ett_h245_Ind_aal5, &ett_h245_Ind_multiplex, &ett_h245_Ind_reverseParameters, &ett_h245_IndR_multiplex, &ett_h245_Params, &ett_h245_UserInputIndication, &ett_h245_T_userInputSupportIndication, &ett_h245_T_signal, &ett_h245_T_rtp, &ett_h245_T_signalUpdate, &ett_h245_Si_rtp, &ett_h245_T_extendedAlphanumeric, &ett_h245_EncryptedAlphanumeric, &ett_h245_FlowControlIndication, &ett_h245_MobileMultilinkReconfigurationIndication, }; module_t *h245_module; /* Register protocol */ proto_h245 = proto_register_protocol(PNAME, PSNAME, PFNAME); h223_pending_olc_reqs[P2P_DIR_SENT] = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), g_direct_hash, g_direct_equal ); h223_pending_olc_reqs[P2P_DIR_RECV] = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), g_direct_hash, g_direct_equal ); h245_pending_olc_reqs = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), wmem_str_hash, g_str_equal); register_init_routine(h223_lc_init); /* Register fields and subtrees */ proto_register_field_array(proto_h245, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); /* From Ronnie Sahlbergs original H245 dissector */ h245_module = prefs_register_protocol(proto_h245, NULL); prefs_register_bool_preference(h245_module, "reassembly", "Reassemble H.245 messages spanning multiple TCP segments", "Whether the H.245 dissector should reassemble messages spanning multiple TCP segments." " To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.", &h245_reassembly); prefs_register_bool_preference(h245_module, "shorttypes", "Show short message types", "Whether the dissector should show short names or the long names from the standard", &h245_shorttypes); prefs_register_bool_preference(h245_module, "prepand", "Show h245 info in reversed order", "Whether the dissector should print items of h245 Info column in reversed order", &info_col_fmt_prepend); MultimediaSystemControlMessage_handle = register_dissector("h245dg", dissect_h245_h245, proto_h245); h245_handle = register_dissector("h245", dissect_h245, proto_h245); nsp_object_dissector_table = register_dissector_table("h245.nsp.object", "H.245 NonStandardParameter (object)", proto_h245, FT_STRING, STRING_CASE_SENSITIVE); nsp_h221_dissector_table = register_dissector_table("h245.nsp.h221", "H.245 NonStandardParameter (h221)", proto_h245, FT_UINT32, BASE_HEX); gef_name_dissector_table = register_dissector_table("h245.gef.name", "H.245 Generic Extensible Framework Name", proto_h245, FT_STRING, STRING_CASE_SENSITIVE); gef_content_dissector_table = register_dissector_table("h245.gef.content", "H.245 Generic Extensible Framework Content", proto_h245, FT_STRING, STRING_CASE_SENSITIVE); h245_tap = register_tap("h245"); h245dg_tap = register_tap("h245dg"); oid_add_from_string("h239ControlCapability","0.0.8.239.1.1"); oid_add_from_string("h239ExtendedVideoCapability","0.0.8.239.1.2"); oid_add_from_string("generic-message","0.0.8.239.2"); oid_add_from_string("h245 version 3","0.0.8.245.0.3"); oid_add_from_string("h245 version 4","0.0.8.245.0.4"); oid_add_from_string("h245 version 5","0.0.8.245.0.5"); oid_add_from_string("h245 version 6","0.0.8.245.0.6"); oid_add_from_string("h245 version 7","0.0.8.245.0.7"); oid_add_from_string("h245 version 8","0.0.8.245.0.8"); oid_add_from_string("h245 version 9","0.0.8.245.0.9"); oid_add_from_string("h245 version 10","0.0.8.245.0.10"); oid_add_from_string("h245 version 11","0.0.8.245.0.11"); oid_add_from_string("h245 version 12","0.0.8.245.0.12"); oid_add_from_string("h245 version 13","0.0.8.245.0.13"); /* This capability is defined in Annex E. */ oid_add_from_string("ISO/IEC 14496-2 MPEG-4 video","0.0.8.245.1.0.0"); /* This capability is defined in Annex H. */ oid_add_from_string("ISO/IEC 14496-3 MPEG-4 audio","0.0.8.245.1.1.0"); /* This capability is defined in Annex I. */ oid_add_from_string("AMR","0.0.8.245.1.1.1"); /* This capability is defined in Annex J. */ oid_add_from_string("acelp","0.0.8.245.1.1.2"); /* This capability is defined in Annex K. */ oid_add_from_string("us1","0.0.8.245.1.1.3"); /* This capability is defined in Annex L. */ oid_add_from_string("is127evrc","0.0.8.245.1.1.4"); /* This capability is defined in Annex M. */ oid_add_from_string("ISO/IEC 13818-7","0.0.8.245.1.1.5"); /* This capability is defined in Annex N. */ oid_add_from_string("rfc3389","0.0.8.245.1.1.6"); /* This capability is defined in Annex O. */ oid_add_from_string("L-16","0.0.8.245.1.1.7"); /* This capability is defined in Annex P. */ oid_add_from_string("bounded-audio-stream","0.0.8.245.1.1.8"); /* This capability is defined in Annex R. */ oid_add_from_string("AMR-NB","0.0.8.245.1.1.9"); /* This capability is defined in Annex R. */ oid_add_from_string("AMR-WB","0.0.8.245.1.1.10"); /* This capability is defined in Annex S. */ oid_add_from_string("ilbc","0.0.8.245.1.1.11"); oid_add_from_string("ISO/IEC 14496-1","0.0.8.245.1.2.0"); oid_add_from_string("Nx64","0.0.8.245.1.2.1"); oid_add_from_string("logical-channel-bit-ratemanagement","0.0.8.245.1.3.0"); oid_add_from_string("h264 generic-capabilities","0.0.8.241.0.0.1"); oid_add_from_string("iPpacketization_h241AnnexA(single NAL unit mode)","0.0.8.241.0.0.0.0"); oid_add_from_string("iPpacketization_RFC3984NonInterleaved","0.0.8.241.0.0.0.1"); oid_add_from_string("iPpacketization_RFC3984Interleaved","0.0.8.241.0.0.0.2"); } /*--- proto_reg_handoff_h245 ---------------------------------------*/ void proto_reg_handoff_h245(void) { rtcp_handle = find_dissector("rtcp"); data_handle = find_dissector("data"); h263_handle = find_dissector("h263data"); amr_handle = find_dissector("amr_if2_nb"); dissector_add_for_decode_as_with_preference("tcp.port", h245_handle); dissector_add_for_decode_as_with_preference("udp.port", MultimediaSystemControlMessage_handle); } static void init_h245_packet_info(h245_packet_info *pi) { if(pi == NULL) { return; } pi->msg_type = H245_OTHER; pi->frame_label[0] = '\0'; snprintf(pi->comment, sizeof(pi->comment), "H245 "); }