Coverage Report

Created: 2025-12-27 06:52

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/wireshark/epan/dissectors/packet-p1.c
Line
Count
Source
1
/* Do not modify this file. Changes will be overwritten.                      */
2
/* Generated automatically by the ASN.1 to Wireshark dissector compiler       */
3
/* packet-p1.c                                                                */
4
/* asn2wrs.py -b -q -L -p p1 -c ./p1.cnf -s ./packet-p1-template -D . -O ../.. MTAAbstractService.asn MTSAbstractService.asn MTSAccessProtocol.asn MHSProtocolObjectIdentifiers.asn MTSUpperBounds.asn */
5
6
/* packet-p1.c
7
 * Routines for X.411 (X.400 Message Transfer)  packet dissection
8
 * Graeme Lunt 2005
9
 *
10
 * Wireshark - Network traffic analyzer
11
 * By Gerald Combs <gerald@wireshark.org>
12
 * Copyright 1998 Gerald Combs
13
 *
14
 * SPDX-License-Identifier: GPL-2.0-or-later
15
 */
16
17
#include "config.h"
18
19
#include <epan/packet.h>
20
#include <epan/prefs.h>
21
#include <epan/oids.h>
22
#include <epan/asn1.h>
23
#include <epan/expert.h>
24
#include <epan/strutil.h>
25
#include <epan/proto_data.h>
26
#include <wsutil/array.h>
27
28
#include "packet-ber.h"
29
#include "packet-acse.h"
30
#include "packet-ros.h"
31
#include "packet-rtse.h"
32
33
#include "packet-x509af.h"
34
#include "packet-x509ce.h"
35
#include "packet-x509if.h"
36
#include "packet-x509sat.h"
37
38
#include "packet-p1.h"
39
40
14
#define PNAME  "X.411 Message Transfer Service"
41
14
#define PSNAME "P1"
42
14
#define PFNAME "p1"
43
44
void proto_reg_handoff_p1(void);
45
void proto_register_p1(void);
46
47
/* Initialize the protocol and registered fields */
48
static int proto_p1;
49
static int proto_p3;
50
51
static int hf_p1_MTS_APDU_PDU;
52
static int hf_p1_MTABindArgument_PDU;
53
static int hf_p1_MTABindResult_PDU;
54
static int hf_p1_MTABindError_PDU;
55
56
static int hf_p1_InternalTraceInformation_PDU;    /* InternalTraceInformation */
57
static int hf_p1_InternalTraceInformationElement_PDU;  /* InternalTraceInformationElement */
58
static int hf_p1_TraceInformation_PDU;            /* TraceInformation */
59
static int hf_p1_TraceInformationElement_PDU;     /* TraceInformationElement */
60
static int hf_p1_MTSBindArgument_PDU;             /* MTSBindArgument */
61
static int hf_p1_MTSBindResult_PDU;               /* MTSBindResult */
62
static int hf_p1_PAR_mts_bind_error_PDU;          /* PAR_mts_bind_error */
63
static int hf_p1_MessageSubmissionArgument_PDU;   /* MessageSubmissionArgument */
64
static int hf_p1_MessageSubmissionResult_PDU;     /* MessageSubmissionResult */
65
static int hf_p1_ProbeSubmissionArgument_PDU;     /* ProbeSubmissionArgument */
66
static int hf_p1_ProbeSubmissionResult_PDU;       /* ProbeSubmissionResult */
67
static int hf_p1_CancelDeferredDeliveryArgument_PDU;  /* CancelDeferredDeliveryArgument */
68
static int hf_p1_CancelDeferredDeliveryResult_PDU;  /* CancelDeferredDeliveryResult */
69
static int hf_p1_SubmissionControlArgument_PDU;   /* SubmissionControlArgument */
70
static int hf_p1_SubmissionControlResult_PDU;     /* SubmissionControlResult */
71
static int hf_p1_PAR_submission_control_violated_PDU;  /* PAR_submission_control_violated */
72
static int hf_p1_PAR_element_of_service_not_subscribed_PDU;  /* PAR_element_of_service_not_subscribed */
73
static int hf_p1_PAR_deferred_delivery_cancellation_rejected_PDU;  /* PAR_deferred_delivery_cancellation_rejected */
74
static int hf_p1_PAR_originator_invalid_PDU;      /* PAR_originator_invalid */
75
static int hf_p1_ImproperlySpecifiedRecipients_PDU;  /* ImproperlySpecifiedRecipients */
76
static int hf_p1_PAR_message_submission_identifier_invalid_PDU;  /* PAR_message_submission_identifier_invalid */
77
static int hf_p1_PAR_inconsistent_request_PDU;    /* PAR_inconsistent_request */
78
static int hf_p1_SecurityProblem_PDU;             /* SecurityProblem */
79
static int hf_p1_PAR_unsupported_critical_function_PDU;  /* PAR_unsupported_critical_function */
80
static int hf_p1_PAR_remote_bind_error_PDU;       /* PAR_remote_bind_error */
81
static int hf_p1_MessageSubmissionTime_PDU;       /* MessageSubmissionTime */
82
static int hf_p1_MessageDeliveryArgument_PDU;     /* MessageDeliveryArgument */
83
static int hf_p1_MessageDeliveryResult_PDU;       /* MessageDeliveryResult */
84
static int hf_p1_ReportDeliveryArgument_PDU;      /* ReportDeliveryArgument */
85
static int hf_p1_ReportDeliveryResult_PDU;        /* ReportDeliveryResult */
86
static int hf_p1_DeliveryControlArgument_PDU;     /* DeliveryControlArgument */
87
static int hf_p1_DeliveryControlResult_PDU;       /* DeliveryControlResult */
88
static int hf_p1_PAR_delivery_control_violated_PDU;  /* PAR_delivery_control_violated */
89
static int hf_p1_PAR_control_violates_registration_PDU;  /* PAR_control_violates_registration */
90
static int hf_p1_RefusedOperation_PDU;            /* RefusedOperation */
91
static int hf_p1_RecipientCertificate_PDU;        /* RecipientCertificate */
92
static int hf_p1_ProofOfDelivery_PDU;             /* ProofOfDelivery */
93
static int hf_p1_RegisterArgument_PDU;            /* RegisterArgument */
94
static int hf_p1_RegisterResult_PDU;              /* RegisterResult */
95
static int hf_p1_ChangeCredentialsArgument_PDU;   /* ChangeCredentialsArgument */
96
static int hf_p1_RES_change_credentials_PDU;      /* RES_change_credentials */
97
static int hf_p1_PAR_register_rejected_PDU;       /* PAR_register_rejected */
98
static int hf_p1_PAR_new_credentials_unacceptable_PDU;  /* PAR_new_credentials_unacceptable */
99
static int hf_p1_PAR_old_credentials_incorrectly_specified_PDU;  /* PAR_old_credentials_incorrectly_specified */
100
static int hf_p1_MessageSubmissionEnvelope_PDU;   /* MessageSubmissionEnvelope */
101
static int hf_p1_PerRecipientMessageSubmissionFields_PDU;  /* PerRecipientMessageSubmissionFields */
102
static int hf_p1_ProbeSubmissionEnvelope_PDU;     /* ProbeSubmissionEnvelope */
103
static int hf_p1_PerRecipientProbeSubmissionFields_PDU;  /* PerRecipientProbeSubmissionFields */
104
static int hf_p1_MessageDeliveryEnvelope_PDU;     /* MessageDeliveryEnvelope */
105
static int hf_p1_ReportDeliveryEnvelope_PDU;      /* ReportDeliveryEnvelope */
106
static int hf_p1_PerRecipientReportDeliveryFields_PDU;  /* PerRecipientReportDeliveryFields */
107
static int hf_p1_ExtendedContentType_PDU;         /* ExtendedContentType */
108
static int hf_p1_ContentIdentifier_PDU;           /* ContentIdentifier */
109
static int hf_p1_PerMessageIndicators_PDU;        /* PerMessageIndicators */
110
static int hf_p1_OriginatorReportRequest_PDU;     /* OriginatorReportRequest */
111
static int hf_p1_DeferredDeliveryTime_PDU;        /* DeferredDeliveryTime */
112
static int hf_p1_Priority_PDU;                    /* Priority */
113
static int hf_p1_ContentLength_PDU;               /* ContentLength */
114
static int hf_p1_MessageDeliveryTime_PDU;         /* MessageDeliveryTime */
115
static int hf_p1_DeliveryFlags_PDU;               /* DeliveryFlags */
116
static int hf_p1_SubjectSubmissionIdentifier_PDU;  /* SubjectSubmissionIdentifier */
117
static int hf_p1_RecipientReassignmentProhibited_PDU;  /* RecipientReassignmentProhibited */
118
static int hf_p1_OriginatorRequestedAlternateRecipient_PDU;  /* OriginatorRequestedAlternateRecipient */
119
static int hf_p1_DLExpansionProhibited_PDU;       /* DLExpansionProhibited */
120
static int hf_p1_ConversionWithLossProhibited_PDU;  /* ConversionWithLossProhibited */
121
static int hf_p1_LatestDeliveryTime_PDU;          /* LatestDeliveryTime */
122
static int hf_p1_RequestedDeliveryMethod_PDU;     /* RequestedDeliveryMethod */
123
static int hf_p1_PhysicalForwardingProhibited_PDU;  /* PhysicalForwardingProhibited */
124
static int hf_p1_PhysicalForwardingAddressRequest_PDU;  /* PhysicalForwardingAddressRequest */
125
static int hf_p1_PhysicalDeliveryModes_PDU;       /* PhysicalDeliveryModes */
126
static int hf_p1_RegisteredMailType_PDU;          /* RegisteredMailType */
127
static int hf_p1_RecipientNumberForAdvice_PDU;    /* RecipientNumberForAdvice */
128
static int hf_p1_PhysicalRenditionAttributes_PDU;  /* PhysicalRenditionAttributes */
129
static int hf_p1_OriginatorReturnAddress_PDU;     /* OriginatorReturnAddress */
130
static int hf_p1_PhysicalDeliveryReportRequest_PDU;  /* PhysicalDeliveryReportRequest */
131
static int hf_p1_OriginatorCertificate_PDU;       /* OriginatorCertificate */
132
static int hf_p1_MessageToken_PDU;                /* MessageToken */
133
static int hf_p1_ContentConfidentialityAlgorithmIdentifier_PDU;  /* ContentConfidentialityAlgorithmIdentifier */
134
static int hf_p1_ContentIntegrityCheck_PDU;       /* ContentIntegrityCheck */
135
static int hf_p1_MessageOriginAuthenticationCheck_PDU;  /* MessageOriginAuthenticationCheck */
136
static int hf_p1_p1_MessageSecurityLabel_PDU;     /* MessageSecurityLabel */
137
static int hf_p1_ProofOfSubmissionRequest_PDU;    /* ProofOfSubmissionRequest */
138
static int hf_p1_ProofOfDeliveryRequest_PDU;      /* ProofOfDeliveryRequest */
139
static int hf_p1_ContentCorrelator_PDU;           /* ContentCorrelator */
140
static int hf_p1_ProbeOriginAuthenticationCheck_PDU;  /* ProbeOriginAuthenticationCheck */
141
static int hf_p1_RedirectionHistory_PDU;          /* RedirectionHistory */
142
static int hf_p1_Redirection_PDU;                 /* Redirection */
143
static int hf_p1_DLExpansionHistory_PDU;          /* DLExpansionHistory */
144
static int hf_p1_DLExpansion_PDU;                 /* DLExpansion */
145
static int hf_p1_PhysicalForwardingAddress_PDU;   /* PhysicalForwardingAddress */
146
static int hf_p1_OriginatorAndDLExpansionHistory_PDU;  /* OriginatorAndDLExpansionHistory */
147
static int hf_p1_ReportingDLName_PDU;             /* ReportingDLName */
148
static int hf_p1_ReportingMTACertificate_PDU;     /* ReportingMTACertificate */
149
static int hf_p1_ReportOriginAuthenticationCheck_PDU;  /* ReportOriginAuthenticationCheck */
150
static int hf_p1_OriginatingMTACertificate_PDU;   /* OriginatingMTACertificate */
151
static int hf_p1_ProofOfSubmission_PDU;           /* ProofOfSubmission */
152
static int hf_p1_ReportingMTAName_PDU;            /* ReportingMTAName */
153
static int hf_p1_ExtendedCertificates_PDU;        /* ExtendedCertificates */
154
static int hf_p1_DLExemptedRecipients_PDU;        /* DLExemptedRecipients */
155
static int hf_p1_CertificateSelectors_PDU;        /* CertificateSelectors */
156
static int hf_p1_Content_PDU;                     /* Content */
157
static int hf_p1_MTSIdentifier_PDU;               /* MTSIdentifier */
158
static int hf_p1_ORName_PDU;                      /* ORName */
159
static int hf_p1_ORAddress_PDU;                   /* ORAddress */
160
static int hf_p1_CommonName_PDU;                  /* CommonName */
161
static int hf_p1_TeletexCommonName_PDU;           /* TeletexCommonName */
162
static int hf_p1_UniversalCommonName_PDU;         /* UniversalCommonName */
163
static int hf_p1_TeletexOrganizationName_PDU;     /* TeletexOrganizationName */
164
static int hf_p1_UniversalOrganizationName_PDU;   /* UniversalOrganizationName */
165
static int hf_p1_TeletexPersonalName_PDU;         /* TeletexPersonalName */
166
static int hf_p1_UniversalPersonalName_PDU;       /* UniversalPersonalName */
167
static int hf_p1_TeletexOrganizationalUnitNames_PDU;  /* TeletexOrganizationalUnitNames */
168
static int hf_p1_UniversalOrganizationalUnitNames_PDU;  /* UniversalOrganizationalUnitNames */
169
static int hf_p1_PDSName_PDU;                     /* PDSName */
170
static int hf_p1_PhysicalDeliveryCountryName_PDU;  /* PhysicalDeliveryCountryName */
171
static int hf_p1_PostalCode_PDU;                  /* PostalCode */
172
static int hf_p1_PhysicalDeliveryOfficeName_PDU;  /* PhysicalDeliveryOfficeName */
173
static int hf_p1_UniversalPhysicalDeliveryOfficeName_PDU;  /* UniversalPhysicalDeliveryOfficeName */
174
static int hf_p1_PhysicalDeliveryOfficeNumber_PDU;  /* PhysicalDeliveryOfficeNumber */
175
static int hf_p1_UniversalPhysicalDeliveryOfficeNumber_PDU;  /* UniversalPhysicalDeliveryOfficeNumber */
176
static int hf_p1_ExtensionORAddressComponents_PDU;  /* ExtensionORAddressComponents */
177
static int hf_p1_UniversalExtensionORAddressComponents_PDU;  /* UniversalExtensionORAddressComponents */
178
static int hf_p1_PhysicalDeliveryPersonalName_PDU;  /* PhysicalDeliveryPersonalName */
179
static int hf_p1_UniversalPhysicalDeliveryPersonalName_PDU;  /* UniversalPhysicalDeliveryPersonalName */
180
static int hf_p1_PhysicalDeliveryOrganizationName_PDU;  /* PhysicalDeliveryOrganizationName */
181
static int hf_p1_UniversalPhysicalDeliveryOrganizationName_PDU;  /* UniversalPhysicalDeliveryOrganizationName */
182
static int hf_p1_ExtensionPhysicalDeliveryAddressComponents_PDU;  /* ExtensionPhysicalDeliveryAddressComponents */
183
static int hf_p1_UniversalExtensionPhysicalDeliveryAddressComponents_PDU;  /* UniversalExtensionPhysicalDeliveryAddressComponents */
184
static int hf_p1_UnformattedPostalAddress_PDU;    /* UnformattedPostalAddress */
185
static int hf_p1_UniversalUnformattedPostalAddress_PDU;  /* UniversalUnformattedPostalAddress */
186
static int hf_p1_StreetAddress_PDU;               /* StreetAddress */
187
static int hf_p1_UniversalStreetAddress_PDU;      /* UniversalStreetAddress */
188
static int hf_p1_PostOfficeBoxAddress_PDU;        /* PostOfficeBoxAddress */
189
static int hf_p1_UniversalPostOfficeBoxAddress_PDU;  /* UniversalPostOfficeBoxAddress */
190
static int hf_p1_PosteRestanteAddress_PDU;        /* PosteRestanteAddress */
191
static int hf_p1_UniversalPosteRestanteAddress_PDU;  /* UniversalPosteRestanteAddress */
192
static int hf_p1_UniquePostalName_PDU;            /* UniquePostalName */
193
static int hf_p1_UniversalUniquePostalName_PDU;   /* UniversalUniquePostalName */
194
static int hf_p1_LocalPostalAttributes_PDU;       /* LocalPostalAttributes */
195
static int hf_p1_UniversalLocalPostalAttributes_PDU;  /* UniversalLocalPostalAttributes */
196
static int hf_p1_ExtendedNetworkAddress_PDU;      /* ExtendedNetworkAddress */
197
static int hf_p1_TerminalType_PDU;                /* TerminalType */
198
static int hf_p1_TeletexDomainDefinedAttributes_PDU;  /* TeletexDomainDefinedAttributes */
199
static int hf_p1_UniversalDomainDefinedAttributes_PDU;  /* UniversalDomainDefinedAttributes */
200
static int hf_p1_ExtendedEncodedInformationType_PDU;  /* ExtendedEncodedInformationType */
201
static int hf_p1_MTANameAndOptionalGDI_PDU;       /* MTANameAndOptionalGDI */
202
static int hf_p1_AsymmetricToken_PDU;             /* AsymmetricToken */
203
static int hf_p1_BindTokenSignedData_PDU;         /* BindTokenSignedData */
204
static int hf_p1_MessageTokenSignedData_PDU;      /* MessageTokenSignedData */
205
static int hf_p1_MessageTokenEncryptedData_PDU;   /* MessageTokenEncryptedData */
206
static int hf_p1_BindTokenEncryptedData_PDU;      /* BindTokenEncryptedData */
207
static int hf_p1_SecurityClassification_PDU;      /* SecurityClassification */
208
static int hf_p1_unauthenticated;                 /* NULL */
209
static int hf_p1_authenticated_argument;          /* AuthenticatedArgument */
210
static int hf_p1_authenticated_initiator_name;    /* MTAName */
211
static int hf_p1_initiator_credentials;           /* InitiatorCredentials */
212
static int hf_p1_security_context;                /* SecurityContext */
213
static int hf_p1_authenticated_result;            /* AuthenticatedResult */
214
static int hf_p1_authenticated_responder_name;    /* MTAName */
215
static int hf_p1_responder_credentials;           /* ResponderCredentials */
216
static int hf_p1_message;                         /* Message */
217
static int hf_p1_probe;                           /* Probe */
218
static int hf_p1_report;                          /* Report */
219
static int hf_p1_message_envelope;                /* MessageTransferEnvelope */
220
static int hf_p1_content;                         /* Content */
221
static int hf_p1_report_envelope;                 /* ReportTransferEnvelope */
222
static int hf_p1_report_content;                  /* ReportTransferContent */
223
static int hf_p1_message_identifier;              /* MessageIdentifier */
224
static int hf_p1_perMessageTransferFields_originator_name;  /* MTAOriginatorName */
225
static int hf_p1_original_encoded_information_types;  /* OriginalEncodedInformationTypes */
226
static int hf_p1_content_type;                    /* ContentType */
227
static int hf_p1_content_identifier;              /* ContentIdentifier */
228
static int hf_p1_priority;                        /* Priority */
229
static int hf_p1_per_message_indicators;          /* PerMessageIndicators */
230
static int hf_p1_deferred_delivery_time;          /* DeferredDeliveryTime */
231
static int hf_p1_per_domain_bilateral_information;  /* SEQUENCE_SIZE_1_ub_transfers_OF_PerDomainBilateralInformation */
232
static int hf_p1_per_domain_bilateral_information_item;  /* PerDomainBilateralInformation */
233
static int hf_p1_trace_information;               /* TraceInformation */
234
static int hf_p1_extensions;                      /* SET_OF_ExtensionField */
235
static int hf_p1_extensions_item;                 /* ExtensionField */
236
static int hf_p1_recipient_name;                  /* MTARecipientName */
237
static int hf_p1_originally_specified_recipient_number;  /* OriginallySpecifiedRecipientNumber */
238
static int hf_p1_per_recipient_indicators;        /* PerRecipientIndicators */
239
static int hf_p1_explicit_conversion;             /* ExplicitConversion */
240
static int hf_p1_probe_identifier;                /* ProbeIdentifier */
241
static int hf_p1_perProbeTransferFields_originator_name;  /* MTAOriginatorName */
242
static int hf_p1_content_length;                  /* ContentLength */
243
static int hf_p1_report_identifier;               /* ReportIdentifier */
244
static int hf_p1_report_destination_name;         /* ReportDestinationName */
245
static int hf_p1_subject_identifier;              /* SubjectIdentifier */
246
static int hf_p1_subject_intermediate_trace_information;  /* SubjectIntermediateTraceInformation */
247
static int hf_p1_returned_content;                /* Content */
248
static int hf_p1_additional_information;          /* AdditionalInformation */
249
static int hf_p1_mta_actual_recipient_name;       /* MTAActualRecipientName */
250
static int hf_p1_last_trace_information;          /* LastTraceInformation */
251
static int hf_p1_report_originally_intended_recipient_name;  /* OriginallyIntendedRecipientName */
252
static int hf_p1_supplementary_information;       /* SupplementaryInformation */
253
static int hf_p1_country_name;                    /* CountryName */
254
static int hf_p1_bilateral_domain;                /* T_bilateral_domain */
255
static int hf_p1_administration_domain_name;      /* AdministrationDomainName */
256
static int hf_p1_private_domain;                  /* T_private_domain */
257
static int hf_p1_private_domain_identifier;       /* PrivateDomainIdentifier */
258
static int hf_p1_bilateral_information;           /* T_bilateral_information */
259
static int hf_p1_arrival_time;                    /* ArrivalTime */
260
static int hf_p1_converted_encoded_information_types;  /* ConvertedEncodedInformationTypes */
261
static int hf_p1_trace_report_type;               /* ReportType */
262
static int hf_p1_InternalTraceInformation_item;   /* InternalTraceInformationElement */
263
static int hf_p1_global_domain_identifier;        /* GlobalDomainIdentifier */
264
static int hf_p1_mta_name;                        /* MTAName */
265
static int hf_p1_mta_supplied_information;        /* MTASuppliedInformation */
266
static int hf_p1__untag_item;                     /* TraceInformationElement */
267
static int hf_p1_domain_supplied_information;     /* DomainSuppliedInformation */
268
static int hf_p1_deferred_time;                   /* DeferredTime */
269
static int hf_p1_other_actions;                   /* OtherActions */
270
static int hf_p1_initiator_name;                  /* ObjectName */
271
static int hf_p1_messages_waiting;                /* MessagesWaiting */
272
static int hf_p1_responder_name;                  /* ObjectName */
273
static int hf_p1_user_agent;                      /* ORAddressAndOptionalDirectoryName */
274
static int hf_p1_mTA;                             /* MTAName */
275
static int hf_p1_message_store;                   /* ORAddressAndOptionalDirectoryName */
276
static int hf_p1_urgent;                          /* DeliveryQueue */
277
static int hf_p1_normal;                          /* DeliveryQueue */
278
static int hf_p1_non_urgent;                      /* DeliveryQueue */
279
static int hf_p1_messages;                        /* INTEGER_0_ub_queue_size */
280
static int hf_p1_delivery_queue_octets;           /* INTEGER_0_ub_content_length */
281
static int hf_p1_simple;                          /* Password */
282
static int hf_p1_strong;                          /* StrongCredentials */
283
static int hf_p1_protected;                       /* ProtectedPassword */
284
static int hf_p1_ia5_string;                      /* IA5String_SIZE_0_ub_password_length */
285
static int hf_p1_octet_string;                    /* OCTET_STRING_SIZE_0_ub_password_length */
286
static int hf_p1_bind_token;                      /* Token */
287
static int hf_p1_certificate;                     /* Certificates */
288
static int hf_p1_certificate_selector;            /* CertificateAssertion */
289
static int hf_p1_signature;                       /* Signature */
290
static int hf_p1_time1;                           /* UTCTime */
291
static int hf_p1_time2;                           /* UTCTime */
292
static int hf_p1_random1;                         /* BIT_STRING */
293
static int hf_p1_random2;                         /* BIT_STRING */
294
static int hf_p1_algorithmIdentifier;             /* AlgorithmIdentifier */
295
static int hf_p1_encrypted;                       /* BIT_STRING */
296
static int hf_p1_SecurityContext_item;            /* SecurityLabel */
297
static int hf_p1_message_submission_envelope;     /* MessageSubmissionEnvelope */
298
static int hf_p1_message_submission_identifier;   /* MessageSubmissionIdentifier */
299
static int hf_p1_message_submission_time;         /* MessageSubmissionTime */
300
static int hf_p1_probe_submission_identifier;     /* ProbeSubmissionIdentifier */
301
static int hf_p1_probe_submission_time;           /* ProbeSubmissionTime */
302
static int hf_p1_ImproperlySpecifiedRecipients_item;  /* RecipientName */
303
static int hf_p1_waiting_operations;              /* Operations */
304
static int hf_p1_waiting_messages;                /* WaitingMessages */
305
static int hf_p1_waiting_content_types;           /* SET_SIZE_0_ub_content_types_OF_ContentType */
306
static int hf_p1_waiting_content_types_item;      /* ContentType */
307
static int hf_p1_waiting_encoded_information_types;  /* EncodedInformationTypes */
308
static int hf_p1_recipient_certificate;           /* RecipientCertificate */
309
static int hf_p1_proof_of_delivery;               /* ProofOfDelivery */
310
static int hf_p1_empty_result;                    /* NULL */
311
static int hf_p1_max_extensions;                  /* SET_SIZE_1_MAX_OF_ExtensionField */
312
static int hf_p1_max_extensions_item;             /* ExtensionField */
313
static int hf_p1_restrict;                        /* BOOLEAN */
314
static int hf_p1_permissible_operations;          /* Operations */
315
static int hf_p1_permissible_maximum_content_length;  /* ContentLength */
316
static int hf_p1_permissible_lowest_priority;     /* Priority */
317
static int hf_p1_permissible_content_types;       /* ContentTypes */
318
static int hf_p1_permissible_encoded_information_types;  /* PermissibleEncodedInformationTypes */
319
static int hf_p1_permissible_security_context;    /* SecurityContext */
320
static int hf_p1_refused_argument;                /* T_refused_argument */
321
static int hf_p1_built_in_argument;               /* RefusedArgument */
322
static int hf_p1_refused_extension;               /* T_refused_extension */
323
static int hf_p1_refusal_reason;                  /* RefusalReason */
324
static int hf_p1_user_name;                       /* UserName */
325
static int hf_p1_user_address;                    /* UserAddress */
326
static int hf_p1_deliverable_class;               /* SET_SIZE_1_ub_deliverable_class_OF_DeliverableClass */
327
static int hf_p1_deliverable_class_item;          /* DeliverableClass */
328
static int hf_p1_default_delivery_controls;       /* DefaultDeliveryControls */
329
static int hf_p1_redirections;                    /* Redirections */
330
static int hf_p1_restricted_delivery;             /* RestrictedDelivery */
331
static int hf_p1_retrieve_registrations;          /* RegistrationTypes */
332
static int hf_p1_non_empty_result;                /* T_non_empty_result */
333
static int hf_p1_registered_information;          /* RegisterArgument */
334
static int hf_p1_old_credentials;                 /* Credentials */
335
static int hf_p1_new_credentials;                 /* Credentials */
336
static int hf_p1_x121;                            /* T_x121 */
337
static int hf_p1_x121_address;                    /* T_x121_address */
338
static int hf_p1_tsap_id;                         /* PrintableString_SIZE_1_ub_tsap_id_length */
339
static int hf_p1_presentation;                    /* PSAPAddress */
340
static int hf_p1_Redirections_item;               /* RecipientRedirection */
341
static int hf_p1_redirection_classes;             /* SET_SIZE_1_ub_redirection_classes_OF_RedirectionClass */
342
static int hf_p1_redirection_classes_item;        /* RedirectionClass */
343
static int hf_p1_recipient_assigned_alternate_recipient;  /* RecipientAssignedAlternateRecipient */
344
static int hf_p1_content_types;                   /* ContentTypes */
345
static int hf_p1_maximum_content_length;          /* ContentLength */
346
static int hf_p1_encoded_information_types_constraints;  /* EncodedInformationTypesConstraints */
347
static int hf_p1_security_labels;                 /* SecurityContext */
348
static int hf_p1_class_priority;                  /* SET_OF_Priority */
349
static int hf_p1_class_priority_item;             /* Priority */
350
static int hf_p1_objects;                         /* T_objects */
351
static int hf_p1_applies_only_to;                 /* SEQUENCE_OF_Restriction */
352
static int hf_p1_applies_only_to_item;            /* Restriction */
353
static int hf_p1_unacceptable_eits;               /* ExtendedEncodedInformationTypes */
354
static int hf_p1_acceptable_eits;                 /* ExtendedEncodedInformationTypes */
355
static int hf_p1_exclusively_acceptable_eits;     /* ExtendedEncodedInformationTypes */
356
static int hf_p1_RestrictedDelivery_item;         /* Restriction */
357
static int hf_p1_permitted;                       /* BOOLEAN */
358
static int hf_p1_source_type;                     /* T_source_type */
359
static int hf_p1_source_name;                     /* ExactOrPattern */
360
static int hf_p1_exact_match;                     /* ORName */
361
static int hf_p1_pattern_match;                   /* ORName */
362
static int hf_p1_standard_parameters;             /* T_standard_parameters */
363
static int hf_p1_type_extensions;                 /* T_type_extensions */
364
static int hf_p1_type_extensions_item;            /* T_type_extensions_item */
365
static int hf_p1_perMessageSubmissionFields_originator_name;  /* OriginatorName */
366
static int hf_p1_submission_recipient_name;       /* RecipientName */
367
static int hf_p1_originator_report_request;       /* OriginatorReportRequest */
368
static int hf_p1_perProbeSubmissionFields_originator_name;  /* OriginatorName */
369
static int hf_p1_probe_recipient_name;            /* RecipientName */
370
static int hf_p1_message_delivery_identifier;     /* MessageDeliveryIdentifier */
371
static int hf_p1_message_delivery_time;           /* MessageDeliveryTime */
372
static int hf_p1_other_fields;                    /* OtherMessageDeliveryFields */
373
static int hf_p1_delivered_content_type;          /* DeliveredContentType */
374
static int hf_p1_delivered_originator_name;       /* DeliveredOriginatorName */
375
static int hf_p1_delivery_flags;                  /* DeliveryFlags */
376
static int hf_p1_other_recipient_names;           /* OtherRecipientNames */
377
static int hf_p1_this_recipient_name;             /* ThisRecipientName */
378
static int hf_p1_originally_intended_recipient_name;  /* OriginallyIntendedRecipientName */
379
static int hf_p1_subject_submission_identifier;   /* SubjectSubmissionIdentifier */
380
static int hf_p1_actual_recipient_name;           /* ActualRecipientName */
381
static int hf_p1_delivery_report_type;            /* ReportType */
382
static int hf_p1_delivery;                        /* DeliveryReport */
383
static int hf_p1_non_delivery;                    /* NonDeliveryReport */
384
static int hf_p1_type_of_MTS_user;                /* TypeOfMTSUser */
385
static int hf_p1_non_delivery_reason_code;        /* NonDeliveryReasonCode */
386
static int hf_p1_non_delivery_diagnostic_code;    /* NonDeliveryDiagnosticCode */
387
static int hf_p1_ContentTypes_item;               /* ContentType */
388
static int hf_p1_built_in;                        /* BuiltInContentType */
389
static int hf_p1_extended;                        /* ExtendedContentType */
390
static int hf_p1_OtherRecipientNames_item;        /* OtherRecipientName */
391
static int hf_p1_standard_extension;              /* StandardExtension */
392
static int hf_p1_private_extension;               /* T_private_extension */
393
static int hf_p1_extension_type;                  /* ExtensionType */
394
static int hf_p1_criticality;                     /* Criticality */
395
static int hf_p1_extension_value;                 /* ExtensionValue */
396
static int hf_p1_RequestedDeliveryMethod_item;    /* RequestedDeliveryMethod_item */
397
static int hf_p1_ia5text;                         /* IA5String */
398
static int hf_p1_octets;                          /* OCTET_STRING */
399
static int hf_p1_RedirectionHistory_item;         /* Redirection */
400
static int hf_p1_intended_recipient_name;         /* IntendedRecipientName */
401
static int hf_p1_redirection_reason;              /* RedirectionReason */
402
static int hf_p1_intended_recipient;              /* ORAddressAndOptionalDirectoryName */
403
static int hf_p1_redirection_time;                /* Time */
404
static int hf_p1_DLExpansionHistory_item;         /* DLExpansion */
405
static int hf_p1_dl;                              /* ORAddressAndOptionalDirectoryName */
406
static int hf_p1_dl_expansion_time;               /* Time */
407
static int hf_p1_OriginatorAndDLExpansionHistory_item;  /* OriginatorAndDLExpansion */
408
static int hf_p1_originator_or_dl_name;           /* ORAddressAndOptionalDirectoryName */
409
static int hf_p1_origination_or_expansion_time;   /* Time */
410
static int hf_p1_domain;                          /* GlobalDomainIdentifier */
411
static int hf_p1_mta_directory_name;              /* Name */
412
static int hf_p1_ExtendedCertificates_item;       /* ExtendedCertificate */
413
static int hf_p1_directory_entry;                 /* Name */
414
static int hf_p1_DLExemptedRecipients_item;       /* ORAddressAndOrDirectoryName */
415
static int hf_p1_encryption_recipient;            /* CertificateAssertion */
416
static int hf_p1_encryption_originator;           /* CertificateAssertion */
417
static int hf_p1_selectors_content_integrity_check;  /* CertificateAssertion */
418
static int hf_p1_token_signature;                 /* CertificateAssertion */
419
static int hf_p1_message_origin_authentication;   /* CertificateAssertion */
420
static int hf_p1_local_identifier;                /* LocalIdentifier */
421
static int hf_p1_numeric_private_domain_identifier;  /* T_numeric_private_domain_identifier */
422
static int hf_p1_printable_private_domain_identifier;  /* T_printable_private_domain_identifier */
423
static int hf_p1_built_in_standard_attributes;    /* BuiltInStandardAttributes */
424
static int hf_p1_built_in_domain_defined_attributes;  /* BuiltInDomainDefinedAttributes */
425
static int hf_p1_extension_attributes;            /* ExtensionAttributes */
426
static int hf_p1_network_address;                 /* NetworkAddress */
427
static int hf_p1_terminal_identifier;             /* TerminalIdentifier */
428
static int hf_p1_private_domain_name;             /* PrivateDomainName */
429
static int hf_p1_organization_name;               /* OrganizationName */
430
static int hf_p1_numeric_user_identifier;         /* NumericUserIdentifier */
431
static int hf_p1_personal_name;                   /* PersonalName */
432
static int hf_p1_organizational_unit_names;       /* OrganizationalUnitNames */
433
static int hf_p1_x121_dcc_code;                   /* T_x121_dcc_code */
434
static int hf_p1_iso_3166_alpha2_code;            /* T_iso_3166_alpha2_code */
435
static int hf_p1_numeric;                         /* T_numeric */
436
static int hf_p1_printable;                       /* T_printable */
437
static int hf_p1_numeric_private_domain_name;     /* T_numeric_private_domain_name */
438
static int hf_p1_printable_private_domain_name;   /* T_printable_private_domain_name */
439
static int hf_p1_printable_surname;               /* T_printable_surname */
440
static int hf_p1_printable_given_name;            /* T_printable_given_name */
441
static int hf_p1_printable_initials;              /* T_printable_initials */
442
static int hf_p1_printable_generation_qualifier;  /* T_printable_generation_qualifier */
443
static int hf_p1_OrganizationalUnitNames_item;    /* OrganizationalUnitName */
444
static int hf_p1_BuiltInDomainDefinedAttributes_item;  /* BuiltInDomainDefinedAttribute */
445
static int hf_p1_printable_type;                  /* T_printable_type */
446
static int hf_p1_printable_value;                 /* T_printable_value */
447
static int hf_p1_ExtensionAttributes_item;        /* ExtensionAttribute */
448
static int hf_p1_extension_attribute_type;        /* ExtensionAttributeType */
449
static int hf_p1_extension_attribute_value;       /* T_extension_attribute_value */
450
static int hf_p1_teletex_surname;                 /* T_teletex_surname */
451
static int hf_p1_teletex_given_name;              /* T_teletex_given_name */
452
static int hf_p1_teletex_initials;                /* T_teletex_initials */
453
static int hf_p1_teletex_generation_qualifier;    /* T_teletex_generation_qualifier */
454
static int hf_p1_universal_surname;               /* UniversalOrBMPString */
455
static int hf_p1_universal_given_name;            /* UniversalOrBMPString */
456
static int hf_p1_universal_initials;              /* UniversalOrBMPString */
457
static int hf_p1_universal_generation_qualifier;  /* UniversalOrBMPString */
458
static int hf_p1_TeletexOrganizationalUnitNames_item;  /* TeletexOrganizationalUnitName */
459
static int hf_p1_UniversalOrganizationalUnitNames_item;  /* UniversalOrganizationalUnitName */
460
static int hf_p1_character_encoding;              /* T_character_encoding */
461
static int hf_p1_two_octets;                      /* BMPString_SIZE_1_ub_string_length */
462
static int hf_p1_four_octets;                     /* UniversalString_SIZE_1_ub_string_length */
463
static int hf_p1_iso_639_language_code;           /* PrintableString_SIZE_CONSTR001 */
464
static int hf_p1_x121_dcc_code_01;                /* T_x121_dcc_code_01 */
465
static int hf_p1_iso_3166_alpha2_code_01;         /* T_iso_3166_alpha2_code_01 */
466
static int hf_p1_numeric_code;                    /* T_numeric_code */
467
static int hf_p1_printable_code;                  /* PrintableString_SIZE_1_ub_postal_code_length */
468
static int hf_p1_printable_address;               /* T_printable_address */
469
static int hf_p1_printable_address_item;          /* PrintableString_SIZE_1_ub_pds_parameter_length */
470
static int hf_p1_teletex_string;                  /* TeletexString_SIZE_1_ub_unformatted_address_length */
471
static int hf_p1_printable_string;                /* PrintableString_SIZE_1_ub_pds_parameter_length */
472
static int hf_p1_pds_teletex_string;              /* TeletexString_SIZE_1_ub_pds_parameter_length */
473
static int hf_p1_e163_4_address;                  /* T_e163_4_address */
474
static int hf_p1_number;                          /* NumericString_SIZE_1_ub_e163_4_number_length */
475
static int hf_p1_sub_address;                     /* NumericString_SIZE_1_ub_e163_4_sub_address_length */
476
static int hf_p1_psap_address;                    /* PresentationAddress */
477
static int hf_p1_TeletexDomainDefinedAttributes_item;  /* TeletexDomainDefinedAttribute */
478
static int hf_p1_type;                            /* T_type */
479
static int hf_p1_teletex_value;                   /* T_teletex_value */
480
static int hf_p1_UniversalDomainDefinedAttributes_item;  /* UniversalDomainDefinedAttribute */
481
static int hf_p1_universal_type;                  /* UniversalOrBMPString */
482
static int hf_p1_universal_value;                 /* UniversalOrBMPString */
483
static int hf_p1_ExtendedEncodedInformationTypes_item;  /* ExtendedEncodedInformationType */
484
static int hf_p1_g3_facsimile;                    /* G3FacsimileNonBasicParameters */
485
static int hf_p1_teletex;                         /* TeletexNonBasicParameters */
486
static int hf_p1_graphic_character_sets;          /* TeletexString */
487
static int hf_p1_control_character_sets;          /* TeletexString */
488
static int hf_p1_page_formats;                    /* OCTET_STRING */
489
static int hf_p1_miscellaneous_terminal_capabilities;  /* TeletexString */
490
static int hf_p1_private_use;                     /* OCTET_STRING */
491
static int hf_p1_token_type_identifier;           /* TokenTypeIdentifier */
492
static int hf_p1_token;                           /* TokenTypeData */
493
static int hf_p1_signature_algorithm_identifier;  /* AlgorithmIdentifier */
494
static int hf_p1_name;                            /* T_name */
495
static int hf_p1_token_recipient_name;            /* RecipientName */
496
static int hf_p1_token_mta;                       /* MTANameAndOptionalGDI */
497
static int hf_p1_time;                            /* Time */
498
static int hf_p1_signed_data;                     /* TokenData */
499
static int hf_p1_encryption_algorithm_identifier;  /* AlgorithmIdentifier */
500
static int hf_p1_encrypted_data;                  /* BIT_STRING */
501
static int hf_p1_asymmetric_token_data;           /* AsymmetricTokenData */
502
static int hf_p1_algorithm_identifier;            /* AlgorithmIdentifier */
503
static int hf_p1_token_data_type;                 /* TokenDataType */
504
static int hf_p1_value;                           /* T_value */
505
static int hf_p1_content_confidentiality_algorithm_identifier;  /* ContentConfidentialityAlgorithmIdentifier */
506
static int hf_p1_content_integrity_check;         /* ContentIntegrityCheck */
507
static int hf_p1_message_security_label;          /* MessageSecurityLabel */
508
static int hf_p1_proof_of_delivery_request;       /* ProofOfDeliveryRequest */
509
static int hf_p1_message_sequence_number;         /* INTEGER */
510
static int hf_p1_content_confidentiality_key;     /* EncryptionKey */
511
static int hf_p1_content_integrity_key;           /* EncryptionKey */
512
static int hf_p1_security_policy_identifier;      /* SecurityPolicyIdentifier */
513
static int hf_p1_security_classification;         /* SecurityClassification */
514
static int hf_p1_privacy_mark;                    /* PrivacyMark */
515
static int hf_p1_security_categories;             /* SecurityCategories */
516
static int hf_p1_SecurityCategories_item;         /* SecurityCategory */
517
static int hf_p1_category_type;                   /* SecurityCategoryIdentifier */
518
static int hf_p1_category_value;                  /* CategoryValue */
519
static int hf_p1_mta_originator_name;             /* MTAOriginatorName */
520
static int hf_p1_per_recipient_message_fields;    /* SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageTransferFields */
521
static int hf_p1_per_recipient_message_fields_item;  /* PerRecipientMessageTransferFields */
522
static int hf_p1_per_recipient_probe_transfer_fields;  /* SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeTransferFields */
523
static int hf_p1_per_recipient_probe_transfer_fields_item;  /* PerRecipientProbeTransferFields */
524
static int hf_p1_per_recipient_report_fields;     /* SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportTransferFields */
525
static int hf_p1_per_recipient_report_fields_item;  /* PerRecipientReportTransferFields */
526
static int hf_p1_routing_action;                  /* RoutingAction */
527
static int hf_p1_attempted;                       /* T_attempted */
528
static int hf_p1_mta;                             /* MTAName */
529
static int hf_p1_attempted_domain;                /* GlobalDomainIdentifier */
530
static int hf_p1_per_recipient_report_delivery_fields;  /* SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportDeliveryFields */
531
static int hf_p1_per_recipient_report_delivery_fields_item;  /* PerRecipientReportDeliveryFields */
532
static int hf_p1_mts_originator_name;             /* OriginatorName */
533
static int hf_p1_per_recipient_message_submission_fields;  /* SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageSubmissionFields */
534
static int hf_p1_per_recipient_message_submission_fields_item;  /* PerRecipientMessageSubmissionFields */
535
static int hf_p1_per_recipient_probe_submission_fields;  /* SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeSubmissionFields */
536
static int hf_p1_per_recipient_probe_submission_fields_item;  /* PerRecipientProbeSubmissionFields */
537
static int hf_p1_directory_name;                  /* Name */
538
static int hf_p1_built_in_encoded_information_types;  /* BuiltInEncodedInformationTypes */
539
static int hf_p1_extended_encoded_information_types;  /* ExtendedEncodedInformationTypes */
540
/* named bits */
541
static int hf_p1_PerRecipientIndicators_responsibility;
542
static int hf_p1_PerRecipientIndicators_originating_MTA_report;
543
static int hf_p1_PerRecipientIndicators_originating_MTA_non_delivery_report;
544
static int hf_p1_PerRecipientIndicators_originator_report;
545
static int hf_p1_PerRecipientIndicators_originator_non_delivery_report;
546
static int hf_p1_PerRecipientIndicators_reserved_5;
547
static int hf_p1_PerRecipientIndicators_reserved_6;
548
static int hf_p1_PerRecipientIndicators_reserved_7;
549
static int hf_p1_OtherActions_redirected;
550
static int hf_p1_OtherActions_dl_operation;
551
static int hf_p1_Operations_probe_submission_or_report_delivery;
552
static int hf_p1_Operations_message_submission_or_message_delivery;
553
static int hf_p1_WaitingMessages_long_content;
554
static int hf_p1_WaitingMessages_low_priority;
555
static int hf_p1_WaitingMessages_other_security_labels;
556
static int hf_p1_T_source_type_originated_by;
557
static int hf_p1_T_source_type_redirected_by;
558
static int hf_p1_T_source_type_dl_expanded_by;
559
static int hf_p1_T_standard_parameters_user_name;
560
static int hf_p1_T_standard_parameters_user_address;
561
static int hf_p1_T_standard_parameters_deliverable_class;
562
static int hf_p1_T_standard_parameters_default_delivery_controls;
563
static int hf_p1_T_standard_parameters_redirections;
564
static int hf_p1_T_standard_parameters_restricted_delivery;
565
static int hf_p1_PerMessageIndicators_U_disclosure_of_other_recipients;
566
static int hf_p1_PerMessageIndicators_U_implicit_conversion_prohibited;
567
static int hf_p1_PerMessageIndicators_U_alternate_recipient_allowed;
568
static int hf_p1_PerMessageIndicators_U_content_return_request;
569
static int hf_p1_PerMessageIndicators_U_reserved;
570
static int hf_p1_PerMessageIndicators_U_bit_5;
571
static int hf_p1_PerMessageIndicators_U_bit_6;
572
static int hf_p1_PerMessageIndicators_U_service_message;
573
static int hf_p1_OriginatorReportRequest_spare_bit0;
574
static int hf_p1_OriginatorReportRequest_spare_bit1;
575
static int hf_p1_OriginatorReportRequest_spare_bit2;
576
static int hf_p1_OriginatorReportRequest_report;
577
static int hf_p1_OriginatorReportRequest_non_delivery_report;
578
static int hf_p1_DeliveryFlags_spare_bit0;
579
static int hf_p1_DeliveryFlags_implicit_conversion_prohibited;
580
static int hf_p1_Criticality_for_submission;
581
static int hf_p1_Criticality_for_transfer;
582
static int hf_p1_Criticality_for_delivery;
583
static int hf_p1_PhysicalDeliveryModes_ordinary_mail;
584
static int hf_p1_PhysicalDeliveryModes_special_delivery;
585
static int hf_p1_PhysicalDeliveryModes_express_mail;
586
static int hf_p1_PhysicalDeliveryModes_counter_collection;
587
static int hf_p1_PhysicalDeliveryModes_counter_collection_with_telephone_advice;
588
static int hf_p1_PhysicalDeliveryModes_counter_collection_with_telex_advice;
589
static int hf_p1_PhysicalDeliveryModes_counter_collection_with_teletex_advice;
590
static int hf_p1_PhysicalDeliveryModes_bureau_fax_delivery;
591
static int hf_p1_BuiltInEncodedInformationTypes_unknown;
592
static int hf_p1_BuiltInEncodedInformationTypes_telex;
593
static int hf_p1_BuiltInEncodedInformationTypes_ia5_text;
594
static int hf_p1_BuiltInEncodedInformationTypes_g3_facsimile;
595
static int hf_p1_BuiltInEncodedInformationTypes_g4_class_1;
596
static int hf_p1_BuiltInEncodedInformationTypes_teletex;
597
static int hf_p1_BuiltInEncodedInformationTypes_videotex;
598
static int hf_p1_BuiltInEncodedInformationTypes_voice;
599
static int hf_p1_BuiltInEncodedInformationTypes_sfd;
600
static int hf_p1_BuiltInEncodedInformationTypes_mixed_mode;
601
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit0;
602
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit1;
603
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit2;
604
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit3;
605
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit4;
606
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit5;
607
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit6;
608
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit7;
609
static int hf_p1_G3FacsimileNonBasicParameters_two_dimensional;
610
static int hf_p1_G3FacsimileNonBasicParameters_fine_resolution;
611
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit10;
612
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit11;
613
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit12;
614
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit13;
615
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit14;
616
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit15;
617
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit16;
618
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit17;
619
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit18;
620
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit19;
621
static int hf_p1_G3FacsimileNonBasicParameters_unlimited_length;
622
static int hf_p1_G3FacsimileNonBasicParameters_b4_length;
623
static int hf_p1_G3FacsimileNonBasicParameters_a3_width;
624
static int hf_p1_G3FacsimileNonBasicParameters_b4_width;
625
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit24;
626
static int hf_p1_G3FacsimileNonBasicParameters_t6_coding;
627
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit26;
628
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit27;
629
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit28;
630
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit29;
631
static int hf_p1_G3FacsimileNonBasicParameters_uncompressed;
632
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit31;
633
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit32;
634
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit33;
635
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit34;
636
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit35;
637
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit36;
638
static int hf_p1_G3FacsimileNonBasicParameters_width_middle_864_of_1728;
639
static int hf_p1_G3FacsimileNonBasicParameters_width_middle_1216_of_1728;
640
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit39;
641
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit40;
642
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit41;
643
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit42;
644
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit43;
645
static int hf_p1_G3FacsimileNonBasicParameters_resolution_type;
646
static int hf_p1_G3FacsimileNonBasicParameters_resolution_400x400;
647
static int hf_p1_G3FacsimileNonBasicParameters_resolution_300x300;
648
static int hf_p1_G3FacsimileNonBasicParameters_resolution_8x15;
649
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit48;
650
static int hf_p1_G3FacsimileNonBasicParameters_edi;
651
static int hf_p1_G3FacsimileNonBasicParameters_dtm;
652
static int hf_p1_G3FacsimileNonBasicParameters_bft;
653
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit52;
654
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit53;
655
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit54;
656
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit55;
657
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit56;
658
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit57;
659
static int hf_p1_G3FacsimileNonBasicParameters_mixed_mode;
660
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit59;
661
static int hf_p1_G3FacsimileNonBasicParameters_character_mode;
662
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit61;
663
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit62;
664
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit63;
665
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit64;
666
static int hf_p1_G3FacsimileNonBasicParameters_twelve_bits;
667
static int hf_p1_G3FacsimileNonBasicParameters_preferred_huffmann;
668
static int hf_p1_G3FacsimileNonBasicParameters_full_colour;
669
static int hf_p1_G3FacsimileNonBasicParameters_jpeg;
670
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit69;
671
static int hf_p1_G3FacsimileNonBasicParameters_spare_bit70;
672
static int hf_p1_G3FacsimileNonBasicParameters_processable_mode_26;
673
674
/* Initialize the subtree pointers */
675
static int ett_p1;
676
static int ett_p3;
677
static int ett_p1_content_unknown;
678
static int ett_p1_bilateral_information;
679
static int ett_p1_additional_information;
680
static int ett_p1_unknown_standard_extension;
681
static int ett_p1_unknown_extension_attribute_type;
682
static int ett_p1_unknown_tokendata_type;
683
static int ett_p1_MTABindArgument;
684
static int ett_p1_AuthenticatedArgument;
685
static int ett_p1_MTABindResult;
686
static int ett_p1_AuthenticatedResult;
687
static int ett_p1_MTS_APDU;
688
static int ett_p1_Message;
689
static int ett_p1_Report;
690
static int ett_p1_MessageTransferEnvelope;
691
static int ett_p1_PerMessageTransferFields;
692
static int ett_p1_SEQUENCE_SIZE_1_ub_transfers_OF_PerDomainBilateralInformation;
693
static int ett_p1_SET_OF_ExtensionField;
694
static int ett_p1_PerRecipientMessageTransferFields;
695
static int ett_p1_ProbeTransferEnvelope;
696
static int ett_p1_PerProbeTransferFields;
697
static int ett_p1_PerRecipientProbeTransferFields;
698
static int ett_p1_ReportTransferEnvelope;
699
static int ett_p1_ReportTransferContent;
700
static int ett_p1_PerReportTransferFields;
701
static int ett_p1_PerRecipientReportTransferFields;
702
static int ett_p1_PerDomainBilateralInformation;
703
static int ett_p1_T_bilateral_domain;
704
static int ett_p1_T_private_domain;
705
static int ett_p1_PerRecipientIndicators;
706
static int ett_p1_LastTraceInformation;
707
static int ett_p1_InternalTraceInformation;
708
static int ett_p1_InternalTraceInformationElement;
709
static int ett_p1_MTASuppliedInformation;
710
static int ett_p1_SEQUENCE_SIZE_1_ub_transfers_OF_TraceInformationElement;
711
static int ett_p1_TraceInformationElement;
712
static int ett_p1_DomainSuppliedInformation;
713
static int ett_p1_AdditionalActions;
714
static int ett_p1_OtherActions;
715
static int ett_p1_MTSBindArgument;
716
static int ett_p1_MTSBindResult;
717
static int ett_p1_ObjectName;
718
static int ett_p1_MessagesWaiting;
719
static int ett_p1_DeliveryQueue;
720
static int ett_p1_Credentials;
721
static int ett_p1_Password;
722
static int ett_p1_StrongCredentials;
723
static int ett_p1_ProtectedPassword;
724
static int ett_p1_Signature;
725
static int ett_p1_SecurityContext;
726
static int ett_p1_MessageSubmissionArgument;
727
static int ett_p1_MessageSubmissionResult;
728
static int ett_p1_ProbeSubmissionResult;
729
static int ett_p1_ImproperlySpecifiedRecipients;
730
static int ett_p1_Waiting;
731
static int ett_p1_SET_SIZE_0_ub_content_types_OF_ContentType;
732
static int ett_p1_Operations;
733
static int ett_p1_WaitingMessages;
734
static int ett_p1_MessageDeliveryArgument;
735
static int ett_p1_MessageDeliveryResult;
736
static int ett_p1_ReportDeliveryArgument;
737
static int ett_p1_ReportDeliveryResult;
738
static int ett_p1_SET_SIZE_1_MAX_OF_ExtensionField;
739
static int ett_p1_DeliveryControlArgument;
740
static int ett_p1_DeliveryControlResult;
741
static int ett_p1_RefusedOperation;
742
static int ett_p1_T_refused_argument;
743
static int ett_p1_Controls;
744
static int ett_p1_RegisterArgument;
745
static int ett_p1_SET_SIZE_1_ub_deliverable_class_OF_DeliverableClass;
746
static int ett_p1_RegisterResult;
747
static int ett_p1_T_non_empty_result;
748
static int ett_p1_ChangeCredentialsArgument;
749
static int ett_p1_UserAddress;
750
static int ett_p1_T_x121;
751
static int ett_p1_Redirections;
752
static int ett_p1_RecipientRedirection;
753
static int ett_p1_SET_SIZE_1_ub_redirection_classes_OF_RedirectionClass;
754
static int ett_p1_MessageClass;
755
static int ett_p1_SET_OF_Priority;
756
static int ett_p1_SEQUENCE_OF_Restriction;
757
static int ett_p1_EncodedInformationTypesConstraints;
758
static int ett_p1_RestrictedDelivery;
759
static int ett_p1_Restriction;
760
static int ett_p1_T_source_type;
761
static int ett_p1_ExactOrPattern;
762
static int ett_p1_RegistrationTypes;
763
static int ett_p1_T_standard_parameters;
764
static int ett_p1_T_type_extensions;
765
static int ett_p1_MessageSubmissionEnvelope;
766
static int ett_p1_PerMessageSubmissionFields;
767
static int ett_p1_PerRecipientMessageSubmissionFields;
768
static int ett_p1_ProbeSubmissionEnvelope;
769
static int ett_p1_PerProbeSubmissionFields;
770
static int ett_p1_PerRecipientProbeSubmissionFields;
771
static int ett_p1_MessageDeliveryEnvelope;
772
static int ett_p1_OtherMessageDeliveryFields;
773
static int ett_p1_ReportDeliveryEnvelope;
774
static int ett_p1_PerReportDeliveryFields;
775
static int ett_p1_PerRecipientReportDeliveryFields;
776
static int ett_p1_ReportType;
777
static int ett_p1_DeliveryReport;
778
static int ett_p1_NonDeliveryReport;
779
static int ett_p1_ContentTypes;
780
static int ett_p1_ContentType;
781
static int ett_p1_DeliveredContentType;
782
static int ett_p1_PerMessageIndicators_U;
783
static int ett_p1_OriginatorReportRequest;
784
static int ett_p1_DeliveryFlags;
785
static int ett_p1_OtherRecipientNames;
786
static int ett_p1_ExtensionType;
787
static int ett_p1_Criticality;
788
static int ett_p1_ExtensionField;
789
static int ett_p1_RequestedDeliveryMethod;
790
static int ett_p1_PhysicalDeliveryModes;
791
static int ett_p1_ContentCorrelator;
792
static int ett_p1_RedirectionHistory;
793
static int ett_p1_Redirection;
794
static int ett_p1_IntendedRecipientName;
795
static int ett_p1_DLExpansionHistory;
796
static int ett_p1_DLExpansion;
797
static int ett_p1_OriginatorAndDLExpansionHistory;
798
static int ett_p1_OriginatorAndDLExpansion;
799
static int ett_p1_PerRecipientDeliveryReportFields;
800
static int ett_p1_PerRecipientNonDeliveryReportFields;
801
static int ett_p1_ReportingMTAName;
802
static int ett_p1_ExtendedCertificates;
803
static int ett_p1_ExtendedCertificate;
804
static int ett_p1_DLExemptedRecipients;
805
static int ett_p1_CertificateSelectors;
806
static int ett_p1_MTSIdentifier_U;
807
static int ett_p1_GlobalDomainIdentifier_U;
808
static int ett_p1_PrivateDomainIdentifier;
809
static int ett_p1_ORName_U;
810
static int ett_p1_ORAddress;
811
static int ett_p1_BuiltInStandardAttributes;
812
static int ett_p1_CountryName_U;
813
static int ett_p1_AdministrationDomainName_U;
814
static int ett_p1_PrivateDomainName;
815
static int ett_p1_PersonalName;
816
static int ett_p1_OrganizationalUnitNames;
817
static int ett_p1_BuiltInDomainDefinedAttributes;
818
static int ett_p1_BuiltInDomainDefinedAttribute;
819
static int ett_p1_ExtensionAttributes;
820
static int ett_p1_ExtensionAttribute;
821
static int ett_p1_TeletexPersonalName;
822
static int ett_p1_UniversalPersonalName;
823
static int ett_p1_TeletexOrganizationalUnitNames;
824
static int ett_p1_UniversalOrganizationalUnitNames;
825
static int ett_p1_UniversalOrBMPString;
826
static int ett_p1_T_character_encoding;
827
static int ett_p1_PhysicalDeliveryCountryName;
828
static int ett_p1_PostalCode;
829
static int ett_p1_UnformattedPostalAddress;
830
static int ett_p1_T_printable_address;
831
static int ett_p1_PDSParameter;
832
static int ett_p1_ExtendedNetworkAddress;
833
static int ett_p1_T_e163_4_address;
834
static int ett_p1_TeletexDomainDefinedAttributes;
835
static int ett_p1_TeletexDomainDefinedAttribute;
836
static int ett_p1_UniversalDomainDefinedAttributes;
837
static int ett_p1_UniversalDomainDefinedAttribute;
838
static int ett_p1_EncodedInformationTypes_U;
839
static int ett_p1_BuiltInEncodedInformationTypes;
840
static int ett_p1_ExtendedEncodedInformationTypes;
841
static int ett_p1_NonBasicParameters;
842
static int ett_p1_G3FacsimileNonBasicParameters;
843
static int ett_p1_TeletexNonBasicParameters;
844
static int ett_p1_Token;
845
static int ett_p1_AsymmetricTokenData;
846
static int ett_p1_T_name;
847
static int ett_p1_MTANameAndOptionalGDI;
848
static int ett_p1_AsymmetricToken;
849
static int ett_p1_TokenData;
850
static int ett_p1_MessageTokenSignedData;
851
static int ett_p1_MessageTokenEncryptedData;
852
static int ett_p1_SecurityLabel;
853
static int ett_p1_SecurityCategories;
854
static int ett_p1_SecurityCategory;
855
static int ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageTransferFields;
856
static int ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeTransferFields;
857
static int ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportTransferFields;
858
static int ett_p1_T_attempted;
859
static int ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportDeliveryFields;
860
static int ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageSubmissionFields;
861
static int ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeSubmissionFields;
862
863
static expert_field ei_p1_unknown_extension_attribute_type;
864
static expert_field ei_p1_unknown_standard_extension;
865
static expert_field ei_p1_unknown_built_in_content_type;
866
static expert_field ei_p1_unknown_tokendata_type;
867
static expert_field ei_p1_unsupported_pdu;
868
static expert_field ei_p1_zero_pdu;
869
870
/* Dissector tables */
871
static dissector_table_t p1_extension_dissector_table;
872
static dissector_table_t p1_extension_attribute_dissector_table;
873
static dissector_table_t p1_tokendata_dissector_table;
874
875
static dissector_handle_t p1_handle;
876
877
878
/* P3 ABSTRACT-OPERATIONS */
879
static const value_string p3_opr_code_string_vals[] = {
880
  { op_ros_bind, "mts_bind" },
881
  { op_message_submission, "message_submission" },
882
  { op_probe_submission, "probe_submission" },
883
  { op_cancel_deferred_delivery, "cancel_deferred_delivery" },
884
  { op_submission_control, "submission_control" },
885
  { op_message_delivery, "message_delivery" },
886
  { op_report_delivery, "report_delivery" },
887
  { op_delivery_control, "delivery_control" },
888
  { op_register, "register" },
889
  { op_change_credentials, "change_credentials" },
890
  { 0, NULL }
891
};
892
893
894
/* P3 ERRORS */
895
static const value_string p3_err_code_string_vals[] = {
896
  { err_ros_bind, "mts_bind_error" },
897
  { err_submission_control_violated, "submission_control_violated" },
898
  { err_element_of_service_not_subscribed, "element_of_service_not_subscribed" },
899
  { err_deferred_delivery_cancellation_rejected, "deferred_delivery_cancellation_rejected" },
900
  { err_originator_invalid, "originator_invalid" },
901
  { err_recipient_improperly_specified, "recipient_improperly_specified" },
902
  { err_message_submission_identifier_invalid, "message_submission_identifier_invalid" },
903
  { err_inconsistent_request, "inconsistent_request" },
904
  { err_security_error, "security_error" },
905
  { err_unsupported_critical_function, "unsupported_critical_function" },
906
  { err_remote_bind_error, "remote_bind_error" },
907
  { err_delivery_control_violated, "delivery_control_violated" },
908
  { err_control_violates_registration, "control_violates_registration" },
909
  { err_operation_refused, "operation_refused" },
910
  { err_register_rejected, "register_rejected" },
911
  { err_new_credentials_unacceptable, "new_credentials_unacceptable" },
912
  { err_old_credentials_incorrectly_specified, "old_credentials_incorrectly_specified" },
913
    { 0, NULL }
914
};
915
916
917
typedef struct p1_address_ctx {
918
    bool do_address;
919
    const char *content_type_id;
920
    bool report_unknown_content_type;
921
    wmem_strbuf_t* oraddress;
922
} p1_address_ctx_t;
923
924
static void set_do_address(asn1_ctx_t* actx, bool do_address)
925
148
{
926
148
    p1_address_ctx_t* ctx;
927
928
148
    if (actx->subtree.tree_ctx == NULL) {
929
0
        actx->subtree.tree_ctx = wmem_new0(actx->pinfo->pool, p1_address_ctx_t);
930
0
    }
931
932
148
    ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
933
148
    ctx->do_address = do_address;
934
148
}
935
936
static p1_address_ctx_t *get_do_address_ctx(asn1_ctx_t* actx)
937
1
{
938
1
    p1_address_ctx_t* ctx = NULL;
939
940
    /* First check if called from an extension attribute */
941
1
    ctx = (p1_address_ctx_t *)p_get_proto_data(actx->pinfo->pool, actx->pinfo, proto_p1, 0);
942
943
1
    if (!ctx) {
944
1
        ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
945
1
    }
946
947
1
    return ctx;
948
1
}
949
950
static void do_address(const char* addr, tvbuff_t* tvb_string, asn1_ctx_t* actx)
951
1
{
952
1
    p1_address_ctx_t* ctx = get_do_address_ctx(actx);
953
954
1
    if (ctx && ctx->do_address) {
955
1
        if (addr) {
956
1
            wmem_strbuf_append(ctx->oraddress, addr);
957
1
        }
958
1
        if (tvb_string) {
959
0
            wmem_strbuf_append(ctx->oraddress, tvb_format_text(actx->pinfo->pool, tvb_string, 0, tvb_captured_length(tvb_string)));
960
0
        }
961
1
    }
962
1
}
963
964
static void do_address_str(const char* addr, tvbuff_t* tvb_string, asn1_ctx_t* actx)
965
0
{
966
0
    wmem_strbuf_t *ddatype = (wmem_strbuf_t *)actx->value_ptr;
967
0
    p1_address_ctx_t* ctx = get_do_address_ctx(actx);
968
969
0
    do_address(addr, tvb_string, actx);
970
971
0
    if (ctx && ctx->do_address && ddatype && tvb_string)
972
0
        wmem_strbuf_append(ddatype, tvb_format_text(actx->pinfo->pool, tvb_string, 0, tvb_captured_length(tvb_string)));
973
0
}
974
975
static void do_address_str_tree(const char* addr, tvbuff_t* tvb_string, asn1_ctx_t* actx, proto_tree* tree)
976
0
{
977
0
    wmem_strbuf_t *ddatype = (wmem_strbuf_t *)actx->value_ptr;
978
0
    p1_address_ctx_t* ctx = get_do_address_ctx(actx);
979
980
0
    do_address(addr, tvb_string, actx);
981
982
0
    if (ctx && ctx->do_address && tvb_string && ddatype) {
983
0
        if (wmem_strbuf_get_len(ddatype) > 0) {
984
0
            proto_item_append_text (tree, " (%s=%s)", wmem_strbuf_get_str(ddatype), tvb_format_text(actx->pinfo->pool, tvb_string, 0, tvb_captured_length(tvb_string)));
985
0
        }
986
0
    }
987
0
}
988
989
990
991
static unsigned
992
0
dissect_p1_NULL(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
993
0
  offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
994
995
0
  return offset;
996
0
}
997
998
999
1000
static unsigned
1001
0
dissect_p1_MTAName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1002
0
  tvbuff_t  *mtaname = NULL;
1003
0
  p1_address_ctx_t* ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
1004
1005
0
    offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
1006
0
                                                        actx, tree, tvb, offset,
1007
0
                                                        1, ub_mta_name_length, hf_index, &mtaname);
1008
1009
1010
0
  if (ctx && ctx->do_address) {
1011
0
    proto_item_append_text(actx->subtree.tree, " %s", tvb_format_text(actx->pinfo->pool, mtaname, 0, tvb_reported_length(mtaname)));
1012
0
  } else {
1013
0
    if (mtaname) {
1014
0
      col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s", tvb_format_text(actx->pinfo->pool, mtaname, 0, tvb_reported_length(mtaname)));
1015
0
    }
1016
0
  }
1017
1018
1019
0
  return offset;
1020
0
}
1021
1022
1023
1024
static unsigned
1025
0
dissect_p1_IA5String_SIZE_0_ub_password_length(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1026
0
  offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
1027
0
                                                        actx, tree, tvb, offset,
1028
0
                                                        0, ub_password_length, hf_index, NULL);
1029
1030
0
  return offset;
1031
0
}
1032
1033
1034
1035
static unsigned
1036
0
dissect_p1_OCTET_STRING_SIZE_0_ub_password_length(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1037
0
  offset = dissect_ber_constrained_octet_string(implicit_tag, actx, tree, tvb, offset,
1038
0
                                                   0, ub_password_length, hf_index, NULL);
1039
1040
0
  return offset;
1041
0
}
1042
1043
1044
static const value_string p1_Password_vals[] = {
1045
  {   0, "ia5-string" },
1046
  {   1, "octet-string" },
1047
  { 0, NULL }
1048
};
1049
1050
static const ber_choice_t Password_choice[] = {
1051
  {   0, &hf_p1_ia5_string       , BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_p1_IA5String_SIZE_0_ub_password_length },
1052
  {   1, &hf_p1_octet_string     , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_p1_OCTET_STRING_SIZE_0_ub_password_length },
1053
  { 0, NULL, 0, 0, 0, NULL }
1054
};
1055
1056
static unsigned
1057
0
dissect_p1_Password(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1058
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
1059
0
                                 Password_choice, hf_index, ett_p1_Password,
1060
0
                                 NULL);
1061
1062
0
  return offset;
1063
0
}
1064
1065
1066
1067
static unsigned
1068
0
dissect_p1_TokenTypeIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1069
0
  offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &actx->external.direct_reference);
1070
1071
0
  return offset;
1072
0
}
1073
1074
1075
1076
static unsigned
1077
0
dissect_p1_TokenTypeData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1078
1079
0
  if(actx->external.direct_reference)
1080
0
    call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, actx->private_data);
1081
1082
1083
0
  return offset;
1084
0
}
1085
1086
1087
static const ber_sequence_t Token_sequence[] = {
1088
  { &hf_p1_token_type_identifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_TokenTypeIdentifier },
1089
  { &hf_p1_token            , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_TokenTypeData },
1090
  { NULL, 0, 0, 0, NULL }
1091
};
1092
1093
static unsigned
1094
0
dissect_p1_Token(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1095
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1096
0
                                   Token_sequence, hf_index, ett_p1_Token);
1097
1098
0
  return offset;
1099
0
}
1100
1101
1102
static const ber_sequence_t StrongCredentials_set[] = {
1103
  { &hf_p1_bind_token       , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_Token },
1104
  { &hf_p1_certificate      , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509af_Certificates },
1105
  { &hf_p1_certificate_selector, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion },
1106
  { NULL, 0, 0, 0, NULL }
1107
};
1108
1109
static unsigned
1110
0
dissect_p1_StrongCredentials(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1111
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1112
0
                              StrongCredentials_set, hf_index, ett_p1_StrongCredentials);
1113
1114
0
  return offset;
1115
0
}
1116
1117
1118
1119
static unsigned
1120
0
dissect_p1_BIT_STRING(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1121
0
  offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
1122
0
                                    NULL, 0, hf_index, -1,
1123
0
                                    NULL);
1124
1125
0
  return offset;
1126
0
}
1127
1128
1129
static const ber_sequence_t Signature_sequence[] = {
1130
  { &hf_p1_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
1131
  { &hf_p1_encrypted        , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_p1_BIT_STRING },
1132
  { NULL, 0, 0, 0, NULL }
1133
};
1134
1135
static unsigned
1136
0
dissect_p1_Signature(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1137
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1138
0
                                   Signature_sequence, hf_index, ett_p1_Signature);
1139
1140
0
  return offset;
1141
0
}
1142
1143
1144
1145
static unsigned
1146
0
dissect_p1_UTCTime(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1147
0
  offset = dissect_ber_UTCTime(implicit_tag, actx, tree, tvb, offset, hf_index, NULL, NULL);
1148
1149
0
  return offset;
1150
0
}
1151
1152
1153
static const ber_sequence_t ProtectedPassword_set[] = {
1154
  { &hf_p1_signature        , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_Signature },
1155
  { &hf_p1_time1            , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_UTCTime },
1156
  { &hf_p1_time2            , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_UTCTime },
1157
  { &hf_p1_random1          , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_BIT_STRING },
1158
  { &hf_p1_random2          , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_BIT_STRING },
1159
  { NULL, 0, 0, 0, NULL }
1160
};
1161
1162
static unsigned
1163
0
dissect_p1_ProtectedPassword(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1164
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1165
0
                              ProtectedPassword_set, hf_index, ett_p1_ProtectedPassword);
1166
1167
0
  return offset;
1168
0
}
1169
1170
1171
const value_string p1_Credentials_vals[] = {
1172
  {   0, "simple" },
1173
  {   1, "strong" },
1174
  {   2, "protected" },
1175
  { 0, NULL }
1176
};
1177
1178
static const ber_choice_t Credentials_choice[] = {
1179
  {   0, &hf_p1_simple           , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_p1_Password },
1180
  {   1, &hf_p1_strong           , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_StrongCredentials },
1181
  {   2, &hf_p1_protected        , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_ProtectedPassword },
1182
  { 0, NULL, 0, 0, 0, NULL }
1183
};
1184
1185
unsigned
1186
0
dissect_p1_Credentials(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1187
0
  int credentials = -1;
1188
1189
0
    offset = dissect_ber_choice(actx, tree, tvb, offset,
1190
0
                                 Credentials_choice, hf_index, ett_p1_Credentials,
1191
0
                                 &credentials);
1192
1193
1194
0
  if( (credentials!=-1) && p1_Credentials_vals[credentials].strptr ){
1195
0
    col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s", p1_Credentials_vals[credentials].strptr);
1196
0
  }
1197
1198
1199
0
  return offset;
1200
0
}
1201
1202
1203
1204
unsigned
1205
0
dissect_p1_InitiatorCredentials(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1206
0
  offset = dissect_p1_Credentials(implicit_tag, tvb, offset, actx, tree, hf_index);
1207
1208
0
  return offset;
1209
0
}
1210
1211
1212
1213
static unsigned
1214
0
dissect_p1_SecurityPolicyIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1215
0
  offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
1216
1217
0
  return offset;
1218
0
}
1219
1220
1221
static const value_string p1_SecurityClassification_vals[] = {
1222
  {   0, "unmarked" },
1223
  {   1, "unclassified" },
1224
  {   2, "restricted" },
1225
  {   3, "confidential" },
1226
  {   4, "secret" },
1227
  {   5, "top-secret" },
1228
  { 0, NULL }
1229
};
1230
1231
1232
static unsigned
1233
0
dissect_p1_SecurityClassification(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1234
0
  offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
1235
0
                                                            0U, ub_integer_options, hf_index, NULL);
1236
1237
0
  return offset;
1238
0
}
1239
1240
1241
1242
static unsigned
1243
0
dissect_p1_PrivacyMark(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1244
0
  offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1245
0
                                                        actx, tree, tvb, offset,
1246
0
                                                        1, ub_privacy_mark_length, hf_index, NULL);
1247
1248
0
  return offset;
1249
0
}
1250
1251
1252
1253
static unsigned
1254
0
dissect_p1_SecurityCategoryIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1255
0
  offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &actx->external.direct_reference);
1256
1257
0
  return offset;
1258
0
}
1259
1260
1261
1262
static unsigned
1263
0
dissect_p1_SecurityCategoryValue(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1264
0
  const char *name;
1265
1266
0
  if (actx->external.direct_reference) {
1267
0
    offset = call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, actx->private_data);
1268
0
    name = oid_resolved_from_string(actx->pinfo->pool, actx->external.direct_reference);
1269
0
    proto_item_append_text(tree, " (%s)", name ? name : actx->external.direct_reference);
1270
0
  } else {
1271
0
    offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree);
1272
0
  }
1273
1274
1275
0
  return offset;
1276
0
}
1277
1278
1279
1280
static unsigned
1281
0
dissect_p1_CategoryValue(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1282
0
  offset = dissect_p1_SecurityCategoryValue(implicit_tag, tvb, offset, actx, tree, hf_index);
1283
1284
0
  return offset;
1285
0
}
1286
1287
1288
static const ber_sequence_t SecurityCategory_sequence[] = {
1289
  { &hf_p1_category_type    , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_SecurityCategoryIdentifier },
1290
  { &hf_p1_category_value   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_CategoryValue },
1291
  { NULL, 0, 0, 0, NULL }
1292
};
1293
1294
static unsigned
1295
0
dissect_p1_SecurityCategory(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1296
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1297
0
                                   SecurityCategory_sequence, hf_index, ett_p1_SecurityCategory);
1298
1299
0
  return offset;
1300
0
}
1301
1302
1303
static const ber_sequence_t SecurityCategories_set_of[1] = {
1304
  { &hf_p1_SecurityCategories_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_SecurityCategory },
1305
};
1306
1307
static unsigned
1308
0
dissect_p1_SecurityCategories(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1309
0
  offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
1310
0
                                             1, ub_security_categories, SecurityCategories_set_of, hf_index, ett_p1_SecurityCategories);
1311
1312
0
  return offset;
1313
0
}
1314
1315
1316
static const ber_sequence_t SecurityLabel_set[] = {
1317
  { &hf_p1_security_policy_identifier, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_SecurityPolicyIdentifier },
1318
  { &hf_p1_security_classification, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_SecurityClassification },
1319
  { &hf_p1_privacy_mark     , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_PrivacyMark },
1320
  { &hf_p1_security_categories, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_SecurityCategories },
1321
  { NULL, 0, 0, 0, NULL }
1322
};
1323
1324
unsigned
1325
0
dissect_p1_SecurityLabel(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1326
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1327
0
                              SecurityLabel_set, hf_index, ett_p1_SecurityLabel);
1328
1329
0
  return offset;
1330
0
}
1331
1332
1333
static const ber_sequence_t SecurityContext_set_of[1] = {
1334
  { &hf_p1_SecurityContext_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_SecurityLabel },
1335
};
1336
1337
unsigned
1338
0
dissect_p1_SecurityContext(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1339
0
  offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
1340
0
                                             1, ub_security_labels, SecurityContext_set_of, hf_index, ett_p1_SecurityContext);
1341
1342
0
  return offset;
1343
0
}
1344
1345
1346
static const ber_sequence_t AuthenticatedArgument_set[] = {
1347
  { &hf_p1_authenticated_initiator_name, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_MTAName },
1348
  { &hf_p1_initiator_credentials, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_InitiatorCredentials },
1349
  { &hf_p1_security_context , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SecurityContext },
1350
  { NULL, 0, 0, 0, NULL }
1351
};
1352
1353
static unsigned
1354
0
dissect_p1_AuthenticatedArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1355
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1356
0
                              AuthenticatedArgument_set, hf_index, ett_p1_AuthenticatedArgument);
1357
1358
0
  return offset;
1359
0
}
1360
1361
1362
static const value_string p1_MTABindArgument_vals[] = {
1363
  {   0, "unauthenticated" },
1364
  {   1, "authenticated" },
1365
  { 0, NULL }
1366
};
1367
1368
static const ber_choice_t MTABindArgument_choice[] = {
1369
  {   0, &hf_p1_unauthenticated  , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_p1_NULL },
1370
  {   1, &hf_p1_authenticated_argument, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_AuthenticatedArgument },
1371
  { 0, NULL, 0, 0, 0, NULL }
1372
};
1373
1374
static unsigned
1375
0
dissect_p1_MTABindArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1376
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
1377
0
                                 MTABindArgument_choice, hf_index, ett_p1_MTABindArgument,
1378
0
                                 NULL);
1379
1380
0
  return offset;
1381
0
}
1382
1383
1384
1385
unsigned
1386
0
dissect_p1_ResponderCredentials(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1387
0
  offset = dissect_p1_Credentials(implicit_tag, tvb, offset, actx, tree, hf_index);
1388
1389
0
  return offset;
1390
0
}
1391
1392
1393
static const ber_sequence_t AuthenticatedResult_set[] = {
1394
  { &hf_p1_authenticated_responder_name, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_MTAName },
1395
  { &hf_p1_responder_credentials, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_ResponderCredentials },
1396
  { NULL, 0, 0, 0, NULL }
1397
};
1398
1399
static unsigned
1400
0
dissect_p1_AuthenticatedResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1401
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1402
0
                              AuthenticatedResult_set, hf_index, ett_p1_AuthenticatedResult);
1403
1404
0
  return offset;
1405
0
}
1406
1407
1408
static const value_string p1_MTABindResult_vals[] = {
1409
  {   0, "unauthenticated" },
1410
  {   1, "authenticated" },
1411
  { 0, NULL }
1412
};
1413
1414
static const ber_choice_t MTABindResult_choice[] = {
1415
  {   0, &hf_p1_unauthenticated  , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_p1_NULL },
1416
  {   1, &hf_p1_authenticated_result, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_AuthenticatedResult },
1417
  { 0, NULL, 0, 0, 0, NULL }
1418
};
1419
1420
static unsigned
1421
0
dissect_p1_MTABindResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1422
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
1423
0
                                 MTABindResult_choice, hf_index, ett_p1_MTABindResult,
1424
0
                                 NULL);
1425
1426
0
  return offset;
1427
0
}
1428
1429
1430
static const value_string p1_MTABindError_vals[] = {
1431
  {   0, "busy" },
1432
  {   2, "authentication-error" },
1433
  {   3, "unacceptable-dialogue-mode" },
1434
  {   4, "unacceptable-security-context" },
1435
  {   5, "inadequate-association-confidentiality" },
1436
  { 0, NULL }
1437
};
1438
1439
1440
static unsigned
1441
0
dissect_p1_MTABindError(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1442
0
  uint32_t error = 0;
1443
0
    offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
1444
0
                                                            0U, ub_integer_options, hf_index, &error);
1445
1446
0
  col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%s)", val_to_str(actx->pinfo->pool, error, p1_MTABindError_vals, "error(%d)"));
1447
1448
1449
0
  return offset;
1450
0
}
1451
1452
1453
1454
static unsigned
1455
0
dissect_p1_T_x121_dcc_code(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1456
0
  tvbuff_t  *nstring = NULL;
1457
1458
0
    offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
1459
0
                                                        actx, tree, tvb, offset,
1460
0
                                                        ub_country_name_numeric_length, ub_country_name_numeric_length, hf_index, &nstring);
1461
1462
1463
0
  do_address(NULL, nstring, actx);
1464
1465
1466
0
  return offset;
1467
0
}
1468
1469
1470
1471
static unsigned
1472
0
dissect_p1_T_iso_3166_alpha2_code(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1473
0
  tvbuff_t  *nstring = NULL;
1474
1475
0
    offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1476
0
                                                        actx, tree, tvb, offset,
1477
0
                                                        ub_country_name_alpha_length, ub_country_name_alpha_length, hf_index, &nstring);
1478
1479
1480
0
  do_address(NULL, nstring, actx);
1481
1482
1483
0
  return offset;
1484
0
}
1485
1486
1487
static const value_string p1_CountryName_U_vals[] = {
1488
  {   0, "x121-dcc-code" },
1489
  {   1, "iso-3166-alpha2-code" },
1490
  { 0, NULL }
1491
};
1492
1493
static const ber_choice_t CountryName_U_choice[] = {
1494
  {   0, &hf_p1_x121_dcc_code    , BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_p1_T_x121_dcc_code },
1495
  {   1, &hf_p1_iso_3166_alpha2_code, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_p1_T_iso_3166_alpha2_code },
1496
  { 0, NULL, 0, 0, 0, NULL }
1497
};
1498
1499
static unsigned
1500
0
dissect_p1_CountryName_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1501
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
1502
0
                                 CountryName_U_choice, hf_index, ett_p1_CountryName_U,
1503
0
                                 NULL);
1504
1505
0
  return offset;
1506
0
}
1507
1508
1509
1510
static unsigned
1511
0
dissect_p1_CountryName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1512
0
  do_address("/C=", NULL, actx);
1513
1514
0
    offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
1515
0
                                      hf_index, BER_CLASS_APP, 1, true, dissect_p1_CountryName_U);
1516
1517
1518
1519
0
  return offset;
1520
0
}
1521
1522
1523
1524
static unsigned
1525
0
dissect_p1_T_numeric(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1526
0
  tvbuff_t  *nstring = NULL;
1527
1528
0
    offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
1529
0
                                                        actx, tree, tvb, offset,
1530
0
                                                        0, ub_domain_name_length, hf_index, &nstring);
1531
1532
1533
0
  do_address(NULL, nstring, actx);
1534
1535
1536
0
  return offset;
1537
0
}
1538
1539
1540
1541
static unsigned
1542
0
dissect_p1_T_printable(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1543
0
  tvbuff_t  *nstring = NULL;
1544
1545
0
    offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1546
0
                                                        actx, tree, tvb, offset,
1547
0
                                                        0, ub_domain_name_length, hf_index, &nstring);
1548
1549
1550
0
  do_address(NULL, nstring, actx);
1551
1552
1553
0
  return offset;
1554
0
}
1555
1556
1557
static const value_string p1_AdministrationDomainName_U_vals[] = {
1558
  {   0, "numeric" },
1559
  {   1, "printable" },
1560
  { 0, NULL }
1561
};
1562
1563
static const ber_choice_t AdministrationDomainName_U_choice[] = {
1564
  {   0, &hf_p1_numeric          , BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_p1_T_numeric },
1565
  {   1, &hf_p1_printable        , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_p1_T_printable },
1566
  { 0, NULL, 0, 0, 0, NULL }
1567
};
1568
1569
static unsigned
1570
0
dissect_p1_AdministrationDomainName_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1571
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
1572
0
                                 AdministrationDomainName_U_choice, hf_index, ett_p1_AdministrationDomainName_U,
1573
0
                                 NULL);
1574
1575
0
  return offset;
1576
0
}
1577
1578
1579
1580
static unsigned
1581
0
dissect_p1_AdministrationDomainName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1582
0
  do_address("/A=", NULL, actx);
1583
1584
0
    offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
1585
0
                                      hf_index, BER_CLASS_APP, 2, true, dissect_p1_AdministrationDomainName_U);
1586
1587
1588
1589
0
  return offset;
1590
0
}
1591
1592
1593
1594
static unsigned
1595
0
dissect_p1_T_numeric_private_domain_identifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1596
0
  tvbuff_t  *nstring = NULL;
1597
1598
0
    offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
1599
0
                                                        actx, tree, tvb, offset,
1600
0
                                                        1, ub_domain_name_length, hf_index, &nstring);
1601
1602
1603
0
  do_address(NULL, nstring, actx);
1604
1605
1606
0
  return offset;
1607
0
}
1608
1609
1610
1611
static unsigned
1612
0
dissect_p1_T_printable_private_domain_identifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1613
0
  tvbuff_t  *nstring = NULL;
1614
1615
0
    offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1616
0
                                                        actx, tree, tvb, offset,
1617
0
                                                        1, ub_domain_name_length, hf_index, &nstring);
1618
1619
1620
0
  do_address(NULL, nstring, actx);
1621
1622
1623
0
  return offset;
1624
0
}
1625
1626
1627
static const value_string p1_PrivateDomainIdentifier_vals[] = {
1628
  {   0, "numeric" },
1629
  {   1, "printable" },
1630
  { 0, NULL }
1631
};
1632
1633
static const ber_choice_t PrivateDomainIdentifier_choice[] = {
1634
  {   0, &hf_p1_numeric_private_domain_identifier, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_p1_T_numeric_private_domain_identifier },
1635
  {   1, &hf_p1_printable_private_domain_identifier, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_p1_T_printable_private_domain_identifier },
1636
  { 0, NULL, 0, 0, 0, NULL }
1637
};
1638
1639
static unsigned
1640
0
dissect_p1_PrivateDomainIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1641
1642
0
  do_address("/P=", NULL, actx);
1643
1644
0
    offset = dissect_ber_choice(actx, tree, tvb, offset,
1645
0
                                 PrivateDomainIdentifier_choice, hf_index, ett_p1_PrivateDomainIdentifier,
1646
0
                                 NULL);
1647
1648
1649
1650
0
  return offset;
1651
0
}
1652
1653
1654
static const ber_sequence_t GlobalDomainIdentifier_U_sequence[] = {
1655
  { &hf_p1_country_name     , BER_CLASS_APP, 1, BER_FLAGS_NOOWNTAG, dissect_p1_CountryName },
1656
  { &hf_p1_administration_domain_name, BER_CLASS_APP, 2, BER_FLAGS_NOOWNTAG, dissect_p1_AdministrationDomainName },
1657
  { &hf_p1_private_domain_identifier, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_PrivateDomainIdentifier },
1658
  { NULL, 0, 0, 0, NULL }
1659
};
1660
1661
static unsigned
1662
0
dissect_p1_GlobalDomainIdentifier_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1663
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1664
0
                                   GlobalDomainIdentifier_U_sequence, hf_index, ett_p1_GlobalDomainIdentifier_U);
1665
1666
0
  return offset;
1667
0
}
1668
1669
1670
1671
static unsigned
1672
0
dissect_p1_GlobalDomainIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1673
0
  p1_address_ctx_t* ctx;
1674
1675
0
  if (actx->subtree.tree_ctx == NULL) {
1676
0
    actx->subtree.tree_ctx = wmem_new0(actx->pinfo->pool, p1_address_ctx_t);
1677
0
  }
1678
1679
0
  ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
1680
0
  ctx->oraddress = wmem_strbuf_new(actx->pinfo->pool, "");
1681
1682
0
  actx->subtree.tree = tree;
1683
1684
0
    offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
1685
0
                                      hf_index, BER_CLASS_APP, 3, true, dissect_p1_GlobalDomainIdentifier_U);
1686
1687
1688
0
  if (ctx->oraddress && (wmem_strbuf_get_len(ctx->oraddress) > 0)) {
1689
0
    proto_item_append_text(actx->subtree.tree, " (%s/", wmem_strbuf_get_str(ctx->oraddress));
1690
1691
0
    if (hf_index == hf_p1_subject_identifier) {
1692
0
      col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%s/", wmem_strbuf_get_str(ctx->oraddress));
1693
0
    }
1694
0
  }
1695
1696
1697
1698
0
  return offset;
1699
0
}
1700
1701
1702
1703
static unsigned
1704
0
dissect_p1_LocalIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1705
0
  tvbuff_t  *id = NULL;
1706
0
  p1_address_ctx_t* ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
1707
1708
0
    offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
1709
0
                                                        actx, tree, tvb, offset,
1710
0
                                                        1, ub_local_id_length, hf_index, &id);
1711
1712
1713
0
  if(id) {
1714
0
    if (ctx && ctx->do_address)
1715
0
      proto_item_append_text(actx->subtree.tree, " $ %s)", tvb_format_text(actx->pinfo->pool, id, 0, tvb_reported_length(id)));
1716
1717
0
    if (hf_index == hf_p1_subject_identifier)
1718
0
      col_append_fstr(actx->pinfo->cinfo, COL_INFO, " $ %s)", tvb_format_text(actx->pinfo->pool, id, 0, tvb_reported_length(id)));
1719
0
  }
1720
1721
1722
0
  return offset;
1723
0
}
1724
1725
1726
static const ber_sequence_t MTSIdentifier_U_sequence[] = {
1727
  { &hf_p1_global_domain_identifier, BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_p1_GlobalDomainIdentifier },
1728
  { &hf_p1_local_identifier , BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_p1_LocalIdentifier },
1729
  { NULL, 0, 0, 0, NULL }
1730
};
1731
1732
static unsigned
1733
0
dissect_p1_MTSIdentifier_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1734
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1735
0
                                   MTSIdentifier_U_sequence, hf_index, ett_p1_MTSIdentifier_U);
1736
1737
0
  return offset;
1738
0
}
1739
1740
1741
1742
static unsigned
1743
0
dissect_p1_MTSIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1744
1745
0
  set_do_address(actx, true);
1746
1747
0
    offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
1748
0
                                      hf_index, BER_CLASS_APP, 4, true, dissect_p1_MTSIdentifier_U);
1749
1750
1751
0
  set_do_address(actx, false);
1752
1753
1754
0
  return offset;
1755
0
}
1756
1757
1758
1759
static unsigned
1760
0
dissect_p1_MessageIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1761
0
  actx->subtree.tree = NULL;
1762
1763
0
    offset = dissect_p1_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
1764
1765
1766
1767
0
  return offset;
1768
0
}
1769
1770
1771
1772
static unsigned
1773
0
dissect_p1_X121Address(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1774
0
  tvbuff_t  *string = NULL;
1775
1776
0
    offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
1777
0
                                                        actx, tree, tvb, offset,
1778
0
                                                        1, ub_x121_address_length, hf_index, &string);
1779
1780
1781
0
  do_address("/PX121=", string, actx);
1782
1783
1784
0
  return offset;
1785
0
}
1786
1787
1788
1789
static unsigned
1790
0
dissect_p1_NetworkAddress(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1791
0
  offset = dissect_p1_X121Address(implicit_tag, tvb, offset, actx, tree, hf_index);
1792
1793
0
  return offset;
1794
0
}
1795
1796
1797
1798
static unsigned
1799
1
dissect_p1_TerminalIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1800
1
  tvbuff_t  *string = NULL;
1801
1802
1
    offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1803
1
                                                        actx, tree, tvb, offset,
1804
1
                                                        1, ub_terminal_id_length, hf_index, &string);
1805
1806
1807
1
  do_address("/UA-ID=", string, actx);
1808
1809
1810
1
  return offset;
1811
1
}
1812
1813
1814
1815
static unsigned
1816
0
dissect_p1_T_numeric_private_domain_name(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1817
0
  tvbuff_t  *nstring = NULL;
1818
1819
0
    offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
1820
0
                                                        actx, tree, tvb, offset,
1821
0
                                                        1, ub_domain_name_length, hf_index, &nstring);
1822
1823
1824
0
  do_address(NULL, nstring, actx);
1825
1826
1827
0
  return offset;
1828
0
}
1829
1830
1831
1832
static unsigned
1833
0
dissect_p1_T_printable_private_domain_name(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1834
0
  tvbuff_t  *nstring = NULL;
1835
1836
0
    offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1837
0
                                                        actx, tree, tvb, offset,
1838
0
                                                        1, ub_domain_name_length, hf_index, &nstring);
1839
1840
1841
0
  do_address(NULL, nstring, actx);
1842
1843
1844
0
  return offset;
1845
0
}
1846
1847
1848
static const value_string p1_PrivateDomainName_vals[] = {
1849
  {   0, "numeric" },
1850
  {   1, "printable" },
1851
  { 0, NULL }
1852
};
1853
1854
static const ber_choice_t PrivateDomainName_choice[] = {
1855
  {   0, &hf_p1_numeric_private_domain_name, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_p1_T_numeric_private_domain_name },
1856
  {   1, &hf_p1_printable_private_domain_name, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_p1_T_printable_private_domain_name },
1857
  { 0, NULL, 0, 0, 0, NULL }
1858
};
1859
1860
static unsigned
1861
0
dissect_p1_PrivateDomainName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1862
1863
0
  do_address("/P=", NULL, actx);
1864
1865
0
    offset = dissect_ber_choice(actx, tree, tvb, offset,
1866
0
                                 PrivateDomainName_choice, hf_index, ett_p1_PrivateDomainName,
1867
0
                                 NULL);
1868
1869
1870
1871
0
  return offset;
1872
0
}
1873
1874
1875
1876
static unsigned
1877
0
dissect_p1_OrganizationName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1878
0
  tvbuff_t  *string = NULL;
1879
1880
0
    offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1881
0
                                                        actx, tree, tvb, offset,
1882
0
                                                        1, ub_organization_name_length, hf_index, &string);
1883
1884
1885
0
  do_address("/O=", string, actx);
1886
1887
1888
0
  return offset;
1889
0
}
1890
1891
1892
1893
static unsigned
1894
0
dissect_p1_NumericUserIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1895
0
  offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
1896
0
                                                        actx, tree, tvb, offset,
1897
0
                                                        1, ub_numeric_user_id_length, hf_index, NULL);
1898
1899
0
  return offset;
1900
0
}
1901
1902
1903
1904
static unsigned
1905
0
dissect_p1_T_printable_surname(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1906
0
  tvbuff_t  *pstring = NULL;
1907
1908
0
    offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1909
0
                                                        actx, tree, tvb, offset,
1910
0
                                                        1, ub_surname_length, hf_index, &pstring);
1911
1912
1913
0
  do_address("/S=", pstring, actx);
1914
1915
1916
0
  return offset;
1917
0
}
1918
1919
1920
1921
static unsigned
1922
0
dissect_p1_T_printable_given_name(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1923
0
  tvbuff_t  *pstring = NULL;
1924
1925
0
    offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1926
0
                                                        actx, tree, tvb, offset,
1927
0
                                                        1, ub_given_name_length, hf_index, &pstring);
1928
1929
1930
0
  do_address("/G=", pstring, actx);
1931
1932
1933
0
  return offset;
1934
0
}
1935
1936
1937
1938
static unsigned
1939
0
dissect_p1_T_printable_initials(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1940
0
  tvbuff_t  *pstring = NULL;
1941
1942
0
    offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1943
0
                                                        actx, tree, tvb, offset,
1944
0
                                                        1, ub_initials_length, hf_index, &pstring);
1945
1946
1947
0
  do_address("/I=", pstring, actx);
1948
1949
1950
0
  return offset;
1951
0
}
1952
1953
1954
1955
static unsigned
1956
0
dissect_p1_T_printable_generation_qualifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1957
0
  tvbuff_t  *pstring = NULL;
1958
1959
0
    offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1960
0
                                                        actx, tree, tvb, offset,
1961
0
                                                        1, ub_generation_qualifier_length, hf_index, &pstring);
1962
1963
1964
0
  do_address("/Q=", pstring, actx);
1965
1966
1967
0
  return offset;
1968
0
}
1969
1970
1971
static const ber_sequence_t PersonalName_set[] = {
1972
  { &hf_p1_printable_surname, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_T_printable_surname },
1973
  { &hf_p1_printable_given_name, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_T_printable_given_name },
1974
  { &hf_p1_printable_initials, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_T_printable_initials },
1975
  { &hf_p1_printable_generation_qualifier, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_T_printable_generation_qualifier },
1976
  { NULL, 0, 0, 0, NULL }
1977
};
1978
1979
static unsigned
1980
0
dissect_p1_PersonalName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1981
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1982
0
                              PersonalName_set, hf_index, ett_p1_PersonalName);
1983
1984
0
  return offset;
1985
0
}
1986
1987
1988
1989
static unsigned
1990
0
dissect_p1_OrganizationalUnitName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1991
0
  tvbuff_t  *string = NULL;
1992
1993
0
    offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1994
0
                                                        actx, tree, tvb, offset,
1995
0
                                                        1, ub_organizational_unit_name_length, hf_index, &string);
1996
1997
1998
0
  do_address("/OU=", string, actx);
1999
2000
2001
0
  return offset;
2002
0
}
2003
2004
2005
static const ber_sequence_t OrganizationalUnitNames_sequence_of[1] = {
2006
  { &hf_p1_OrganizationalUnitNames_item, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_p1_OrganizationalUnitName },
2007
};
2008
2009
static unsigned
2010
0
dissect_p1_OrganizationalUnitNames(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2011
0
  offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
2012
0
                                                  1, ub_organizational_units, OrganizationalUnitNames_sequence_of, hf_index, ett_p1_OrganizationalUnitNames);
2013
2014
0
  return offset;
2015
0
}
2016
2017
2018
static const ber_sequence_t BuiltInStandardAttributes_sequence[] = {
2019
  { &hf_p1_country_name     , BER_CLASS_APP, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_CountryName },
2020
  { &hf_p1_administration_domain_name, BER_CLASS_APP, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_AdministrationDomainName },
2021
  { &hf_p1_network_address  , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_NetworkAddress },
2022
  { &hf_p1_terminal_identifier, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_TerminalIdentifier },
2023
  { &hf_p1_private_domain_name, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_PrivateDomainName },
2024
  { &hf_p1_organization_name, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_OrganizationName },
2025
  { &hf_p1_numeric_user_identifier, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_NumericUserIdentifier },
2026
  { &hf_p1_personal_name    , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_PersonalName },
2027
  { &hf_p1_organizational_unit_names, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_OrganizationalUnitNames },
2028
  { NULL, 0, 0, 0, NULL }
2029
};
2030
2031
static unsigned
2032
2
dissect_p1_BuiltInStandardAttributes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2033
2
  actx->subtree.tree = tree;
2034
2035
2
    offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2036
2
                                   BuiltInStandardAttributes_sequence, hf_index, ett_p1_BuiltInStandardAttributes);
2037
2038
2039
2040
2
  return offset;
2041
2
}
2042
2043
2044
2045
static unsigned
2046
0
dissect_p1_T_printable_type(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2047
0
  tvbuff_t  *pstring = NULL;
2048
2049
0
    offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
2050
0
                                                        actx, tree, tvb, offset,
2051
0
                                                        1, ub_domain_defined_attribute_type_length, hf_index, &pstring);
2052
2053
2054
0
  do_address_str("/DD.", pstring, actx);
2055
2056
2057
0
  return offset;
2058
0
}
2059
2060
2061
2062
static unsigned
2063
0
dissect_p1_T_printable_value(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2064
0
  tvbuff_t  *pstring = NULL;
2065
2066
0
    offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
2067
0
                                                        actx, tree, tvb, offset,
2068
0
                                                        1, ub_domain_defined_attribute_value_length, hf_index, &pstring);
2069
2070
2071
0
  do_address_str_tree("=", pstring, actx, tree);
2072
2073
2074
0
  return offset;
2075
0
}
2076
2077
2078
static const ber_sequence_t BuiltInDomainDefinedAttribute_sequence[] = {
2079
  { &hf_p1_printable_type   , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_p1_T_printable_type },
2080
  { &hf_p1_printable_value  , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_p1_T_printable_value },
2081
  { NULL, 0, 0, 0, NULL }
2082
};
2083
2084
static unsigned
2085
0
dissect_p1_BuiltInDomainDefinedAttribute(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2086
0
  actx->value_ptr = wmem_strbuf_new(actx->pinfo->pool, "");
2087
2088
0
    offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2089
0
                                   BuiltInDomainDefinedAttribute_sequence, hf_index, ett_p1_BuiltInDomainDefinedAttribute);
2090
2091
2092
2093
0
  return offset;
2094
0
}
2095
2096
2097
static const ber_sequence_t BuiltInDomainDefinedAttributes_sequence_of[1] = {
2098
  { &hf_p1_BuiltInDomainDefinedAttributes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_BuiltInDomainDefinedAttribute },
2099
};
2100
2101
static unsigned
2102
3
dissect_p1_BuiltInDomainDefinedAttributes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2103
3
  offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
2104
3
                                                  1, ub_domain_defined_attributes, BuiltInDomainDefinedAttributes_sequence_of, hf_index, ett_p1_BuiltInDomainDefinedAttributes);
2105
2106
3
  return offset;
2107
3
}
2108
2109
2110
static const value_string p1_ExtensionAttributeType_vals[] = {
2111
  {   1, "common-name" },
2112
  {   2, "teletex-common-name" },
2113
  {   3, "teletex-organization-name" },
2114
  {   4, "teletex-personal-name" },
2115
  {   5, "teletex-organizational-unit-names" },
2116
  {   6, "teletex-domain-defined-attributes" },
2117
  {   7, "pds-name" },
2118
  {   8, "physical-delivery-country-name" },
2119
  {   9, "postal-code" },
2120
  {  10, "physical-delivery-office-name" },
2121
  {  11, "physical-delivery-office-number" },
2122
  {  12, "extension-OR-address-components" },
2123
  {  13, "physical-delivery-personal-name" },
2124
  {  14, "physical-delivery-organization-name" },
2125
  {  15, "extension-physical-delivery-address-components" },
2126
  {  16, "unformatted-postal-address" },
2127
  {  17, "street-address" },
2128
  {  18, "post-office-box-address" },
2129
  {  19, "poste-restante-address" },
2130
  {  20, "unique-postal-name" },
2131
  {  21, "local-postal-attributes" },
2132
  {  22, "extended-network-address" },
2133
  {  23, "terminal-type" },
2134
  {  24, "universal-common-name" },
2135
  {  25, "universal-organization-name" },
2136
  {  26, "universal-personal-name" },
2137
  {  27, "universal-organizational-unit-names" },
2138
  {  28, "universal-domain-defined-attributes" },
2139
  {  29, "universal-physical-delivery-office-name" },
2140
  {  30, "universal-physical-delivery-office-number" },
2141
  {  31, "universal-extension-OR-address-components" },
2142
  {  32, "universal-physical-delivery-personal-name" },
2143
  {  33, "universal-physical-delivery-organization-name" },
2144
  {  34, "universal-extension-physical-delivery-address-components" },
2145
  {  35, "universal-unformatted-postal-address" },
2146
  {  36, "universal-street-address" },
2147
  {  37, "universal-post-office-box-address" },
2148
  {  38, "universal-poste-restante-address" },
2149
  {  39, "universal-unique-postal-name" },
2150
  {  40, "universal-local-postal-attributes" },
2151
  { 0, NULL }
2152
};
2153
2154
2155
static unsigned
2156
0
dissect_p1_ExtensionAttributeType(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2157
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2158
0
                                                (uint32_t*)&actx->external.indirect_reference);
2159
2160
0
  return offset;
2161
0
}
2162
2163
2164
2165
static unsigned
2166
0
dissect_p1_T_extension_attribute_value(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2167
2168
0
  proto_item_append_text(tree, " (%s)", val_to_str(actx->pinfo->pool, actx->external.indirect_reference, p1_ExtensionAttributeType_vals, "extension-attribute-type %d"));
2169
0
  p_add_proto_data(actx->pinfo->pool, actx->pinfo, proto_p1, 0, actx->subtree.tree_ctx);
2170
0
  if (dissector_try_uint(p1_extension_attribute_dissector_table, actx->external.indirect_reference, tvb, actx->pinfo, tree)) {
2171
0
    offset =tvb_reported_length(tvb);
2172
0
  } else {
2173
0
    proto_item *item;
2174
0
    proto_tree *next_tree;
2175
2176
0
    next_tree = proto_tree_add_subtree_format(tree, tvb, 0, -1, ett_p1_unknown_extension_attribute_type, &item,
2177
0
      "Dissector for extension-attribute-type %d not implemented.  Contact Wireshark developers if you want this supported", actx->external.indirect_reference);
2178
0
    offset = dissect_unknown_ber(actx->pinfo, tvb, offset, next_tree);
2179
0
    expert_add_info(actx->pinfo, item, &ei_p1_unknown_extension_attribute_type);
2180
0
  }
2181
0
  p_remove_proto_data(actx->pinfo->pool, actx->pinfo, proto_p1, 0);
2182
2183
2184
2185
0
  return offset;
2186
0
}
2187
2188
2189
static const ber_sequence_t ExtensionAttribute_sequence[] = {
2190
  { &hf_p1_extension_attribute_type, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_ExtensionAttributeType },
2191
  { &hf_p1_extension_attribute_value, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_T_extension_attribute_value },
2192
  { NULL, 0, 0, 0, NULL }
2193
};
2194
2195
static unsigned
2196
0
dissect_p1_ExtensionAttribute(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2197
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2198
0
                                   ExtensionAttribute_sequence, hf_index, ett_p1_ExtensionAttribute);
2199
2200
0
  return offset;
2201
0
}
2202
2203
2204
static const ber_sequence_t ExtensionAttributes_set_of[1] = {
2205
  { &hf_p1_ExtensionAttributes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_ExtensionAttribute },
2206
};
2207
2208
static unsigned
2209
1
dissect_p1_ExtensionAttributes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2210
1
  offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
2211
1
                                             1, ub_extension_attributes, ExtensionAttributes_set_of, hf_index, ett_p1_ExtensionAttributes);
2212
2213
1
  return offset;
2214
1
}
2215
2216
2217
static const ber_sequence_t ORName_U_sequence[] = {
2218
  { &hf_p1_built_in_standard_attributes, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_BuiltInStandardAttributes },
2219
  { &hf_p1_built_in_domain_defined_attributes, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_BuiltInDomainDefinedAttributes },
2220
  { &hf_p1_extension_attributes, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ExtensionAttributes },
2221
  { &hf_p1_directory_name   , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509if_Name },
2222
  { NULL, 0, 0, 0, NULL }
2223
};
2224
2225
static unsigned
2226
70
dissect_p1_ORName_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2227
70
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2228
70
                                   ORName_U_sequence, hf_index, ett_p1_ORName_U);
2229
2230
70
  return offset;
2231
70
}
2232
2233
2234
2235
unsigned
2236
93
dissect_p1_ORName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2237
93
  p1_address_ctx_t* ctx;
2238
2239
93
  if (actx->subtree.tree_ctx == NULL) {
2240
93
    actx->subtree.tree_ctx = wmem_new0(actx->pinfo->pool, p1_address_ctx_t);
2241
93
  }
2242
2243
93
  ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
2244
93
  ctx->oraddress = wmem_strbuf_new(actx->pinfo->pool, "");
2245
2246
93
  actx->subtree.tree = NULL;
2247
93
  set_do_address(actx, true);
2248
2249
93
    offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
2250
93
                                      hf_index, BER_CLASS_APP, 0, true, dissect_p1_ORName_U);
2251
2252
2253
93
  if (ctx->oraddress && (wmem_strbuf_get_len(ctx->oraddress) > 0) && actx->subtree.tree)
2254
0
    proto_item_append_text(actx->subtree.tree, " (%s/)", wmem_strbuf_get_str(ctx->oraddress));
2255
2256
93
  set_do_address(actx, false);
2257
2258
93
  return offset;
2259
93
}
2260
2261
2262
2263
static unsigned
2264
0
dissect_p1_ORAddressAndOptionalDirectoryName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2265
0
  offset = dissect_p1_ORName(implicit_tag, tvb, offset, actx, tree, hf_index);
2266
2267
0
  return offset;
2268
0
}
2269
2270
2271
2272
static unsigned
2273
0
dissect_p1_MTAOriginatorName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2274
0
  offset = dissect_p1_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
2275
2276
0
  return offset;
2277
0
}
2278
2279
2280
static int * const BuiltInEncodedInformationTypes_bits[] = {
2281
  &hf_p1_BuiltInEncodedInformationTypes_unknown,
2282
  &hf_p1_BuiltInEncodedInformationTypes_telex,
2283
  &hf_p1_BuiltInEncodedInformationTypes_ia5_text,
2284
  &hf_p1_BuiltInEncodedInformationTypes_g3_facsimile,
2285
  &hf_p1_BuiltInEncodedInformationTypes_g4_class_1,
2286
  &hf_p1_BuiltInEncodedInformationTypes_teletex,
2287
  &hf_p1_BuiltInEncodedInformationTypes_videotex,
2288
  &hf_p1_BuiltInEncodedInformationTypes_voice,
2289
  &hf_p1_BuiltInEncodedInformationTypes_sfd,
2290
  &hf_p1_BuiltInEncodedInformationTypes_mixed_mode,
2291
  NULL
2292
};
2293
2294
static unsigned
2295
0
dissect_p1_BuiltInEncodedInformationTypes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2296
0
  offset = dissect_ber_constrained_bitstring(implicit_tag, actx, tree, tvb, offset,
2297
0
                                                0, ub_built_in_encoded_information_types, BuiltInEncodedInformationTypes_bits, 10, hf_index, ett_p1_BuiltInEncodedInformationTypes,
2298
0
                                                NULL);
2299
2300
0
  return offset;
2301
0
}
2302
2303
2304
static int * const G3FacsimileNonBasicParameters_bits[] = {
2305
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit0,
2306
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit1,
2307
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit2,
2308
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit3,
2309
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit4,
2310
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit5,
2311
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit6,
2312
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit7,
2313
  &hf_p1_G3FacsimileNonBasicParameters_two_dimensional,
2314
  &hf_p1_G3FacsimileNonBasicParameters_fine_resolution,
2315
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit10,
2316
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit11,
2317
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit12,
2318
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit13,
2319
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit14,
2320
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit15,
2321
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit16,
2322
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit17,
2323
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit18,
2324
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit19,
2325
  &hf_p1_G3FacsimileNonBasicParameters_unlimited_length,
2326
  &hf_p1_G3FacsimileNonBasicParameters_b4_length,
2327
  &hf_p1_G3FacsimileNonBasicParameters_a3_width,
2328
  &hf_p1_G3FacsimileNonBasicParameters_b4_width,
2329
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit24,
2330
  &hf_p1_G3FacsimileNonBasicParameters_t6_coding,
2331
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit26,
2332
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit27,
2333
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit28,
2334
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit29,
2335
  &hf_p1_G3FacsimileNonBasicParameters_uncompressed,
2336
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit31,
2337
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit32,
2338
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit33,
2339
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit34,
2340
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit35,
2341
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit36,
2342
  &hf_p1_G3FacsimileNonBasicParameters_width_middle_864_of_1728,
2343
  &hf_p1_G3FacsimileNonBasicParameters_width_middle_1216_of_1728,
2344
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit39,
2345
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit40,
2346
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit41,
2347
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit42,
2348
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit43,
2349
  &hf_p1_G3FacsimileNonBasicParameters_resolution_type,
2350
  &hf_p1_G3FacsimileNonBasicParameters_resolution_400x400,
2351
  &hf_p1_G3FacsimileNonBasicParameters_resolution_300x300,
2352
  &hf_p1_G3FacsimileNonBasicParameters_resolution_8x15,
2353
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit48,
2354
  &hf_p1_G3FacsimileNonBasicParameters_edi,
2355
  &hf_p1_G3FacsimileNonBasicParameters_dtm,
2356
  &hf_p1_G3FacsimileNonBasicParameters_bft,
2357
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit52,
2358
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit53,
2359
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit54,
2360
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit55,
2361
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit56,
2362
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit57,
2363
  &hf_p1_G3FacsimileNonBasicParameters_mixed_mode,
2364
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit59,
2365
  &hf_p1_G3FacsimileNonBasicParameters_character_mode,
2366
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit61,
2367
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit62,
2368
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit63,
2369
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit64,
2370
  &hf_p1_G3FacsimileNonBasicParameters_twelve_bits,
2371
  &hf_p1_G3FacsimileNonBasicParameters_preferred_huffmann,
2372
  &hf_p1_G3FacsimileNonBasicParameters_full_colour,
2373
  &hf_p1_G3FacsimileNonBasicParameters_jpeg,
2374
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit69,
2375
  &hf_p1_G3FacsimileNonBasicParameters_spare_bit70,
2376
  &hf_p1_G3FacsimileNonBasicParameters_processable_mode_26,
2377
  NULL
2378
};
2379
2380
unsigned
2381
0
dissect_p1_G3FacsimileNonBasicParameters(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2382
0
  offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
2383
0
                                    G3FacsimileNonBasicParameters_bits, 72, hf_index, ett_p1_G3FacsimileNonBasicParameters,
2384
0
                                    NULL);
2385
2386
0
  return offset;
2387
0
}
2388
2389
2390
2391
static unsigned
2392
0
dissect_p1_TeletexString(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2393
0
  offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
2394
0
                                            actx, tree, tvb, offset, hf_index,
2395
0
                                            NULL);
2396
2397
0
  return offset;
2398
0
}
2399
2400
2401
2402
static unsigned
2403
0
dissect_p1_OCTET_STRING(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2404
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
2405
0
                                       NULL);
2406
2407
0
  return offset;
2408
0
}
2409
2410
2411
static const ber_sequence_t TeletexNonBasicParameters_set[] = {
2412
  { &hf_p1_graphic_character_sets, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_TeletexString },
2413
  { &hf_p1_control_character_sets, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_TeletexString },
2414
  { &hf_p1_page_formats     , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_OCTET_STRING },
2415
  { &hf_p1_miscellaneous_terminal_capabilities, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_TeletexString },
2416
  { &hf_p1_private_use      , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_OCTET_STRING },
2417
  { NULL, 0, 0, 0, NULL }
2418
};
2419
2420
unsigned
2421
0
dissect_p1_TeletexNonBasicParameters(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2422
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2423
0
                              TeletexNonBasicParameters_set, hf_index, ett_p1_TeletexNonBasicParameters);
2424
2425
0
  return offset;
2426
0
}
2427
2428
2429
2430
static unsigned
2431
0
dissect_p1_ExtendedEncodedInformationType(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2432
0
  offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
2433
2434
0
  return offset;
2435
0
}
2436
2437
2438
static const ber_sequence_t ExtendedEncodedInformationTypes_set_of[1] = {
2439
  { &hf_p1_ExtendedEncodedInformationTypes_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p1_ExtendedEncodedInformationType },
2440
};
2441
2442
static unsigned
2443
0
dissect_p1_ExtendedEncodedInformationTypes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2444
0
  offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
2445
0
                                             1, ub_encoded_information_types, ExtendedEncodedInformationTypes_set_of, hf_index, ett_p1_ExtendedEncodedInformationTypes);
2446
2447
0
  return offset;
2448
0
}
2449
2450
2451
static const ber_sequence_t EncodedInformationTypes_U_set[] = {
2452
  { &hf_p1_built_in_encoded_information_types, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_BuiltInEncodedInformationTypes },
2453
  { &hf_p1_g3_facsimile     , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_G3FacsimileNonBasicParameters },
2454
  { &hf_p1_teletex          , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_TeletexNonBasicParameters },
2455
  { &hf_p1_extended_encoded_information_types, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ExtendedEncodedInformationTypes },
2456
  { NULL, 0, 0, 0, NULL }
2457
};
2458
2459
static unsigned
2460
0
dissect_p1_EncodedInformationTypes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2461
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2462
0
                              EncodedInformationTypes_U_set, hf_index, ett_p1_EncodedInformationTypes_U);
2463
2464
0
  return offset;
2465
0
}
2466
2467
2468
2469
unsigned
2470
0
dissect_p1_EncodedInformationTypes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2471
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
2472
0
                                      hf_index, BER_CLASS_APP, 5, true, dissect_p1_EncodedInformationTypes_U);
2473
2474
0
  return offset;
2475
0
}
2476
2477
2478
2479
unsigned
2480
0
dissect_p1_OriginalEncodedInformationTypes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2481
0
  offset = dissect_p1_EncodedInformationTypes(implicit_tag, tvb, offset, actx, tree, hf_index);
2482
2483
0
  return offset;
2484
0
}
2485
2486
2487
static const value_string p1_BuiltInContentType_U_vals[] = {
2488
  {   0, "unidentified" },
2489
  {   1, "external" },
2490
  {   2, "interpersonal-messaging-1984" },
2491
  {  22, "interpersonal-messaging-1988" },
2492
  {  35, "edi-messaging" },
2493
  {  40, "voice-messaging" },
2494
  { 0, NULL }
2495
};
2496
2497
2498
static unsigned
2499
0
dissect_p1_BuiltInContentType_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2500
0
  static uint32_t ict = -1;
2501
0
  p1_address_ctx_t* ctx;
2502
2503
0
  if (actx->subtree.tree_ctx == NULL)
2504
0
    actx->subtree.tree_ctx = wmem_new0(actx->pinfo->pool, p1_address_ctx_t);
2505
2506
0
  ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
2507
2508
0
    offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
2509
0
                                                            0U, ub_built_in_content_type, hf_index, &ict);
2510
2511
2512
  /* convert integer content type to oid for dispatch when the content is found */
2513
0
  switch(ict) {
2514
0
  case 2:
2515
0
    ctx->content_type_id = wmem_strdup(actx->pinfo->pool, "2.6.1.10.0");
2516
0
    break;
2517
0
  case 22:
2518
0
    ctx->content_type_id = wmem_strdup(actx->pinfo->pool, "2.6.1.10.1");
2519
0
    break;
2520
0
  default:
2521
0
    ctx->content_type_id = NULL;
2522
0
    break;
2523
0
  }
2524
2525
2526
0
  return offset;
2527
0
}
2528
2529
2530
2531
static unsigned
2532
0
dissect_p1_BuiltInContentType(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2533
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
2534
0
                                      hf_index, BER_CLASS_APP, 6, true, dissect_p1_BuiltInContentType_U);
2535
2536
0
  return offset;
2537
0
}
2538
2539
2540
2541
unsigned
2542
0
dissect_p1_ExtendedContentType(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2543
0
  const char *name = NULL;
2544
0
  p1_address_ctx_t* ctx;
2545
2546
0
  if (actx->subtree.tree_ctx == NULL)
2547
0
    actx->subtree.tree_ctx = wmem_new0(actx->pinfo->pool, p1_address_ctx_t);
2548
2549
0
  ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
2550
2551
0
    offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &ctx->content_type_id);
2552
2553
2554
0
  if(ctx->content_type_id) {
2555
0
    name = oid_resolved_from_string(actx->pinfo->pool, ctx->content_type_id);
2556
2557
0
    if(!name) name = ctx->content_type_id;
2558
2559
0
    proto_item_append_text(tree, " (%s)", name);
2560
0
  }
2561
2562
2563
0
  return offset;
2564
0
}
2565
2566
2567
const value_string p1_ContentType_vals[] = {
2568
  {   0, "built-in" },
2569
  {   1, "extended" },
2570
  { 0, NULL }
2571
};
2572
2573
static const ber_choice_t ContentType_choice[] = {
2574
  {   0, &hf_p1_built_in         , BER_CLASS_APP, 6, BER_FLAGS_NOOWNTAG, dissect_p1_BuiltInContentType },
2575
  {   1, &hf_p1_extended         , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p1_ExtendedContentType },
2576
  { 0, NULL, 0, 0, 0, NULL }
2577
};
2578
2579
unsigned
2580
0
dissect_p1_ContentType(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2581
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
2582
0
                                 ContentType_choice, hf_index, ett_p1_ContentType,
2583
0
                                 NULL);
2584
2585
0
  return offset;
2586
0
}
2587
2588
2589
2590
static unsigned
2591
0
dissect_p1_PrintableString_SIZE_1_ub_content_id_length(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2592
0
  offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
2593
0
                                                        actx, tree, tvb, offset,
2594
0
                                                        1, ub_content_id_length, hf_index, NULL);
2595
2596
0
  return offset;
2597
0
}
2598
2599
2600
2601
unsigned
2602
0
dissect_p1_ContentIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2603
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
2604
0
                                      hf_index, BER_CLASS_APP, 10, true, dissect_p1_PrintableString_SIZE_1_ub_content_id_length);
2605
2606
0
  return offset;
2607
0
}
2608
2609
2610
static const value_string p1_Priority_U_vals[] = {
2611
  {   0, "normal" },
2612
  {   1, "non-urgent" },
2613
  {   2, "urgent" },
2614
  { 0, NULL }
2615
};
2616
2617
2618
static unsigned
2619
0
dissect_p1_Priority_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2620
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2621
0
                                  NULL);
2622
2623
0
  return offset;
2624
0
}
2625
2626
2627
2628
static unsigned
2629
0
dissect_p1_Priority(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2630
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
2631
0
                                      hf_index, BER_CLASS_APP, 7, true, dissect_p1_Priority_U);
2632
2633
0
  return offset;
2634
0
}
2635
2636
2637
static int * const PerMessageIndicators_U_bits[] = {
2638
  &hf_p1_PerMessageIndicators_U_disclosure_of_other_recipients,
2639
  &hf_p1_PerMessageIndicators_U_implicit_conversion_prohibited,
2640
  &hf_p1_PerMessageIndicators_U_alternate_recipient_allowed,
2641
  &hf_p1_PerMessageIndicators_U_content_return_request,
2642
  &hf_p1_PerMessageIndicators_U_reserved,
2643
  &hf_p1_PerMessageIndicators_U_bit_5,
2644
  &hf_p1_PerMessageIndicators_U_bit_6,
2645
  &hf_p1_PerMessageIndicators_U_service_message,
2646
  NULL
2647
};
2648
2649
static unsigned
2650
0
dissect_p1_PerMessageIndicators_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2651
0
  offset = dissect_ber_constrained_bitstring(implicit_tag, actx, tree, tvb, offset,
2652
0
                                                0, ub_bit_options, PerMessageIndicators_U_bits, 8, hf_index, ett_p1_PerMessageIndicators_U,
2653
0
                                                NULL);
2654
2655
0
  return offset;
2656
0
}
2657
2658
2659
2660
unsigned
2661
0
dissect_p1_PerMessageIndicators(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2662
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
2663
0
                                      hf_index, BER_CLASS_APP, 8, true, dissect_p1_PerMessageIndicators_U);
2664
2665
0
  return offset;
2666
0
}
2667
2668
2669
2670
static unsigned
2671
0
dissect_p1_Time(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2672
0
  char *arrival = NULL;
2673
0
  p1_address_ctx_t* ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
2674
2675
0
    offset = dissect_ber_UTCTime(implicit_tag, actx, tree, tvb, offset, hf_index, &arrival, NULL);
2676
2677
2678
0
  if(arrival && ctx && ctx->do_address)
2679
0
    proto_item_append_text(actx->subtree.tree, " %s", arrival);
2680
2681
2682
0
  return offset;
2683
0
}
2684
2685
2686
2687
static unsigned
2688
0
dissect_p1_DeferredDeliveryTime(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2689
0
  offset = dissect_p1_Time(implicit_tag, tvb, offset, actx, tree, hf_index);
2690
2691
0
  return offset;
2692
0
}
2693
2694
2695
static const ber_sequence_t T_private_domain_sequence[] = {
2696
  { &hf_p1_administration_domain_name, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_AdministrationDomainName },
2697
  { &hf_p1_private_domain_identifier, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_PrivateDomainIdentifier },
2698
  { NULL, 0, 0, 0, NULL }
2699
};
2700
2701
static unsigned
2702
0
dissect_p1_T_private_domain(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2703
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2704
0
                                   T_private_domain_sequence, hf_index, ett_p1_T_private_domain);
2705
2706
0
  return offset;
2707
0
}
2708
2709
2710
static const value_string p1_T_bilateral_domain_vals[] = {
2711
  {   0, "administration-domain-name" },
2712
  {   1, "private-domain" },
2713
  { 0, NULL }
2714
};
2715
2716
static const ber_choice_t T_bilateral_domain_choice[] = {
2717
  {   0, &hf_p1_administration_domain_name, BER_CLASS_APP, 2, BER_FLAGS_NOOWNTAG, dissect_p1_AdministrationDomainName },
2718
  {   1, &hf_p1_private_domain   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_T_private_domain },
2719
  { 0, NULL, 0, 0, 0, NULL }
2720
};
2721
2722
static unsigned
2723
0
dissect_p1_T_bilateral_domain(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2724
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
2725
0
                                 T_bilateral_domain_choice, hf_index, ett_p1_T_bilateral_domain,
2726
0
                                 NULL);
2727
2728
0
  return offset;
2729
0
}
2730
2731
2732
2733
static unsigned
2734
0
dissect_p1_T_bilateral_information(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2735
0
  proto_item *item = NULL;
2736
0
  int     loffset = 0;
2737
0
  uint32_t      len = 0;
2738
2739
  /* work out the length */
2740
0
  loffset = dissect_ber_identifier(actx->pinfo, tree, tvb, offset, NULL, NULL, NULL);
2741
0
  (void) dissect_ber_length(actx->pinfo, tree, tvb, loffset, &len, NULL);
2742
2743
  /* create some structure so we can tell what this unknown ASN.1 represents */
2744
0
  item = proto_tree_add_item(tree, hf_index, tvb, offset, len, ENC_BIG_ENDIAN);
2745
0
  tree = proto_item_add_subtree(item, ett_p1_bilateral_information);
2746
2747
0
  offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree);
2748
2749
2750
0
  return offset;
2751
0
}
2752
2753
2754
static const ber_sequence_t PerDomainBilateralInformation_sequence[] = {
2755
  { &hf_p1_country_name     , BER_CLASS_APP, 1, BER_FLAGS_NOOWNTAG, dissect_p1_CountryName },
2756
  { &hf_p1_bilateral_domain , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_T_bilateral_domain },
2757
  { &hf_p1_bilateral_information, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_p1_T_bilateral_information },
2758
  { NULL, 0, 0, 0, NULL }
2759
};
2760
2761
static unsigned
2762
0
dissect_p1_PerDomainBilateralInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2763
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2764
0
                                   PerDomainBilateralInformation_sequence, hf_index, ett_p1_PerDomainBilateralInformation);
2765
2766
0
  return offset;
2767
0
}
2768
2769
2770
static const ber_sequence_t SEQUENCE_SIZE_1_ub_transfers_OF_PerDomainBilateralInformation_sequence_of[1] = {
2771
  { &hf_p1_per_domain_bilateral_information_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_PerDomainBilateralInformation },
2772
};
2773
2774
static unsigned
2775
0
dissect_p1_SEQUENCE_SIZE_1_ub_transfers_OF_PerDomainBilateralInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2776
0
  offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
2777
0
                                                  1, ub_transfers, SEQUENCE_SIZE_1_ub_transfers_OF_PerDomainBilateralInformation_sequence_of, hf_index, ett_p1_SEQUENCE_SIZE_1_ub_transfers_OF_PerDomainBilateralInformation);
2778
2779
0
  return offset;
2780
0
}
2781
2782
2783
2784
static unsigned
2785
0
dissect_p1_ArrivalTime(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2786
0
  offset = dissect_p1_Time(implicit_tag, tvb, offset, actx, tree, hf_index);
2787
2788
0
  return offset;
2789
0
}
2790
2791
2792
static const value_string p1_RoutingAction_vals[] = {
2793
  {   0, "relayed" },
2794
  {   1, "rerouted" },
2795
  { 0, NULL }
2796
};
2797
2798
2799
static unsigned
2800
0
dissect_p1_RoutingAction(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2801
0
  uint32_t action = 0;
2802
2803
0
    offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2804
0
                                  &action);
2805
2806
2807
0
  proto_item_append_text(actx->subtree.tree, " %s", val_to_str(actx->pinfo->pool, action, p1_RoutingAction_vals, "action(%d)"));
2808
2809
2810
0
  return offset;
2811
0
}
2812
2813
2814
2815
static unsigned
2816
0
dissect_p1_DeferredTime(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2817
0
  offset = dissect_p1_Time(implicit_tag, tvb, offset, actx, tree, hf_index);
2818
2819
0
  return offset;
2820
0
}
2821
2822
2823
2824
static unsigned
2825
0
dissect_p1_ConvertedEncodedInformationTypes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2826
0
  offset = dissect_p1_EncodedInformationTypes(implicit_tag, tvb, offset, actx, tree, hf_index);
2827
2828
0
  return offset;
2829
0
}
2830
2831
2832
static int * const OtherActions_bits[] = {
2833
  &hf_p1_OtherActions_redirected,
2834
  &hf_p1_OtherActions_dl_operation,
2835
  NULL
2836
};
2837
2838
static unsigned
2839
0
dissect_p1_OtherActions(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2840
0
  offset = dissect_ber_constrained_bitstring(implicit_tag, actx, tree, tvb, offset,
2841
0
                                                0, ub_bit_options, OtherActions_bits, 2, hf_index, ett_p1_OtherActions,
2842
0
                                                NULL);
2843
2844
0
  return offset;
2845
0
}
2846
2847
2848
static const ber_sequence_t DomainSuppliedInformation_set[] = {
2849
  { &hf_p1_arrival_time     , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_ArrivalTime },
2850
  { &hf_p1_routing_action   , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_p1_RoutingAction },
2851
  { &hf_p1_attempted_domain , BER_CLASS_APP, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_GlobalDomainIdentifier },
2852
  { &hf_p1_deferred_time    , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_DeferredTime },
2853
  { &hf_p1_converted_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ConvertedEncodedInformationTypes },
2854
  { &hf_p1_other_actions    , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_OtherActions },
2855
  { NULL, 0, 0, 0, NULL }
2856
};
2857
2858
static unsigned
2859
0
dissect_p1_DomainSuppliedInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2860
2861
0
  set_do_address(actx, false);
2862
2863
0
    offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2864
0
                              DomainSuppliedInformation_set, hf_index, ett_p1_DomainSuppliedInformation);
2865
2866
2867
0
  set_do_address(actx, true);
2868
0
  proto_item_append_text(tree, ")");
2869
2870
2871
0
  return offset;
2872
0
}
2873
2874
2875
static const ber_sequence_t TraceInformationElement_sequence[] = {
2876
  { &hf_p1_global_domain_identifier, BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_p1_GlobalDomainIdentifier },
2877
  { &hf_p1_domain_supplied_information, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_DomainSuppliedInformation },
2878
  { NULL, 0, 0, 0, NULL }
2879
};
2880
2881
static unsigned
2882
0
dissect_p1_TraceInformationElement(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2883
2884
0
  set_do_address(actx, true);
2885
2886
0
    offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2887
0
                                   TraceInformationElement_sequence, hf_index, ett_p1_TraceInformationElement);
2888
2889
2890
0
  set_do_address(actx, false);
2891
2892
2893
0
  return offset;
2894
0
}
2895
2896
2897
static const ber_sequence_t SEQUENCE_SIZE_1_ub_transfers_OF_TraceInformationElement_sequence_of[1] = {
2898
  { &hf_p1__untag_item      , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_TraceInformationElement },
2899
};
2900
2901
static unsigned
2902
0
dissect_p1_SEQUENCE_SIZE_1_ub_transfers_OF_TraceInformationElement(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2903
0
  offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
2904
0
                                                  1, ub_transfers, SEQUENCE_SIZE_1_ub_transfers_OF_TraceInformationElement_sequence_of, hf_index, ett_p1_SEQUENCE_SIZE_1_ub_transfers_OF_TraceInformationElement);
2905
2906
0
  return offset;
2907
0
}
2908
2909
2910
2911
static unsigned
2912
0
dissect_p1_TraceInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2913
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
2914
0
                                      hf_index, BER_CLASS_APP, 9, true, dissect_p1_SEQUENCE_SIZE_1_ub_transfers_OF_TraceInformationElement);
2915
2916
0
  return offset;
2917
0
}
2918
2919
2920
static const value_string p1_StandardExtension_vals[] = {
2921
  {   1, "recipient-reassignment-prohibited" },
2922
  {   2, "originator-requested-alternate-recipient" },
2923
  {   3, "dl-expansion-prohibited" },
2924
  {   4, "conversion-with-loss-prohibited" },
2925
  {   5, "latest-delivery-time" },
2926
  {   6, "requested-delivery-method" },
2927
  {   7, "physical-forwarding-prohibited" },
2928
  {   8, "physical-forwarding-address-request" },
2929
  {   9, "physical-delivery-modes" },
2930
  {  10, "registered-mail-type" },
2931
  {  11, "recipient-number-for-advice" },
2932
  {  12, "physical-rendition-attributes" },
2933
  {  13, "originator-return-address" },
2934
  {  14, "physical-delivery-report-request" },
2935
  {  15, "originator-certificate" },
2936
  {  16, "message-token" },
2937
  {  17, "content-confidentiality-algorithm-identifier" },
2938
  {  18, "content-integrity-check" },
2939
  {  19, "message-origin-authentication-check" },
2940
  {  20, "message-security-label" },
2941
  {  21, "proof-of-submission-request" },
2942
  {  22, "proof-of-delivery-request" },
2943
  {  23, "content-correlator" },
2944
  {  24, "probe-origin-authentication-check" },
2945
  {  25, "redirection-history" },
2946
  {  26, "dl-expansion-history" },
2947
  {  27, "physical-forwarding-address" },
2948
  {  28, "recipient-certificate" },
2949
  {  29, "proof-of-delivery" },
2950
  {  30, "originator-and-DL-expansion-history" },
2951
  {  31, "reporting-DL-name" },
2952
  {  32, "reporting-MTA-certificate" },
2953
  {  33, "report-origin-authentication-check" },
2954
  {  34, "originating-MTA-certificate" },
2955
  {  35, "proof-of-submission" },
2956
  {  36, "forwarding-request" },
2957
  {  37, "trace-information" },
2958
  {  38, "internal-trace-information" },
2959
  {  39, "reporting-MTA-name" },
2960
  {  40, "multiple-originator-certificates" },
2961
  {  41, "blind-copy-recipients" },
2962
  {  42, "dl-exempted-recipients" },
2963
  {  43, "body-part-encryption-token" },
2964
  {  44, "forwarded-content-token" },
2965
  {  45, "certificate-selectors" },
2966
  { 0, NULL }
2967
};
2968
2969
2970
static unsigned
2971
0
dissect_p1_StandardExtension(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2972
0
  actx->external.indirect_ref_present = true;
2973
0
  actx->external.direct_ref_present = false;
2974
0
    offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2975
0
                                                (uint32_t*)&actx->external.indirect_reference);
2976
2977
2978
2979
0
  return offset;
2980
0
}
2981
2982
2983
2984
static unsigned
2985
0
dissect_p1_T_private_extension(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2986
0
  actx->external.indirect_ref_present = false;
2987
0
  actx->external.direct_reference = NULL;
2988
0
    offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &actx->external.direct_reference);
2989
2990
0
  actx->external.direct_ref_present = (actx->external.direct_reference != NULL) ? true : false;
2991
2992
2993
0
  return offset;
2994
0
}
2995
2996
2997
static const value_string p1_ExtensionType_vals[] = {
2998
  {   0, "standard-extension" },
2999
  {   3, "private-extension" },
3000
  { 0, NULL }
3001
};
3002
3003
static const ber_choice_t ExtensionType_choice[] = {
3004
  {   0, &hf_p1_standard_extension, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_StandardExtension },
3005
  {   3, &hf_p1_private_extension, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_p1_T_private_extension },
3006
  { 0, NULL, 0, 0, 0, NULL }
3007
};
3008
3009
static unsigned
3010
0
dissect_p1_ExtensionType(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3011
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
3012
0
                                 ExtensionType_choice, hf_index, ett_p1_ExtensionType,
3013
0
                                 NULL);
3014
3015
0
  return offset;
3016
0
}
3017
3018
3019
static int * const Criticality_bits[] = {
3020
  &hf_p1_Criticality_for_submission,
3021
  &hf_p1_Criticality_for_transfer,
3022
  &hf_p1_Criticality_for_delivery,
3023
  NULL
3024
};
3025
3026
static unsigned
3027
0
dissect_p1_Criticality(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3028
0
  offset = dissect_ber_constrained_bitstring(implicit_tag, actx, tree, tvb, offset,
3029
0
                                                0, ub_bit_options, Criticality_bits, 3, hf_index, ett_p1_Criticality,
3030
0
                                                NULL);
3031
3032
0
  return offset;
3033
0
}
3034
3035
3036
3037
static unsigned
3038
0
dissect_p1_ExtensionValue(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3039
0
  const char *name;
3040
3041
0
  if(actx->external.indirect_ref_present) {
3042
0
    proto_item_append_text(tree, " (%s)", val_to_str(actx->pinfo->pool, actx->external.indirect_reference, p1_StandardExtension_vals, "standard-extension %d"));
3043
0
    if (dissector_try_uint(p1_extension_dissector_table, actx->external.indirect_reference, tvb, actx->pinfo, tree)) {
3044
0
      offset = tvb_reported_length(tvb);
3045
0
    } else {
3046
0
      proto_item *item;
3047
0
      proto_tree *next_tree;
3048
3049
0
      next_tree = proto_tree_add_subtree_format(tree, tvb, 0, -1, ett_p1_unknown_standard_extension, &item,
3050
0
        "Dissector for standard-extension %d not implemented.  Contact Wireshark developers if you want this supported", actx->external.indirect_reference);
3051
0
      offset = dissect_unknown_ber(actx->pinfo, tvb, offset, next_tree);
3052
0
      expert_add_info(actx->pinfo, item, &ei_p1_unknown_standard_extension);
3053
0
    }
3054
0
  } else if (actx->external.direct_ref_present) {
3055
0
    offset = call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, actx->private_data);
3056
0
    name = oid_resolved_from_string(actx->pinfo->pool, actx->external.direct_reference);
3057
0
    proto_item_append_text(tree, " (%s)", name ? name : actx->external.direct_reference);
3058
0
  }
3059
3060
3061
3062
0
  return offset;
3063
0
}
3064
3065
3066
static const ber_sequence_t ExtensionField_sequence[] = {
3067
  { &hf_p1_extension_type   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_ExtensionType },
3068
  { &hf_p1_criticality      , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_Criticality },
3069
  { &hf_p1_extension_value  , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ExtensionValue },
3070
  { NULL, 0, 0, 0, NULL }
3071
};
3072
3073
unsigned
3074
0
dissect_p1_ExtensionField(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3075
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3076
0
                                   ExtensionField_sequence, hf_index, ett_p1_ExtensionField);
3077
3078
0
  return offset;
3079
0
}
3080
3081
3082
static const ber_sequence_t SET_OF_ExtensionField_set_of[1] = {
3083
  { &hf_p1_extensions_item  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_ExtensionField },
3084
};
3085
3086
static unsigned
3087
0
dissect_p1_SET_OF_ExtensionField(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3088
0
  offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
3089
0
                                 SET_OF_ExtensionField_set_of, hf_index, ett_p1_SET_OF_ExtensionField);
3090
3091
0
  return offset;
3092
0
}
3093
3094
3095
3096
static unsigned
3097
0
dissect_p1_MTARecipientName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3098
0
  offset = dissect_p1_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
3099
3100
0
  return offset;
3101
0
}
3102
3103
3104
3105
static unsigned
3106
0
dissect_p1_OriginallySpecifiedRecipientNumber(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3107
0
  offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
3108
0
                                                            1U, ub_recipients, hf_index, NULL);
3109
3110
0
  return offset;
3111
0
}
3112
3113
3114
static int * const PerRecipientIndicators_bits[] = {
3115
  &hf_p1_PerRecipientIndicators_responsibility,
3116
  &hf_p1_PerRecipientIndicators_originating_MTA_report,
3117
  &hf_p1_PerRecipientIndicators_originating_MTA_non_delivery_report,
3118
  &hf_p1_PerRecipientIndicators_originator_report,
3119
  &hf_p1_PerRecipientIndicators_originator_non_delivery_report,
3120
  &hf_p1_PerRecipientIndicators_reserved_5,
3121
  &hf_p1_PerRecipientIndicators_reserved_6,
3122
  &hf_p1_PerRecipientIndicators_reserved_7,
3123
  NULL
3124
};
3125
3126
static unsigned
3127
0
dissect_p1_PerRecipientIndicators(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3128
0
  offset = dissect_ber_constrained_bitstring(implicit_tag, actx, tree, tvb, offset,
3129
0
                                                8, ub_bit_options, PerRecipientIndicators_bits, 8, hf_index, ett_p1_PerRecipientIndicators,
3130
0
                                                NULL);
3131
3132
0
  return offset;
3133
0
}
3134
3135
3136
static const value_string p1_ExplicitConversion_vals[] = {
3137
  {   0, "ia5-text-to-teletex" },
3138
  {   8, "ia5-text-to-g3-facsimile" },
3139
  {   9, "ia5-text-to-g4-class-1" },
3140
  {  10, "ia5-text-to-videotex" },
3141
  {  11, "teletex-to-ia5-text" },
3142
  {  12, "teletex-to-g3-facsimile" },
3143
  {  13, "teletex-to-g4-class-1" },
3144
  {  14, "teletex-to-videotex" },
3145
  {  16, "videotex-to-ia5-text" },
3146
  {  17, "videotex-to-teletex" },
3147
  { 0, NULL }
3148
};
3149
3150
3151
static unsigned
3152
0
dissect_p1_ExplicitConversion(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3153
0
  offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
3154
0
                                                            0U, ub_integer_options, hf_index, NULL);
3155
3156
0
  return offset;
3157
0
}
3158
3159
3160
static const ber_sequence_t PerRecipientMessageTransferFields_set[] = {
3161
  { &hf_p1_recipient_name   , BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_MTARecipientName },
3162
  { &hf_p1_originally_specified_recipient_number, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_OriginallySpecifiedRecipientNumber },
3163
  { &hf_p1_per_recipient_indicators, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_PerRecipientIndicators },
3164
  { &hf_p1_explicit_conversion, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ExplicitConversion },
3165
  { &hf_p1_extensions       , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField },
3166
  { NULL, 0, 0, 0, NULL }
3167
};
3168
3169
static unsigned
3170
0
dissect_p1_PerRecipientMessageTransferFields(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3171
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3172
0
                              PerRecipientMessageTransferFields_set, hf_index, ett_p1_PerRecipientMessageTransferFields);
3173
3174
0
  return offset;
3175
0
}
3176
3177
3178
static const ber_sequence_t SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageTransferFields_sequence_of[1] = {
3179
  { &hf_p1_per_recipient_message_fields_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_PerRecipientMessageTransferFields },
3180
};
3181
3182
static unsigned
3183
0
dissect_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageTransferFields(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3184
0
  offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
3185
0
                                                  1, ub_recipients, SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageTransferFields_sequence_of, hf_index, ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageTransferFields);
3186
3187
0
  return offset;
3188
0
}
3189
3190
3191
static const ber_sequence_t MessageTransferEnvelope_set[] = {
3192
  { &hf_p1_message_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_p1_MessageIdentifier },
3193
  { &hf_p1_mta_originator_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_MTAOriginatorName },
3194
  { &hf_p1_original_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_OriginalEncodedInformationTypes },
3195
  { &hf_p1_content_type     , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_ContentType },
3196
  { &hf_p1_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ContentIdentifier },
3197
  { &hf_p1_priority         , BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_Priority },
3198
  { &hf_p1_per_message_indicators, BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_PerMessageIndicators },
3199
  { &hf_p1_deferred_delivery_time, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_DeferredDeliveryTime },
3200
  { &hf_p1_per_domain_bilateral_information, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SEQUENCE_SIZE_1_ub_transfers_OF_PerDomainBilateralInformation },
3201
  { &hf_p1_trace_information, BER_CLASS_APP, 9, BER_FLAGS_NOOWNTAG, dissect_p1_TraceInformation },
3202
  { &hf_p1_extensions       , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField },
3203
  { &hf_p1_per_recipient_message_fields, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageTransferFields },
3204
  { NULL, 0, 0, 0, NULL }
3205
};
3206
3207
static unsigned
3208
0
dissect_p1_MessageTransferEnvelope(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3209
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3210
0
                              MessageTransferEnvelope_set, hf_index, ett_p1_MessageTransferEnvelope);
3211
3212
0
  return offset;
3213
0
}
3214
3215
3216
3217
unsigned
3218
0
dissect_p1_Content(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3219
0
  tvbuff_t *next_tvb;
3220
0
  p1_address_ctx_t* ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
3221
3222
0
    offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3223
0
                                       &next_tvb);
3224
3225
3226
0
  if (next_tvb) {
3227
0
    proto_item_set_text(actx->created_item, "content (%u bytes)", tvb_reported_length (next_tvb));
3228
0
    if (ctx && ctx->content_type_id) {
3229
0
      (void) call_ber_oid_callback(ctx->content_type_id, next_tvb, 0, actx->pinfo, actx->subtree.top_tree ? actx->subtree.top_tree : tree, actx->private_data);
3230
0
    } else if (ctx && ctx->report_unknown_content_type) {
3231
0
      proto_item *item;
3232
0
      proto_tree *next_tree;
3233
3234
0
      item = proto_tree_add_expert(actx->subtree.top_tree ? actx->subtree.top_tree : tree, actx->pinfo, &ei_p1_unknown_built_in_content_type,
3235
0
                next_tvb, 0, tvb_reported_length_remaining(tvb, offset));
3236
0
      next_tree=proto_item_add_subtree(item, ett_p1_content_unknown);
3237
3238
0
      dissect_unknown_ber(actx->pinfo, next_tvb, 0, next_tree);
3239
0
    } else {
3240
0
      proto_item_append_text (actx->created_item, " (unknown content-type)");
3241
0
    }
3242
0
  }
3243
3244
3245
0
  return offset;
3246
0
}
3247
3248
3249
static const ber_sequence_t Message_sequence[] = {
3250
  { &hf_p1_message_envelope , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_MessageTransferEnvelope },
3251
  { &hf_p1_content          , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_p1_Content },
3252
  { NULL, 0, 0, 0, NULL }
3253
};
3254
3255
static unsigned
3256
0
dissect_p1_Message(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3257
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3258
0
                                   Message_sequence, hf_index, ett_p1_Message);
3259
3260
0
  return offset;
3261
0
}
3262
3263
3264
3265
static unsigned
3266
0
dissect_p1_ProbeIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3267
0
  offset = dissect_p1_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
3268
3269
0
  return offset;
3270
0
}
3271
3272
3273
3274
unsigned
3275
0
dissect_p1_ContentLength(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3276
0
  offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
3277
0
                                                            0U, ub_content_length, hf_index, NULL);
3278
3279
0
  return offset;
3280
0
}
3281
3282
3283
static const ber_sequence_t PerRecipientProbeTransferFields_set[] = {
3284
  { &hf_p1_recipient_name   , BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_MTARecipientName },
3285
  { &hf_p1_originally_specified_recipient_number, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_OriginallySpecifiedRecipientNumber },
3286
  { &hf_p1_per_recipient_indicators, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_PerRecipientIndicators },
3287
  { &hf_p1_explicit_conversion, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ExplicitConversion },
3288
  { &hf_p1_extensions       , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField },
3289
  { NULL, 0, 0, 0, NULL }
3290
};
3291
3292
static unsigned
3293
0
dissect_p1_PerRecipientProbeTransferFields(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3294
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3295
0
                              PerRecipientProbeTransferFields_set, hf_index, ett_p1_PerRecipientProbeTransferFields);
3296
3297
0
  return offset;
3298
0
}
3299
3300
3301
static const ber_sequence_t SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeTransferFields_sequence_of[1] = {
3302
  { &hf_p1_per_recipient_probe_transfer_fields_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_PerRecipientProbeTransferFields },
3303
};
3304
3305
static unsigned
3306
0
dissect_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeTransferFields(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3307
0
  offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
3308
0
                                                  1, ub_recipients, SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeTransferFields_sequence_of, hf_index, ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeTransferFields);
3309
3310
0
  return offset;
3311
0
}
3312
3313
3314
static const ber_sequence_t ProbeTransferEnvelope_set[] = {
3315
  { &hf_p1_probe_identifier , BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_p1_ProbeIdentifier },
3316
  { &hf_p1_mta_originator_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_MTAOriginatorName },
3317
  { &hf_p1_original_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_OriginalEncodedInformationTypes },
3318
  { &hf_p1_content_type     , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_ContentType },
3319
  { &hf_p1_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ContentIdentifier },
3320
  { &hf_p1_content_length   , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ContentLength },
3321
  { &hf_p1_per_message_indicators, BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_PerMessageIndicators },
3322
  { &hf_p1_per_domain_bilateral_information, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SEQUENCE_SIZE_1_ub_transfers_OF_PerDomainBilateralInformation },
3323
  { &hf_p1_trace_information, BER_CLASS_APP, 9, BER_FLAGS_NOOWNTAG, dissect_p1_TraceInformation },
3324
  { &hf_p1_extensions       , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField },
3325
  { &hf_p1_per_recipient_probe_transfer_fields, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeTransferFields },
3326
  { NULL, 0, 0, 0, NULL }
3327
};
3328
3329
static unsigned
3330
0
dissect_p1_ProbeTransferEnvelope(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3331
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3332
0
                              ProbeTransferEnvelope_set, hf_index, ett_p1_ProbeTransferEnvelope);
3333
3334
0
  return offset;
3335
0
}
3336
3337
3338
3339
static unsigned
3340
0
dissect_p1_Probe(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3341
0
  offset = dissect_p1_ProbeTransferEnvelope(implicit_tag, tvb, offset, actx, tree, hf_index);
3342
3343
0
  return offset;
3344
0
}
3345
3346
3347
3348
static unsigned
3349
0
dissect_p1_ReportIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3350
0
  offset = dissect_p1_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
3351
3352
0
  return offset;
3353
0
}
3354
3355
3356
3357
static unsigned
3358
0
dissect_p1_ReportDestinationName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3359
0
  offset = dissect_p1_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
3360
3361
0
  return offset;
3362
0
}
3363
3364
3365
static const ber_sequence_t ReportTransferEnvelope_set[] = {
3366
  { &hf_p1_report_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_p1_ReportIdentifier },
3367
  { &hf_p1_report_destination_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_ReportDestinationName },
3368
  { &hf_p1_trace_information, BER_CLASS_APP, 9, BER_FLAGS_NOOWNTAG, dissect_p1_TraceInformation },
3369
  { &hf_p1_extensions       , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField },
3370
  { NULL, 0, 0, 0, NULL }
3371
};
3372
3373
static unsigned
3374
0
dissect_p1_ReportTransferEnvelope(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3375
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3376
0
                              ReportTransferEnvelope_set, hf_index, ett_p1_ReportTransferEnvelope);
3377
3378
0
  return offset;
3379
0
}
3380
3381
3382
3383
static unsigned
3384
0
dissect_p1_MessageOrProbeIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3385
0
  offset = dissect_p1_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
3386
3387
0
  return offset;
3388
0
}
3389
3390
3391
3392
static unsigned
3393
0
dissect_p1_SubjectIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3394
0
  offset = dissect_p1_MessageOrProbeIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
3395
3396
0
  return offset;
3397
0
}
3398
3399
3400
3401
static unsigned
3402
0
dissect_p1_SubjectIntermediateTraceInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3403
0
  offset = dissect_p1_TraceInformation(implicit_tag, tvb, offset, actx, tree, hf_index);
3404
3405
0
  return offset;
3406
0
}
3407
3408
3409
3410
static unsigned
3411
0
dissect_p1_AdditionalInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3412
0
   proto_item *item = NULL;
3413
0
   int         loffset = 0;
3414
0
   uint32_t    len = 0;
3415
3416
   /* work out the length */
3417
0
   loffset = dissect_ber_identifier(actx->pinfo, tree, tvb, offset, NULL, NULL, NULL);
3418
0
   (void) dissect_ber_length(actx->pinfo, tree, tvb, loffset, &len, NULL);
3419
3420
0
   item = proto_tree_add_item(tree, hf_index, tvb, offset, len, ENC_BIG_ENDIAN);
3421
0
   tree = proto_item_add_subtree(item, ett_p1_additional_information);
3422
0
   proto_item_append_text(tree, " (The use of this field is \"strongly deprecated\".)");
3423
3424
0
   offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree);
3425
3426
3427
0
  return offset;
3428
0
}
3429
3430
3431
3432
static unsigned
3433
0
dissect_p1_MTAActualRecipientName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3434
0
  offset = dissect_p1_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
3435
3436
0
  return offset;
3437
0
}
3438
3439
3440
3441
unsigned
3442
0
dissect_p1_MessageDeliveryTime(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3443
0
  offset = dissect_p1_Time(implicit_tag, tvb, offset, actx, tree, hf_index);
3444
3445
0
  return offset;
3446
0
}
3447
3448
3449
static const value_string p1_TypeOfMTSUser_vals[] = {
3450
  {   0, "public" },
3451
  {   1, "private" },
3452
  {   2, "ms" },
3453
  {   3, "dl" },
3454
  {   4, "pdau" },
3455
  {   5, "physical-recipient" },
3456
  {   6, "other" },
3457
  { 0, NULL }
3458
};
3459
3460
3461
static unsigned
3462
0
dissect_p1_TypeOfMTSUser(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3463
0
  offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
3464
0
                                                            0U, ub_mts_user_types, hf_index, NULL);
3465
3466
0
  return offset;
3467
0
}
3468
3469
3470
static const ber_sequence_t DeliveryReport_set[] = {
3471
  { &hf_p1_message_delivery_time, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_MessageDeliveryTime },
3472
  { &hf_p1_type_of_MTS_user , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_TypeOfMTSUser },
3473
  { NULL, 0, 0, 0, NULL }
3474
};
3475
3476
static unsigned
3477
0
dissect_p1_DeliveryReport(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3478
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3479
0
                              DeliveryReport_set, hf_index, ett_p1_DeliveryReport);
3480
3481
0
  return offset;
3482
0
}
3483
3484
3485
const value_string p1_NonDeliveryReasonCode_vals[] = {
3486
  {   0, "transfer-failure" },
3487
  {   1, "unable-to-transfer" },
3488
  {   2, "conversion-not-performed" },
3489
  {   3, "physical-rendition-not-performed" },
3490
  {   4, "physical-delivery-not-performed" },
3491
  {   5, "restricted-delivery" },
3492
  {   6, "directory-operation-unsuccessful" },
3493
  {   7, "deferred-delivery-not-performed" },
3494
  {   8, "transfer-failure-for-security-reason" },
3495
  { 0, NULL }
3496
};
3497
3498
3499
unsigned
3500
0
dissect_p1_NonDeliveryReasonCode(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3501
0
  offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
3502
0
                                                            0U, ub_reason_codes, hf_index, NULL);
3503
3504
0
  return offset;
3505
0
}
3506
3507
3508
const value_string p1_NonDeliveryDiagnosticCode_vals[] = {
3509
  {   0, "unrecognised-OR-name" },
3510
  {   1, "ambiguous-OR-name" },
3511
  {   2, "mts-congestion" },
3512
  {   3, "loop-detected" },
3513
  {   4, "recipient-unavailable" },
3514
  {   5, "maximum-time-expired" },
3515
  {   6, "encoded-information-types-unsupported" },
3516
  {   7, "content-too-long" },
3517
  {   8, "conversion-impractical" },
3518
  {   9, "implicit-conversion-prohibited" },
3519
  {  10, "implicit-conversion-not-subscribed" },
3520
  {  11, "invalid-arguments" },
3521
  {  12, "content-syntax-error" },
3522
  {  13, "size-constraint-violation" },
3523
  {  14, "protocol-violation" },
3524
  {  15, "content-type-not-supported" },
3525
  {  16, "too-many-recipients" },
3526
  {  17, "no-bilateral-agreement" },
3527
  {  18, "unsupported-critical-function" },
3528
  {  19, "conversion-with-loss-prohibited" },
3529
  {  20, "line-too-long" },
3530
  {  21, "page-split" },
3531
  {  22, "pictorial-symbol-loss" },
3532
  {  23, "punctuation-symbol-loss" },
3533
  {  24, "alphabetic-character-loss" },
3534
  {  25, "multiple-information-loss" },
3535
  {  26, "recipient-reassignment-prohibited" },
3536
  {  27, "redirection-loop-detected" },
3537
  {  28, "dl-expansion-prohibited" },
3538
  {  29, "no-dl-submit-permission" },
3539
  {  30, "dl-expansion-failure" },
3540
  {  31, "physical-rendition-attributes-not-supported" },
3541
  {  32, "undeliverable-mail-physical-delivery-address-incorrect" },
3542
  {  33, "undeliverable-mail-physical-delivery-office-incorrect-or-invalid" },
3543
  {  34, "undeliverable-mail-physical-delivery-address-incomplete" },
3544
  {  35, "undeliverable-mail-recipient-unknown" },
3545
  {  36, "undeliverable-mail-recipient-deceased" },
3546
  {  37, "undeliverable-mail-organization-expired" },
3547
  {  38, "undeliverable-mail-recipient-refused-to-accept" },
3548
  {  39, "undeliverable-mail-recipient-did-not-claim" },
3549
  {  40, "undeliverable-mail-recipient-changed-address-permanently" },
3550
  {  41, "undeliverable-mail-recipient-changed-address-temporarily" },
3551
  {  42, "undeliverable-mail-recipient-changed-temporary-address" },
3552
  {  43, "undeliverable-mail-new-address-unknown" },
3553
  {  44, "undeliverable-mail-recipient-did-not-want-forwarding" },
3554
  {  45, "undeliverable-mail-originator-prohibited-forwarding" },
3555
  {  46, "secure-messaging-error" },
3556
  {  47, "unable-to-downgrade" },
3557
  {  48, "unable-to-complete-transfer" },
3558
  {  49, "transfer-attempts-limit-reached" },
3559
  {  50, "incorrect-notification-type" },
3560
  {  51, "dl-expansion-prohibited-by-security-policy" },
3561
  {  52, "forbidden-alternate-recipient" },
3562
  {  53, "security-policy-violation" },
3563
  {  54, "security-services-refusal" },
3564
  {  55, "unauthorised-dl-member" },
3565
  {  56, "unauthorised-dl-name" },
3566
  {  57, "unauthorised-originally-intended-recipient-name" },
3567
  {  58, "unauthorised-originator-name" },
3568
  {  59, "unauthorised-recipient-name" },
3569
  {  60, "unreliable-system" },
3570
  {  61, "authentication-failure-on-subject-message" },
3571
  {  62, "decryption-failed" },
3572
  {  63, "decryption-key-unobtainable" },
3573
  {  64, "double-envelope-creation-failure" },
3574
  {  65, "double-enveloping-message-restoring-failure" },
3575
  {  66, "failure-of-proof-of-message" },
3576
  {  67, "integrity-failure-on-subject-message" },
3577
  {  68, "invalid-security-label" },
3578
  {  69, "key-failure" },
3579
  {  70, "mandatory-parameter-absence" },
3580
  {  71, "operation-security-failure" },
3581
  {  72, "repudiation-failure-of-message" },
3582
  {  73, "security-context-failure" },
3583
  {  74, "token-decryption-failed" },
3584
  {  75, "token-error" },
3585
  {  76, "unknown-security-label" },
3586
  {  77, "unsupported-algorithm-identifier" },
3587
  {  78, "unsupported-security-policy" },
3588
  { 0, NULL }
3589
};
3590
3591
static value_string_ext p1_NonDeliveryDiagnosticCode_vals_ext = VALUE_STRING_EXT_INIT(p1_NonDeliveryDiagnosticCode_vals);
3592
3593
3594
unsigned
3595
0
dissect_p1_NonDeliveryDiagnosticCode(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3596
0
  offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
3597
0
                                                            0U, ub_diagnostic_codes, hf_index, NULL);
3598
3599
0
  return offset;
3600
0
}
3601
3602
3603
static const ber_sequence_t NonDeliveryReport_set[] = {
3604
  { &hf_p1_non_delivery_reason_code, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_NonDeliveryReasonCode },
3605
  { &hf_p1_non_delivery_diagnostic_code, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_NonDeliveryDiagnosticCode },
3606
  { NULL, 0, 0, 0, NULL }
3607
};
3608
3609
static unsigned
3610
0
dissect_p1_NonDeliveryReport(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3611
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3612
0
                              NonDeliveryReport_set, hf_index, ett_p1_NonDeliveryReport);
3613
3614
0
  return offset;
3615
0
}
3616
3617
3618
static const value_string p1_ReportType_vals[] = {
3619
  {   0, "delivery" },
3620
  {   1, "non-delivery" },
3621
  { 0, NULL }
3622
};
3623
3624
static const ber_choice_t ReportType_choice[] = {
3625
  {   0, &hf_p1_delivery         , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_DeliveryReport },
3626
  {   1, &hf_p1_non_delivery     , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_NonDeliveryReport },
3627
  { 0, NULL, 0, 0, 0, NULL }
3628
};
3629
3630
static unsigned
3631
0
dissect_p1_ReportType(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3632
0
  int report = -1;
3633
3634
0
    offset = dissect_ber_choice(actx, tree, tvb, offset,
3635
0
                                 ReportType_choice, hf_index, ett_p1_ReportType,
3636
0
                                 &report);
3637
3638
3639
0
    if( (report!=-1) && p1_ReportType_vals[report].strptr ){
3640
0
      col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s", p1_ReportType_vals[report].strptr);
3641
0
  }
3642
3643
3644
0
  return offset;
3645
0
}
3646
3647
3648
static const ber_sequence_t LastTraceInformation_set[] = {
3649
  { &hf_p1_arrival_time     , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_ArrivalTime },
3650
  { &hf_p1_converted_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ConvertedEncodedInformationTypes },
3651
  { &hf_p1_trace_report_type, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_ReportType },
3652
  { NULL, 0, 0, 0, NULL }
3653
};
3654
3655
static unsigned
3656
0
dissect_p1_LastTraceInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3657
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3658
0
                              LastTraceInformation_set, hf_index, ett_p1_LastTraceInformation);
3659
3660
0
  return offset;
3661
0
}
3662
3663
3664
3665
static unsigned
3666
0
dissect_p1_OriginallyIntendedRecipientName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3667
0
  offset = dissect_p1_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
3668
3669
0
  return offset;
3670
0
}
3671
3672
3673
3674
unsigned
3675
0
dissect_p1_SupplementaryInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3676
0
  offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
3677
0
                                                        actx, tree, tvb, offset,
3678
0
                                                        1, ub_supplementary_info_length, hf_index, NULL);
3679
3680
0
  return offset;
3681
0
}
3682
3683
3684
static const ber_sequence_t PerRecipientReportTransferFields_set[] = {
3685
  { &hf_p1_mta_actual_recipient_name, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_MTAActualRecipientName },
3686
  { &hf_p1_originally_specified_recipient_number, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_OriginallySpecifiedRecipientNumber },
3687
  { &hf_p1_per_recipient_indicators, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_p1_PerRecipientIndicators },
3688
  { &hf_p1_last_trace_information, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_p1_LastTraceInformation },
3689
  { &hf_p1_report_originally_intended_recipient_name, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_OriginallyIntendedRecipientName },
3690
  { &hf_p1_supplementary_information, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SupplementaryInformation },
3691
  { &hf_p1_extensions       , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField },
3692
  { NULL, 0, 0, 0, NULL }
3693
};
3694
3695
static unsigned
3696
0
dissect_p1_PerRecipientReportTransferFields(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3697
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3698
0
                              PerRecipientReportTransferFields_set, hf_index, ett_p1_PerRecipientReportTransferFields);
3699
3700
0
  return offset;
3701
0
}
3702
3703
3704
static const ber_sequence_t SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportTransferFields_sequence_of[1] = {
3705
  { &hf_p1_per_recipient_report_fields_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_PerRecipientReportTransferFields },
3706
};
3707
3708
static unsigned
3709
0
dissect_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportTransferFields(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3710
0
  offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
3711
0
                                                  1, ub_recipients, SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportTransferFields_sequence_of, hf_index, ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportTransferFields);
3712
3713
0
  return offset;
3714
0
}
3715
3716
3717
static const ber_sequence_t ReportTransferContent_set[] = {
3718
  { &hf_p1_subject_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_p1_SubjectIdentifier },
3719
  { &hf_p1_subject_intermediate_trace_information, BER_CLASS_APP, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_SubjectIntermediateTraceInformation },
3720
  { &hf_p1_original_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_OriginalEncodedInformationTypes },
3721
  { &hf_p1_content_type     , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_ContentType },
3722
  { &hf_p1_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ContentIdentifier },
3723
  { &hf_p1_returned_content , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_Content },
3724
  { &hf_p1_additional_information, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_AdditionalInformation },
3725
  { &hf_p1_extensions       , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField },
3726
  { &hf_p1_per_recipient_report_fields, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportTransferFields },
3727
  { NULL, 0, 0, 0, NULL }
3728
};
3729
3730
static unsigned
3731
0
dissect_p1_ReportTransferContent(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3732
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3733
0
                              ReportTransferContent_set, hf_index, ett_p1_ReportTransferContent);
3734
3735
0
  return offset;
3736
0
}
3737
3738
3739
static const ber_sequence_t Report_sequence[] = {
3740
  { &hf_p1_report_envelope  , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_ReportTransferEnvelope },
3741
  { &hf_p1_report_content   , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_ReportTransferContent },
3742
  { NULL, 0, 0, 0, NULL }
3743
};
3744
3745
static unsigned
3746
0
dissect_p1_Report(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3747
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3748
0
                                   Report_sequence, hf_index, ett_p1_Report);
3749
3750
0
  return offset;
3751
0
}
3752
3753
3754
static const value_string p1_MTS_APDU_vals[] = {
3755
  {   0, "message" },
3756
  {   2, "probe" },
3757
  {   1, "report" },
3758
  { 0, NULL }
3759
};
3760
3761
static const ber_choice_t MTS_APDU_choice[] = {
3762
  {   0, &hf_p1_message          , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_Message },
3763
  {   2, &hf_p1_probe            , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_p1_Probe },
3764
  {   1, &hf_p1_report           , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_Report },
3765
  { 0, NULL, 0, 0, 0, NULL }
3766
};
3767
3768
static unsigned
3769
0
dissect_p1_MTS_APDU(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3770
0
  int apdu = -1;
3771
3772
0
    offset = dissect_ber_choice(actx, tree, tvb, offset,
3773
0
                                 MTS_APDU_choice, hf_index, ett_p1_MTS_APDU,
3774
0
                                 &apdu);
3775
3776
3777
0
  if( (apdu!=-1) && p1_MTS_APDU_vals[apdu].strptr ){
3778
0
    if(apdu != 0) { /* we don't show "message" - sub-dissectors have better idea */
3779
0
      col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s", p1_MTS_APDU_vals[apdu].strptr);
3780
0
    }
3781
0
  }
3782
3783
3784
0
  return offset;
3785
0
}
3786
3787
3788
3789
3790
3791
static const value_string p1_T_attempted_vals[] = {
3792
  {   0, "mta" },
3793
  {   1, "domain" },
3794
  { 0, NULL }
3795
};
3796
3797
static const ber_choice_t T_attempted_choice[] = {
3798
  {   0, &hf_p1_mta              , BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_p1_MTAName },
3799
  {   1, &hf_p1_domain           , BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_p1_GlobalDomainIdentifier },
3800
  { 0, NULL, 0, 0, 0, NULL }
3801
};
3802
3803
static unsigned
3804
0
dissect_p1_T_attempted(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3805
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
3806
0
                                 T_attempted_choice, hf_index, ett_p1_T_attempted,
3807
0
                                 NULL);
3808
3809
0
  return offset;
3810
0
}
3811
3812
3813
static const ber_sequence_t MTASuppliedInformation_set[] = {
3814
  { &hf_p1_arrival_time     , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_ArrivalTime },
3815
  { &hf_p1_routing_action   , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_p1_RoutingAction },
3816
  { &hf_p1_attempted        , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_T_attempted },
3817
  { &hf_p1_deferred_time    , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_DeferredTime },
3818
  { &hf_p1_converted_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ConvertedEncodedInformationTypes },
3819
  { &hf_p1_other_actions    , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_OtherActions },
3820
  { NULL, 0, 0, 0, NULL }
3821
};
3822
3823
static unsigned
3824
0
dissect_p1_MTASuppliedInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3825
3826
0
  set_do_address(actx, false);
3827
3828
0
    offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3829
0
                              MTASuppliedInformation_set, hf_index, ett_p1_MTASuppliedInformation);
3830
3831
3832
0
  set_do_address(actx, true);
3833
0
  proto_item_append_text(tree, ")");
3834
3835
3836
0
  return offset;
3837
0
}
3838
3839
3840
static const ber_sequence_t InternalTraceInformationElement_sequence[] = {
3841
  { &hf_p1_global_domain_identifier, BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_p1_GlobalDomainIdentifier },
3842
  { &hf_p1_mta_name         , BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_p1_MTAName },
3843
  { &hf_p1_mta_supplied_information, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_MTASuppliedInformation },
3844
  { NULL, 0, 0, 0, NULL }
3845
};
3846
3847
static unsigned
3848
0
dissect_p1_InternalTraceInformationElement(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3849
3850
0
  set_do_address(actx, true);
3851
3852
0
    offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3853
0
                                   InternalTraceInformationElement_sequence, hf_index, ett_p1_InternalTraceInformationElement);
3854
3855
3856
0
  set_do_address(actx, false);
3857
3858
3859
0
  return offset;
3860
0
}
3861
3862
3863
static const ber_sequence_t InternalTraceInformation_sequence_of[1] = {
3864
  { &hf_p1_InternalTraceInformation_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_InternalTraceInformationElement },
3865
};
3866
3867
static unsigned
3868
0
dissect_p1_InternalTraceInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3869
0
  offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
3870
0
                                                  1, ub_transfers, InternalTraceInformation_sequence_of, hf_index, ett_p1_InternalTraceInformation);
3871
3872
0
  return offset;
3873
0
}
3874
3875
3876
3877
3878
static const value_string p1_ObjectName_vals[] = {
3879
  {   0, "user-agent" },
3880
  {   1, "mTA" },
3881
  {   2, "message-store" },
3882
  { 0, NULL }
3883
};
3884
3885
static const ber_choice_t ObjectName_choice[] = {
3886
  {   0, &hf_p1_user_agent       , BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_ORAddressAndOptionalDirectoryName },
3887
  {   1, &hf_p1_mTA              , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_MTAName },
3888
  {   2, &hf_p1_message_store    , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_p1_ORAddressAndOptionalDirectoryName },
3889
  { 0, NULL, 0, 0, 0, NULL }
3890
};
3891
3892
static unsigned
3893
0
dissect_p1_ObjectName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3894
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
3895
0
                                 ObjectName_choice, hf_index, ett_p1_ObjectName,
3896
0
                                 NULL);
3897
3898
0
  return offset;
3899
0
}
3900
3901
3902
3903
static unsigned
3904
0
dissect_p1_INTEGER_0_ub_queue_size(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3905
0
  offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
3906
0
                                                            0U, ub_queue_size, hf_index, NULL);
3907
3908
0
  return offset;
3909
0
}
3910
3911
3912
3913
static unsigned
3914
0
dissect_p1_INTEGER_0_ub_content_length(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3915
0
  offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
3916
0
                                                            0U, ub_content_length, hf_index, NULL);
3917
3918
0
  return offset;
3919
0
}
3920
3921
3922
static const ber_sequence_t DeliveryQueue_set[] = {
3923
  { &hf_p1_messages         , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_INTEGER_0_ub_queue_size },
3924
  { &hf_p1_delivery_queue_octets, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_INTEGER_0_ub_content_length },
3925
  { NULL, 0, 0, 0, NULL }
3926
};
3927
3928
static unsigned
3929
0
dissect_p1_DeliveryQueue(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3930
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3931
0
                              DeliveryQueue_set, hf_index, ett_p1_DeliveryQueue);
3932
3933
0
  return offset;
3934
0
}
3935
3936
3937
static const ber_sequence_t MessagesWaiting_set[] = {
3938
  { &hf_p1_urgent           , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_DeliveryQueue },
3939
  { &hf_p1_normal           , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_DeliveryQueue },
3940
  { &hf_p1_non_urgent       , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_p1_DeliveryQueue },
3941
  { NULL, 0, 0, 0, NULL }
3942
};
3943
3944
static unsigned
3945
0
dissect_p1_MessagesWaiting(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3946
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3947
0
                              MessagesWaiting_set, hf_index, ett_p1_MessagesWaiting);
3948
3949
0
  return offset;
3950
0
}
3951
3952
3953
static const ber_sequence_t MTSBindArgument_set[] = {
3954
  { &hf_p1_initiator_name   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_ObjectName },
3955
  { &hf_p1_messages_waiting , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p1_MessagesWaiting },
3956
  { &hf_p1_initiator_credentials, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_InitiatorCredentials },
3957
  { &hf_p1_security_context , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SecurityContext },
3958
  { &hf_p1_extensions       , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField },
3959
  { NULL, 0, 0, 0, NULL }
3960
};
3961
3962
static unsigned
3963
0
dissect_p1_MTSBindArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3964
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3965
0
                              MTSBindArgument_set, hf_index, ett_p1_MTSBindArgument);
3966
3967
0
  return offset;
3968
0
}
3969
3970
3971
static const ber_sequence_t MTSBindResult_set[] = {
3972
  { &hf_p1_responder_name   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_ObjectName },
3973
  { &hf_p1_messages_waiting , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p1_MessagesWaiting },
3974
  { &hf_p1_responder_credentials, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_ResponderCredentials },
3975
  { &hf_p1_extensions       , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField },
3976
  { NULL, 0, 0, 0, NULL }
3977
};
3978
3979
static unsigned
3980
0
dissect_p1_MTSBindResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3981
  /* TODO: there may be other entry points where this global should be initialized... */
3982
0
  actx->subtree.tree = NULL;
3983
3984
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3985
0
                              MTSBindResult_set, hf_index, ett_p1_MTSBindResult);
3986
3987
0
  return offset;
3988
0
}
3989
3990
3991
static const value_string p1_PAR_mts_bind_error_vals[] = {
3992
  {   0, "busy" },
3993
  {   2, "authentication-error" },
3994
  {   3, "unacceptable-dialogue-mode" },
3995
  {   4, "unacceptable-security-context" },
3996
  {   5, "inadequate-association-confidentiality" },
3997
  { 0, NULL }
3998
};
3999
4000
4001
static unsigned
4002
0
dissect_p1_PAR_mts_bind_error(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4003
0
  offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
4004
0
                                                            0U, ub_integer_options, hf_index, NULL);
4005
4006
0
  return offset;
4007
0
}
4008
4009
4010
4011
unsigned
4012
0
dissect_p1_ORAddressAndOrDirectoryName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4013
0
  offset = dissect_p1_ORName(implicit_tag, tvb, offset, actx, tree, hf_index);
4014
4015
0
  return offset;
4016
0
}
4017
4018
4019
4020
unsigned
4021
0
dissect_p1_OriginatorName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4022
0
  offset = dissect_p1_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
4023
4024
0
  return offset;
4025
0
}
4026
4027
4028
4029
static unsigned
4030
0
dissect_p1_RecipientName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4031
0
  offset = dissect_p1_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
4032
4033
0
  return offset;
4034
0
}
4035
4036
4037
static int * const OriginatorReportRequest_bits[] = {
4038
  &hf_p1_OriginatorReportRequest_spare_bit0,
4039
  &hf_p1_OriginatorReportRequest_spare_bit1,
4040
  &hf_p1_OriginatorReportRequest_spare_bit2,
4041
  &hf_p1_OriginatorReportRequest_report,
4042
  &hf_p1_OriginatorReportRequest_non_delivery_report,
4043
  NULL
4044
};
4045
4046
static unsigned
4047
0
dissect_p1_OriginatorReportRequest(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4048
0
  offset = dissect_ber_constrained_bitstring(implicit_tag, actx, tree, tvb, offset,
4049
0
                                                0, ub_bit_options, OriginatorReportRequest_bits, 5, hf_index, ett_p1_OriginatorReportRequest,
4050
0
                                                NULL);
4051
4052
0
  return offset;
4053
0
}
4054
4055
4056
static const ber_sequence_t PerRecipientMessageSubmissionFields_set[] = {
4057
  { &hf_p1_submission_recipient_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_RecipientName },
4058
  { &hf_p1_originator_report_request, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_OriginatorReportRequest },
4059
  { &hf_p1_explicit_conversion, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ExplicitConversion },
4060
  { &hf_p1_extensions       , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField },
4061
  { NULL, 0, 0, 0, NULL }
4062
};
4063
4064
static unsigned
4065
0
dissect_p1_PerRecipientMessageSubmissionFields(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4066
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4067
0
                              PerRecipientMessageSubmissionFields_set, hf_index, ett_p1_PerRecipientMessageSubmissionFields);
4068
4069
0
  return offset;
4070
0
}
4071
4072
4073
static const ber_sequence_t SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageSubmissionFields_sequence_of[1] = {
4074
  { &hf_p1_per_recipient_message_submission_fields_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_PerRecipientMessageSubmissionFields },
4075
};
4076
4077
static unsigned
4078
0
dissect_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageSubmissionFields(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4079
0
  offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
4080
0
                                                  1, ub_recipients, SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageSubmissionFields_sequence_of, hf_index, ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageSubmissionFields);
4081
4082
0
  return offset;
4083
0
}
4084
4085
4086
static const ber_sequence_t MessageSubmissionEnvelope_set[] = {
4087
  { &hf_p1_mts_originator_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_OriginatorName },
4088
  { &hf_p1_original_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_OriginalEncodedInformationTypes },
4089
  { &hf_p1_content_type     , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_ContentType },
4090
  { &hf_p1_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ContentIdentifier },
4091
  { &hf_p1_priority         , BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_Priority },
4092
  { &hf_p1_per_message_indicators, BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_PerMessageIndicators },
4093
  { &hf_p1_deferred_delivery_time, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_DeferredDeliveryTime },
4094
  { &hf_p1_extensions       , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField },
4095
  { &hf_p1_per_recipient_message_submission_fields, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageSubmissionFields },
4096
  { NULL, 0, 0, 0, NULL }
4097
};
4098
4099
unsigned
4100
0
dissect_p1_MessageSubmissionEnvelope(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4101
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4102
0
                              MessageSubmissionEnvelope_set, hf_index, ett_p1_MessageSubmissionEnvelope);
4103
4104
0
  return offset;
4105
0
}
4106
4107
4108
static const ber_sequence_t MessageSubmissionArgument_sequence[] = {
4109
  { &hf_p1_message_submission_envelope, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_MessageSubmissionEnvelope },
4110
  { &hf_p1_content          , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_p1_Content },
4111
  { NULL, 0, 0, 0, NULL }
4112
};
4113
4114
static unsigned
4115
0
dissect_p1_MessageSubmissionArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4116
0
  p1_initialize_content_globals(actx, tree, true);
4117
0
    offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4118
0
                                   MessageSubmissionArgument_sequence, hf_index, ett_p1_MessageSubmissionArgument);
4119
4120
0
  p1_initialize_content_globals(actx, NULL, false);
4121
4122
4123
0
  return offset;
4124
0
}
4125
4126
4127
4128
unsigned
4129
0
dissect_p1_MessageSubmissionIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4130
0
  offset = dissect_p1_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
4131
4132
0
  return offset;
4133
0
}
4134
4135
4136
4137
unsigned
4138
0
dissect_p1_MessageSubmissionTime(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4139
0
  offset = dissect_p1_Time(implicit_tag, tvb, offset, actx, tree, hf_index);
4140
4141
0
  return offset;
4142
0
}
4143
4144
4145
static const ber_sequence_t MessageSubmissionResult_set[] = {
4146
  { &hf_p1_message_submission_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_p1_MessageSubmissionIdentifier },
4147
  { &hf_p1_message_submission_time, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_MessageSubmissionTime },
4148
  { &hf_p1_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ContentIdentifier },
4149
  { &hf_p1_extensions       , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField },
4150
  { NULL, 0, 0, 0, NULL }
4151
};
4152
4153
static unsigned
4154
0
dissect_p1_MessageSubmissionResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4155
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4156
0
                              MessageSubmissionResult_set, hf_index, ett_p1_MessageSubmissionResult);
4157
4158
0
  return offset;
4159
0
}
4160
4161
4162
static const ber_sequence_t PerRecipientProbeSubmissionFields_set[] = {
4163
  { &hf_p1_probe_recipient_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_RecipientName },
4164
  { &hf_p1_originator_report_request, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_OriginatorReportRequest },
4165
  { &hf_p1_explicit_conversion, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ExplicitConversion },
4166
  { &hf_p1_extensions       , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField },
4167
  { NULL, 0, 0, 0, NULL }
4168
};
4169
4170
unsigned
4171
0
dissect_p1_PerRecipientProbeSubmissionFields(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4172
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4173
0
                              PerRecipientProbeSubmissionFields_set, hf_index, ett_p1_PerRecipientProbeSubmissionFields);
4174
4175
0
  return offset;
4176
0
}
4177
4178
4179
static const ber_sequence_t SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeSubmissionFields_sequence_of[1] = {
4180
  { &hf_p1_per_recipient_probe_submission_fields_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_PerRecipientProbeSubmissionFields },
4181
};
4182
4183
static unsigned
4184
0
dissect_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeSubmissionFields(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4185
0
  offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
4186
0
                                                  1, ub_recipients, SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeSubmissionFields_sequence_of, hf_index, ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeSubmissionFields);
4187
4188
0
  return offset;
4189
0
}
4190
4191
4192
static const ber_sequence_t ProbeSubmissionEnvelope_set[] = {
4193
  { &hf_p1_mts_originator_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_OriginatorName },
4194
  { &hf_p1_original_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_OriginalEncodedInformationTypes },
4195
  { &hf_p1_content_type     , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_ContentType },
4196
  { &hf_p1_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ContentIdentifier },
4197
  { &hf_p1_content_length   , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ContentLength },
4198
  { &hf_p1_per_message_indicators, BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_PerMessageIndicators },
4199
  { &hf_p1_extensions       , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField },
4200
  { &hf_p1_per_recipient_probe_submission_fields, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeSubmissionFields },
4201
  { NULL, 0, 0, 0, NULL }
4202
};
4203
4204
unsigned
4205
0
dissect_p1_ProbeSubmissionEnvelope(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4206
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4207
0
                              ProbeSubmissionEnvelope_set, hf_index, ett_p1_ProbeSubmissionEnvelope);
4208
4209
0
  return offset;
4210
0
}
4211
4212
4213
4214
static unsigned
4215
0
dissect_p1_ProbeSubmissionArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4216
0
  offset = dissect_p1_ProbeSubmissionEnvelope(implicit_tag, tvb, offset, actx, tree, hf_index);
4217
4218
0
  return offset;
4219
0
}
4220
4221
4222
4223
unsigned
4224
0
dissect_p1_ProbeSubmissionIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4225
0
  offset = dissect_p1_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
4226
4227
0
  return offset;
4228
0
}
4229
4230
4231
4232
unsigned
4233
0
dissect_p1_ProbeSubmissionTime(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4234
0
  offset = dissect_p1_Time(implicit_tag, tvb, offset, actx, tree, hf_index);
4235
4236
0
  return offset;
4237
0
}
4238
4239
4240
static const ber_sequence_t ProbeSubmissionResult_set[] = {
4241
  { &hf_p1_probe_submission_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_p1_ProbeSubmissionIdentifier },
4242
  { &hf_p1_probe_submission_time, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_ProbeSubmissionTime },
4243
  { &hf_p1_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ContentIdentifier },
4244
  { &hf_p1_extensions       , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField },
4245
  { NULL, 0, 0, 0, NULL }
4246
};
4247
4248
static unsigned
4249
0
dissect_p1_ProbeSubmissionResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4250
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4251
0
                              ProbeSubmissionResult_set, hf_index, ett_p1_ProbeSubmissionResult);
4252
4253
0
  return offset;
4254
0
}
4255
4256
4257
4258
static unsigned
4259
0
dissect_p1_CancelDeferredDeliveryArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4260
0
  offset = dissect_p1_MessageSubmissionIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
4261
4262
0
  return offset;
4263
0
}
4264
4265
4266
4267
static unsigned
4268
0
dissect_p1_CancelDeferredDeliveryResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4269
0
  offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
4270
4271
0
  return offset;
4272
0
}
4273
4274
4275
4276
static unsigned
4277
0
dissect_p1_BOOLEAN(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4278
0
  offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
4279
4280
0
  return offset;
4281
0
}
4282
4283
4284
static int * const Operations_bits[] = {
4285
  &hf_p1_Operations_probe_submission_or_report_delivery,
4286
  &hf_p1_Operations_message_submission_or_message_delivery,
4287
  NULL
4288
};
4289
4290
static unsigned
4291
0
dissect_p1_Operations(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4292
0
  offset = dissect_ber_constrained_bitstring(implicit_tag, actx, tree, tvb, offset,
4293
0
                                                0, ub_bit_options, Operations_bits, 2, hf_index, ett_p1_Operations,
4294
0
                                                NULL);
4295
4296
0
  return offset;
4297
0
}
4298
4299
4300
static const ber_sequence_t ContentTypes_set_of[1] = {
4301
  { &hf_p1_ContentTypes_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_ContentType },
4302
};
4303
4304
static unsigned
4305
0
dissect_p1_ContentTypes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4306
0
  offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
4307
0
                                             1, ub_content_types, ContentTypes_set_of, hf_index, ett_p1_ContentTypes);
4308
4309
0
  return offset;
4310
0
}
4311
4312
4313
static const ber_sequence_t EncodedInformationTypesConstraints_sequence[] = {
4314
  { &hf_p1_unacceptable_eits, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ExtendedEncodedInformationTypes },
4315
  { &hf_p1_acceptable_eits  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ExtendedEncodedInformationTypes },
4316
  { &hf_p1_exclusively_acceptable_eits, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ExtendedEncodedInformationTypes },
4317
  { NULL, 0, 0, 0, NULL }
4318
};
4319
4320
unsigned
4321
0
dissect_p1_EncodedInformationTypesConstraints(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4322
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4323
0
                                   EncodedInformationTypesConstraints_sequence, hf_index, ett_p1_EncodedInformationTypesConstraints);
4324
4325
0
  return offset;
4326
0
}
4327
4328
4329
4330
static unsigned
4331
0
dissect_p1_PermissibleEncodedInformationTypes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4332
0
  offset = dissect_p1_EncodedInformationTypesConstraints(implicit_tag, tvb, offset, actx, tree, hf_index);
4333
4334
0
  return offset;
4335
0
}
4336
4337
4338
static const ber_sequence_t Controls_set[] = {
4339
  { &hf_p1_restrict         , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_BOOLEAN },
4340
  { &hf_p1_permissible_operations, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_Operations },
4341
  { &hf_p1_permissible_maximum_content_length, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ContentLength },
4342
  { &hf_p1_permissible_lowest_priority, BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_Priority },
4343
  { &hf_p1_permissible_content_types, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ContentTypes },
4344
  { &hf_p1_permissible_encoded_information_types, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_PermissibleEncodedInformationTypes },
4345
  { &hf_p1_permissible_security_context, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SecurityContext },
4346
  { NULL, 0, 0, 0, NULL }
4347
};
4348
4349
static unsigned
4350
0
dissect_p1_Controls(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4351
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4352
0
                              Controls_set, hf_index, ett_p1_Controls);
4353
4354
0
  return offset;
4355
0
}
4356
4357
4358
4359
static unsigned
4360
0
dissect_p1_SubmissionControls(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4361
0
  offset = dissect_p1_Controls(implicit_tag, tvb, offset, actx, tree, hf_index);
4362
4363
0
  return offset;
4364
0
}
4365
4366
4367
4368
static unsigned
4369
0
dissect_p1_SubmissionControlArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4370
0
  offset = dissect_p1_SubmissionControls(implicit_tag, tvb, offset, actx, tree, hf_index);
4371
4372
0
  return offset;
4373
0
}
4374
4375
4376
static int * const WaitingMessages_bits[] = {
4377
  &hf_p1_WaitingMessages_long_content,
4378
  &hf_p1_WaitingMessages_low_priority,
4379
  &hf_p1_WaitingMessages_other_security_labels,
4380
  NULL
4381
};
4382
4383
static unsigned
4384
0
dissect_p1_WaitingMessages(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4385
0
  offset = dissect_ber_constrained_bitstring(implicit_tag, actx, tree, tvb, offset,
4386
0
                                                0, ub_bit_options, WaitingMessages_bits, 3, hf_index, ett_p1_WaitingMessages,
4387
0
                                                NULL);
4388
4389
0
  return offset;
4390
0
}
4391
4392
4393
static const ber_sequence_t SET_SIZE_0_ub_content_types_OF_ContentType_set_of[1] = {
4394
  { &hf_p1_waiting_content_types_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_ContentType },
4395
};
4396
4397
static unsigned
4398
0
dissect_p1_SET_SIZE_0_ub_content_types_OF_ContentType(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4399
0
  offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
4400
0
                                             0, ub_content_types, SET_SIZE_0_ub_content_types_OF_ContentType_set_of, hf_index, ett_p1_SET_SIZE_0_ub_content_types_OF_ContentType);
4401
4402
0
  return offset;
4403
0
}
4404
4405
4406
static const ber_sequence_t Waiting_set[] = {
4407
  { &hf_p1_waiting_operations, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_Operations },
4408
  { &hf_p1_waiting_messages , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_WaitingMessages },
4409
  { &hf_p1_waiting_content_types, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_SIZE_0_ub_content_types_OF_ContentType },
4410
  { &hf_p1_waiting_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_EncodedInformationTypes },
4411
  { NULL, 0, 0, 0, NULL }
4412
};
4413
4414
static unsigned
4415
0
dissect_p1_Waiting(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4416
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4417
0
                              Waiting_set, hf_index, ett_p1_Waiting);
4418
4419
0
  return offset;
4420
0
}
4421
4422
4423
4424
static unsigned
4425
0
dissect_p1_SubmissionControlResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4426
0
  offset = dissect_p1_Waiting(implicit_tag, tvb, offset, actx, tree, hf_index);
4427
4428
0
  return offset;
4429
0
}
4430
4431
4432
4433
static unsigned
4434
0
dissect_p1_PAR_submission_control_violated(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4435
0
  offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
4436
4437
0
  return offset;
4438
0
}
4439
4440
4441
4442
static unsigned
4443
0
dissect_p1_PAR_element_of_service_not_subscribed(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4444
0
  offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
4445
4446
0
  return offset;
4447
0
}
4448
4449
4450
4451
static unsigned
4452
0
dissect_p1_PAR_deferred_delivery_cancellation_rejected(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4453
0
  offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
4454
4455
0
  return offset;
4456
0
}
4457
4458
4459
4460
static unsigned
4461
0
dissect_p1_PAR_originator_invalid(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4462
0
  offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
4463
4464
0
  return offset;
4465
0
}
4466
4467
4468
static const ber_sequence_t ImproperlySpecifiedRecipients_sequence_of[1] = {
4469
  { &hf_p1_ImproperlySpecifiedRecipients_item, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_RecipientName },
4470
};
4471
4472
unsigned
4473
0
dissect_p1_ImproperlySpecifiedRecipients(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4474
0
  offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
4475
0
                                                  1, ub_recipients, ImproperlySpecifiedRecipients_sequence_of, hf_index, ett_p1_ImproperlySpecifiedRecipients);
4476
4477
0
  return offset;
4478
0
}
4479
4480
4481
4482
static unsigned
4483
0
dissect_p1_PAR_message_submission_identifier_invalid(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4484
0
  offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
4485
4486
0
  return offset;
4487
0
}
4488
4489
4490
4491
static unsigned
4492
0
dissect_p1_PAR_inconsistent_request(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4493
0
  offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
4494
4495
0
  return offset;
4496
0
}
4497
4498
4499
const value_string p1_SecurityProblem_vals[] = {
4500
  {   0, "assemby-instructions-conflict-with-security-services" },
4501
  {   1, "authentication-problem" },
4502
  {   2, "authentication-failure-on-subject-message" },
4503
  {   3, "confidentiality-association-problem" },
4504
  {   4, "decryption-failed" },
4505
  {   5, "decryption-key-unobtainable" },
4506
  {   6, "failure-of-proof-of-message" },
4507
  {   7, "forbidden-user-security-label-register" },
4508
  {   8, "incompatible-change-with-original-security-context" },
4509
  {   9, "integrity-failure-on-subject-message" },
4510
  {  10, "invalid-security-label" },
4511
  {  11, "invalid-security-label-update" },
4512
  {  12, "key-failure" },
4513
  {  13, "mandatory-parameter-absence" },
4514
  {  14, "operation-security-failure" },
4515
  {  15, "redirection-prohibited" },
4516
  {  16, "refused-alternate-recipient-name" },
4517
  {  17, "repudiation-failure-of-message" },
4518
  {  18, "responder-credentials-checking-problem" },
4519
  {  19, "security-context-failure" },
4520
  {  20, "security-context-problem" },
4521
  {  21, "security-policy-violation" },
4522
  {  22, "security-services-refusal" },
4523
  {  23, "token-decryption-failed" },
4524
  {  24, "token-error" },
4525
  {  25, "unable-to-aggregate-security-labels" },
4526
  {  26, "unauthorised-dl-name" },
4527
  {  27, "unauthorised-entry-class" },
4528
  {  28, "unauthorised-originally-intended-recipient-name" },
4529
  {  29, "unauthorised-originator-name" },
4530
  {  30, "unauthorised-recipient-name" },
4531
  {  31, "unauthorised-security-label-update" },
4532
  {  32, "unauthorised-user-name" },
4533
  {  33, "unknown-security-label" },
4534
  {  34, "unsupported-algorithm-identifier" },
4535
  {  35, "unsupported-security-policy" },
4536
  { 0, NULL }
4537
};
4538
4539
4540
unsigned
4541
0
dissect_p1_SecurityProblem(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4542
0
  offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
4543
0
                                                            0U, ub_security_problems, hf_index, NULL);
4544
4545
0
  return offset;
4546
0
}
4547
4548
4549
4550
static unsigned
4551
0
dissect_p1_PAR_unsupported_critical_function(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4552
0
  offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
4553
4554
0
  return offset;
4555
0
}
4556
4557
4558
4559
static unsigned
4560
0
dissect_p1_PAR_remote_bind_error(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4561
0
  offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
4562
4563
0
  return offset;
4564
0
}
4565
4566
4567
4568
unsigned
4569
0
dissect_p1_MessageDeliveryIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4570
0
  offset = dissect_p1_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
4571
4572
0
  return offset;
4573
0
}
4574
4575
4576
static const value_string p1_DeliveredContentType_vals[] = {
4577
  {   0, "built-in" },
4578
  {   1, "extended" },
4579
  { 0, NULL }
4580
};
4581
4582
static const ber_choice_t DeliveredContentType_choice[] = {
4583
  {   0, &hf_p1_built_in         , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_BuiltInContentType },
4584
  {   1, &hf_p1_extended         , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p1_ExtendedContentType },
4585
  { 0, NULL, 0, 0, 0, NULL }
4586
};
4587
4588
static unsigned
4589
0
dissect_p1_DeliveredContentType(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4590
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
4591
0
                                 DeliveredContentType_choice, hf_index, ett_p1_DeliveredContentType,
4592
0
                                 NULL);
4593
4594
0
  return offset;
4595
0
}
4596
4597
4598
4599
static unsigned
4600
0
dissect_p1_DeliveredOriginatorName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4601
0
  offset = dissect_p1_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
4602
4603
0
  return offset;
4604
0
}
4605
4606
4607
static int * const DeliveryFlags_bits[] = {
4608
  &hf_p1_DeliveryFlags_spare_bit0,
4609
  &hf_p1_DeliveryFlags_implicit_conversion_prohibited,
4610
  NULL
4611
};
4612
4613
static unsigned
4614
0
dissect_p1_DeliveryFlags(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4615
0
  offset = dissect_ber_constrained_bitstring(implicit_tag, actx, tree, tvb, offset,
4616
0
                                                0, ub_bit_options, DeliveryFlags_bits, 2, hf_index, ett_p1_DeliveryFlags,
4617
0
                                                NULL);
4618
4619
0
  return offset;
4620
0
}
4621
4622
4623
4624
static unsigned
4625
0
dissect_p1_OtherRecipientName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4626
0
  offset = dissect_p1_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
4627
4628
0
  return offset;
4629
0
}
4630
4631
4632
static const ber_sequence_t OtherRecipientNames_sequence_of[1] = {
4633
  { &hf_p1_OtherRecipientNames_item, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_OtherRecipientName },
4634
};
4635
4636
static unsigned
4637
0
dissect_p1_OtherRecipientNames(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4638
0
  offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
4639
0
                                                  1, ub_recipients, OtherRecipientNames_sequence_of, hf_index, ett_p1_OtherRecipientNames);
4640
4641
0
  return offset;
4642
0
}
4643
4644
4645
4646
static unsigned
4647
0
dissect_p1_ThisRecipientName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4648
0
  offset = dissect_p1_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
4649
4650
0
  return offset;
4651
0
}
4652
4653
4654
static const ber_sequence_t OtherMessageDeliveryFields_set[] = {
4655
  { &hf_p1_delivered_content_type, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_DeliveredContentType },
4656
  { &hf_p1_delivered_originator_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_DeliveredOriginatorName },
4657
  { &hf_p1_original_encoded_information_types, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_OriginalEncodedInformationTypes },
4658
  { &hf_p1_priority         , BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_Priority },
4659
  { &hf_p1_delivery_flags   , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_DeliveryFlags },
4660
  { &hf_p1_other_recipient_names, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_OtherRecipientNames },
4661
  { &hf_p1_this_recipient_name, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_p1_ThisRecipientName },
4662
  { &hf_p1_originally_intended_recipient_name, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_OriginallyIntendedRecipientName },
4663
  { &hf_p1_converted_encoded_information_types, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ConvertedEncodedInformationTypes },
4664
  { &hf_p1_message_submission_time, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_p1_MessageSubmissionTime },
4665
  { &hf_p1_content_identifier, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ContentIdentifier },
4666
  { &hf_p1_extensions       , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField },
4667
  { NULL, 0, 0, 0, NULL }
4668
};
4669
4670
unsigned
4671
0
dissect_p1_OtherMessageDeliveryFields(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4672
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4673
0
                              OtherMessageDeliveryFields_set, hf_index, ett_p1_OtherMessageDeliveryFields);
4674
4675
0
  return offset;
4676
0
}
4677
4678
4679
static const ber_sequence_t MessageDeliveryArgument_sequence[] = {
4680
  { &hf_p1_message_delivery_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_p1_MessageDeliveryIdentifier },
4681
  { &hf_p1_message_delivery_time, BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_p1_MessageDeliveryTime },
4682
  { &hf_p1_other_fields     , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_OtherMessageDeliveryFields },
4683
  { &hf_p1_content          , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_p1_Content },
4684
  { NULL, 0, 0, 0, NULL }
4685
};
4686
4687
static unsigned
4688
0
dissect_p1_MessageDeliveryArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4689
0
  p1_initialize_content_globals(actx, tree, true);
4690
0
    offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4691
0
                                   MessageDeliveryArgument_sequence, hf_index, ett_p1_MessageDeliveryArgument);
4692
4693
0
  p1_initialize_content_globals(actx, NULL, false);
4694
4695
4696
0
  return offset;
4697
0
}
4698
4699
4700
4701
static unsigned
4702
0
dissect_p1_RecipientCertificate(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4703
0
  offset = dissect_x509af_Certificates(implicit_tag, tvb, offset, actx, tree, hf_index);
4704
4705
0
  return offset;
4706
0
}
4707
4708
4709
4710
static unsigned
4711
0
dissect_p1_ProofOfDelivery(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4712
0
  offset = dissect_p1_Signature(implicit_tag, tvb, offset, actx, tree, hf_index);
4713
4714
0
  return offset;
4715
0
}
4716
4717
4718
static const ber_sequence_t MessageDeliveryResult_set[] = {
4719
  { &hf_p1_recipient_certificate, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_RecipientCertificate },
4720
  { &hf_p1_proof_of_delivery, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ProofOfDelivery },
4721
  { &hf_p1_extensions       , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField },
4722
  { NULL, 0, 0, 0, NULL }
4723
};
4724
4725
static unsigned
4726
0
dissect_p1_MessageDeliveryResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4727
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4728
0
                              MessageDeliveryResult_set, hf_index, ett_p1_MessageDeliveryResult);
4729
4730
0
  return offset;
4731
0
}
4732
4733
4734
4735
static unsigned
4736
0
dissect_p1_SubjectSubmissionIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4737
0
  offset = dissect_p1_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
4738
4739
0
  return offset;
4740
0
}
4741
4742
4743
4744
static unsigned
4745
0
dissect_p1_ActualRecipientName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4746
0
  offset = dissect_p1_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
4747
4748
0
  return offset;
4749
0
}
4750
4751
4752
static const ber_sequence_t PerRecipientReportDeliveryFields_set[] = {
4753
  { &hf_p1_actual_recipient_name, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_ActualRecipientName },
4754
  { &hf_p1_delivery_report_type, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_ReportType },
4755
  { &hf_p1_converted_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ConvertedEncodedInformationTypes },
4756
  { &hf_p1_originally_intended_recipient_name, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_OriginallyIntendedRecipientName },
4757
  { &hf_p1_supplementary_information, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SupplementaryInformation },
4758
  { &hf_p1_extensions       , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField },
4759
  { NULL, 0, 0, 0, NULL }
4760
};
4761
4762
static unsigned
4763
0
dissect_p1_PerRecipientReportDeliveryFields(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4764
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4765
0
                              PerRecipientReportDeliveryFields_set, hf_index, ett_p1_PerRecipientReportDeliveryFields);
4766
4767
0
  return offset;
4768
0
}
4769
4770
4771
static const ber_sequence_t SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportDeliveryFields_sequence_of[1] = {
4772
  { &hf_p1_per_recipient_report_delivery_fields_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_PerRecipientReportDeliveryFields },
4773
};
4774
4775
static unsigned
4776
0
dissect_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportDeliveryFields(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4777
0
  offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
4778
0
                                                  1, ub_recipients, SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportDeliveryFields_sequence_of, hf_index, ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportDeliveryFields);
4779
4780
0
  return offset;
4781
0
}
4782
4783
4784
static const ber_sequence_t ReportDeliveryArgument_set[] = {
4785
  { &hf_p1_subject_submission_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_p1_SubjectSubmissionIdentifier },
4786
  { &hf_p1_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ContentIdentifier },
4787
  { &hf_p1_content_type     , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_ContentType },
4788
  { &hf_p1_original_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_OriginalEncodedInformationTypes },
4789
  { &hf_p1_extensions       , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField },
4790
  { &hf_p1_per_recipient_report_delivery_fields, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportDeliveryFields },
4791
  { &hf_p1_returned_content , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_Content },
4792
  { NULL, 0, 0, 0, NULL }
4793
};
4794
4795
static unsigned
4796
0
dissect_p1_ReportDeliveryArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4797
0
  p1_initialize_content_globals(actx, tree, true);
4798
0
    offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4799
0
                              ReportDeliveryArgument_set, hf_index, ett_p1_ReportDeliveryArgument);
4800
4801
0
  p1_initialize_content_globals(actx, NULL, false);
4802
4803
4804
0
  return offset;
4805
0
}
4806
4807
4808
static const ber_sequence_t SET_SIZE_1_MAX_OF_ExtensionField_set_of[1] = {
4809
  { &hf_p1_max_extensions_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_ExtensionField },
4810
};
4811
4812
static unsigned
4813
0
dissect_p1_SET_SIZE_1_MAX_OF_ExtensionField(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4814
0
  offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
4815
0
                                             1, NO_BOUND, SET_SIZE_1_MAX_OF_ExtensionField_set_of, hf_index, ett_p1_SET_SIZE_1_MAX_OF_ExtensionField);
4816
4817
0
  return offset;
4818
0
}
4819
4820
4821
static const value_string p1_ReportDeliveryResult_vals[] = {
4822
  {   0, "empty-result" },
4823
  {   1, "extensions" },
4824
  { 0, NULL }
4825
};
4826
4827
static const ber_choice_t ReportDeliveryResult_choice[] = {
4828
  {   0, &hf_p1_empty_result     , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_p1_NULL },
4829
  {   1, &hf_p1_max_extensions   , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_SET_SIZE_1_MAX_OF_ExtensionField },
4830
  { 0, NULL, 0, 0, 0, NULL }
4831
};
4832
4833
static unsigned
4834
0
dissect_p1_ReportDeliveryResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4835
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
4836
0
                                 ReportDeliveryResult_choice, hf_index, ett_p1_ReportDeliveryResult,
4837
0
                                 NULL);
4838
4839
0
  return offset;
4840
0
}
4841
4842
4843
static const ber_sequence_t DeliveryControlArgument_set[] = {
4844
  { &hf_p1_restrict         , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_BOOLEAN },
4845
  { &hf_p1_permissible_operations, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_Operations },
4846
  { &hf_p1_permissible_maximum_content_length, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ContentLength },
4847
  { &hf_p1_permissible_lowest_priority, BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_Priority },
4848
  { &hf_p1_permissible_content_types, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ContentTypes },
4849
  { &hf_p1_permissible_encoded_information_types, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_PermissibleEncodedInformationTypes },
4850
  { &hf_p1_permissible_security_context, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SecurityContext },
4851
  { &hf_p1_extensions       , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField },
4852
  { NULL, 0, 0, 0, NULL }
4853
};
4854
4855
static unsigned
4856
0
dissect_p1_DeliveryControlArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4857
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4858
0
                              DeliveryControlArgument_set, hf_index, ett_p1_DeliveryControlArgument);
4859
4860
0
  return offset;
4861
0
}
4862
4863
4864
static const ber_sequence_t DeliveryControlResult_set[] = {
4865
  { &hf_p1_waiting_operations, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_Operations },
4866
  { &hf_p1_waiting_messages , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_WaitingMessages },
4867
  { &hf_p1_waiting_content_types, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_SIZE_0_ub_content_types_OF_ContentType },
4868
  { &hf_p1_waiting_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_EncodedInformationTypes },
4869
  { &hf_p1_extensions       , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField },
4870
  { NULL, 0, 0, 0, NULL }
4871
};
4872
4873
static unsigned
4874
0
dissect_p1_DeliveryControlResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4875
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4876
0
                              DeliveryControlResult_set, hf_index, ett_p1_DeliveryControlResult);
4877
4878
0
  return offset;
4879
0
}
4880
4881
4882
4883
static unsigned
4884
0
dissect_p1_PAR_delivery_control_violated(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4885
0
  offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
4886
4887
0
  return offset;
4888
0
}
4889
4890
4891
4892
static unsigned
4893
0
dissect_p1_PAR_control_violates_registration(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4894
0
  offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
4895
4896
0
  return offset;
4897
0
}
4898
4899
4900
static const value_string p1_RefusedArgument_vals[] = {
4901
  {   0, "user-name" },
4902
  {   1, "user-address" },
4903
  {   2, "deliverable-content-types" },
4904
  {   3, "deliverable-maximum-content-length" },
4905
  {   4, "deliverable-encoded-information-types-constraints" },
4906
  {   5, "deliverable-security-labels" },
4907
  {   6, "recipient-assigned-redirections" },
4908
  {   7, "restricted-delivery" },
4909
  {   8, "retrieve-registrations" },
4910
  {  10, "restrict" },
4911
  {  11, "permissible-operations" },
4912
  {  12, "permissible-lowest-priority" },
4913
  {  13, "permissible-encoded-information-types" },
4914
  {  14, "permissible-content-types" },
4915
  {  15, "permissible-maximum-content-length" },
4916
  {  16, "permissible-security-context" },
4917
  { 0, NULL }
4918
};
4919
4920
4921
static unsigned
4922
0
dissect_p1_RefusedArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4923
0
  offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
4924
0
                                                            0U, ub_integer_options, hf_index, NULL);
4925
4926
0
  return offset;
4927
0
}
4928
4929
4930
4931
static unsigned
4932
0
dissect_p1_T_refused_extension(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4933
/*XXX not implemented yet */
4934
4935
4936
0
  return offset;
4937
0
}
4938
4939
4940
static const value_string p1_T_refused_argument_vals[] = {
4941
  {   0, "built-in-argument" },
4942
  {   1, "refused-extension" },
4943
  { 0, NULL }
4944
};
4945
4946
static const ber_choice_t T_refused_argument_choice[] = {
4947
  {   0, &hf_p1_built_in_argument, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_RefusedArgument },
4948
  {   1, &hf_p1_refused_extension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_p1_T_refused_extension },
4949
  { 0, NULL, 0, 0, 0, NULL }
4950
};
4951
4952
static unsigned
4953
0
dissect_p1_T_refused_argument(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4954
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
4955
0
                                 T_refused_argument_choice, hf_index, ett_p1_T_refused_argument,
4956
0
                                 NULL);
4957
4958
0
  return offset;
4959
0
}
4960
4961
4962
static const value_string p1_RefusalReason_vals[] = {
4963
  {   0, "facility-unavailable" },
4964
  {   1, "facility-not-subscribed" },
4965
  {   2, "parameter-unacceptable" },
4966
  { 0, NULL }
4967
};
4968
4969
4970
static unsigned
4971
0
dissect_p1_RefusalReason(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4972
0
  offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
4973
0
                                                            0U, ub_integer_options, hf_index, NULL);
4974
4975
0
  return offset;
4976
0
}
4977
4978
4979
static const ber_sequence_t RefusedOperation_set[] = {
4980
  { &hf_p1_refused_argument , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_T_refused_argument },
4981
  { &hf_p1_refusal_reason   , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_p1_RefusalReason },
4982
  { NULL, 0, 0, 0, NULL }
4983
};
4984
4985
static unsigned
4986
0
dissect_p1_RefusedOperation(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4987
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4988
0
                              RefusedOperation_set, hf_index, ett_p1_RefusedOperation);
4989
4990
0
  return offset;
4991
0
}
4992
4993
4994
4995
static unsigned
4996
0
dissect_p1_UserName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4997
0
  offset = dissect_p1_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
4998
4999
0
  return offset;
5000
0
}
5001
5002
5003
5004
static unsigned
5005
0
dissect_p1_T_x121_address(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5006
0
  tvbuff_t  *nstring = NULL;
5007
5008
0
    offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
5009
0
                                                        actx, tree, tvb, offset,
5010
0
                                                        1, ub_x121_address_length, hf_index, &nstring);
5011
5012
5013
0
  do_address(NULL, nstring, actx);
5014
5015
5016
0
  return offset;
5017
0
}
5018
5019
5020
5021
static unsigned
5022
0
dissect_p1_PrintableString_SIZE_1_ub_tsap_id_length(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5023
0
  offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
5024
0
                                                        actx, tree, tvb, offset,
5025
0
                                                        1, ub_tsap_id_length, hf_index, NULL);
5026
5027
0
  return offset;
5028
0
}
5029
5030
5031
static const ber_sequence_t T_x121_sequence[] = {
5032
  { &hf_p1_x121_address     , BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_T_x121_address },
5033
  { &hf_p1_tsap_id          , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_PrintableString_SIZE_1_ub_tsap_id_length },
5034
  { NULL, 0, 0, 0, NULL }
5035
};
5036
5037
static unsigned
5038
0
dissect_p1_T_x121(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5039
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5040
0
                                   T_x121_sequence, hf_index, ett_p1_T_x121);
5041
5042
0
  return offset;
5043
0
}
5044
5045
5046
5047
static unsigned
5048
0
dissect_p1_PSAPAddress(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5049
0
  offset = dissect_x509sat_PresentationAddress(implicit_tag, tvb, offset, actx, tree, hf_index);
5050
5051
0
  return offset;
5052
0
}
5053
5054
5055
static const value_string p1_UserAddress_vals[] = {
5056
  {   0, "x121" },
5057
  {   1, "presentation" },
5058
  { 0, NULL }
5059
};
5060
5061
static const ber_choice_t UserAddress_choice[] = {
5062
  {   0, &hf_p1_x121             , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_T_x121 },
5063
  {   1, &hf_p1_presentation     , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_PSAPAddress },
5064
  { 0, NULL, 0, 0, 0, NULL }
5065
};
5066
5067
static unsigned
5068
0
dissect_p1_UserAddress(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5069
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
5070
0
                                 UserAddress_choice, hf_index, ett_p1_UserAddress,
5071
0
                                 NULL);
5072
5073
0
  return offset;
5074
0
}
5075
5076
5077
static const ber_sequence_t SET_OF_Priority_set_of[1] = {
5078
  { &hf_p1_class_priority_item, BER_CLASS_APP, 7, BER_FLAGS_NOOWNTAG, dissect_p1_Priority },
5079
};
5080
5081
static unsigned
5082
0
dissect_p1_SET_OF_Priority(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5083
0
  offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
5084
0
                                 SET_OF_Priority_set_of, hf_index, ett_p1_SET_OF_Priority);
5085
5086
0
  return offset;
5087
0
}
5088
5089
5090
static const value_string p1_T_objects_vals[] = {
5091
  {   0, "messages" },
5092
  {   1, "reports" },
5093
  {   2, "both" },
5094
  { 0, NULL }
5095
};
5096
5097
5098
static unsigned
5099
0
dissect_p1_T_objects(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5100
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5101
0
                                  NULL);
5102
5103
0
  return offset;
5104
0
}
5105
5106
5107
static int * const T_source_type_bits[] = {
5108
  &hf_p1_T_source_type_originated_by,
5109
  &hf_p1_T_source_type_redirected_by,
5110
  &hf_p1_T_source_type_dl_expanded_by,
5111
  NULL
5112
};
5113
5114
static unsigned
5115
0
dissect_p1_T_source_type(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5116
0
  offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
5117
0
                                    T_source_type_bits, 3, hf_index, ett_p1_T_source_type,
5118
0
                                    NULL);
5119
5120
0
  return offset;
5121
0
}
5122
5123
5124
static const value_string p1_ExactOrPattern_vals[] = {
5125
  {   0, "exact-match" },
5126
  {   1, "pattern-match" },
5127
  { 0, NULL }
5128
};
5129
5130
static const ber_choice_t ExactOrPattern_choice[] = {
5131
  {   0, &hf_p1_exact_match      , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_ORName },
5132
  {   1, &hf_p1_pattern_match    , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_ORName },
5133
  { 0, NULL, 0, 0, 0, NULL }
5134
};
5135
5136
static unsigned
5137
0
dissect_p1_ExactOrPattern(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5138
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
5139
0
                                 ExactOrPattern_choice, hf_index, ett_p1_ExactOrPattern,
5140
0
                                 NULL);
5141
5142
0
  return offset;
5143
0
}
5144
5145
5146
static const ber_sequence_t Restriction_set[] = {
5147
  { &hf_p1_permitted        , BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_BOOLEAN },
5148
  { &hf_p1_source_type      , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_T_source_type },
5149
  { &hf_p1_source_name      , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_ExactOrPattern },
5150
  { NULL, 0, 0, 0, NULL }
5151
};
5152
5153
static unsigned
5154
0
dissect_p1_Restriction(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5155
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5156
0
                              Restriction_set, hf_index, ett_p1_Restriction);
5157
5158
0
  return offset;
5159
0
}
5160
5161
5162
static const ber_sequence_t SEQUENCE_OF_Restriction_sequence_of[1] = {
5163
  { &hf_p1_applies_only_to_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_Restriction },
5164
};
5165
5166
static unsigned
5167
0
dissect_p1_SEQUENCE_OF_Restriction(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5168
0
  offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
5169
0
                                      SEQUENCE_OF_Restriction_sequence_of, hf_index, ett_p1_SEQUENCE_OF_Restriction);
5170
5171
0
  return offset;
5172
0
}
5173
5174
5175
static const ber_sequence_t MessageClass_set[] = {
5176
  { &hf_p1_content_types    , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ContentTypes },
5177
  { &hf_p1_maximum_content_length, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ContentLength },
5178
  { &hf_p1_encoded_information_types_constraints, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_EncodedInformationTypesConstraints },
5179
  { &hf_p1_security_labels  , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SecurityContext },
5180
  { &hf_p1_class_priority   , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_Priority },
5181
  { &hf_p1_objects          , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_T_objects },
5182
  { &hf_p1_applies_only_to  , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SEQUENCE_OF_Restriction },
5183
  { &hf_p1_extensions       , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField },
5184
  { NULL, 0, 0, 0, NULL }
5185
};
5186
5187
static unsigned
5188
0
dissect_p1_MessageClass(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5189
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5190
0
                              MessageClass_set, hf_index, ett_p1_MessageClass);
5191
5192
0
  return offset;
5193
0
}
5194
5195
5196
5197
static unsigned
5198
0
dissect_p1_DeliverableClass(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5199
0
  offset = dissect_p1_MessageClass(implicit_tag, tvb, offset, actx, tree, hf_index);
5200
5201
0
  return offset;
5202
0
}
5203
5204
5205
static const ber_sequence_t SET_SIZE_1_ub_deliverable_class_OF_DeliverableClass_set_of[1] = {
5206
  { &hf_p1_deliverable_class_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_DeliverableClass },
5207
};
5208
5209
static unsigned
5210
0
dissect_p1_SET_SIZE_1_ub_deliverable_class_OF_DeliverableClass(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5211
0
  offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
5212
0
                                             1, ub_deliverable_class, SET_SIZE_1_ub_deliverable_class_OF_DeliverableClass_set_of, hf_index, ett_p1_SET_SIZE_1_ub_deliverable_class_OF_DeliverableClass);
5213
5214
0
  return offset;
5215
0
}
5216
5217
5218
5219
static unsigned
5220
0
dissect_p1_DefaultDeliveryControls(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5221
0
  offset = dissect_p1_Controls(implicit_tag, tvb, offset, actx, tree, hf_index);
5222
5223
0
  return offset;
5224
0
}
5225
5226
5227
5228
static unsigned
5229
0
dissect_p1_RedirectionClass(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5230
0
  offset = dissect_p1_MessageClass(implicit_tag, tvb, offset, actx, tree, hf_index);
5231
5232
0
  return offset;
5233
0
}
5234
5235
5236
static const ber_sequence_t SET_SIZE_1_ub_redirection_classes_OF_RedirectionClass_set_of[1] = {
5237
  { &hf_p1_redirection_classes_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_RedirectionClass },
5238
};
5239
5240
static unsigned
5241
0
dissect_p1_SET_SIZE_1_ub_redirection_classes_OF_RedirectionClass(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5242
0
  offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
5243
0
                                             1, ub_redirection_classes, SET_SIZE_1_ub_redirection_classes_OF_RedirectionClass_set_of, hf_index, ett_p1_SET_SIZE_1_ub_redirection_classes_OF_RedirectionClass);
5244
5245
0
  return offset;
5246
0
}
5247
5248
5249
5250
static unsigned
5251
0
dissect_p1_RecipientAssignedAlternateRecipient(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5252
0
  offset = dissect_p1_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
5253
5254
0
  return offset;
5255
0
}
5256
5257
5258
static const ber_sequence_t RecipientRedirection_set[] = {
5259
  { &hf_p1_redirection_classes, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_SIZE_1_ub_redirection_classes_OF_RedirectionClass },
5260
  { &hf_p1_recipient_assigned_alternate_recipient, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_RecipientAssignedAlternateRecipient },
5261
  { NULL, 0, 0, 0, NULL }
5262
};
5263
5264
static unsigned
5265
0
dissect_p1_RecipientRedirection(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5266
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5267
0
                              RecipientRedirection_set, hf_index, ett_p1_RecipientRedirection);
5268
5269
0
  return offset;
5270
0
}
5271
5272
5273
static const ber_sequence_t Redirections_sequence_of[1] = {
5274
  { &hf_p1_Redirections_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_RecipientRedirection },
5275
};
5276
5277
static unsigned
5278
0
dissect_p1_Redirections(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5279
0
  offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
5280
0
                                                  1, ub_redirections, Redirections_sequence_of, hf_index, ett_p1_Redirections);
5281
5282
0
  return offset;
5283
0
}
5284
5285
5286
static const ber_sequence_t RestrictedDelivery_sequence_of[1] = {
5287
  { &hf_p1_RestrictedDelivery_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_Restriction },
5288
};
5289
5290
static unsigned
5291
0
dissect_p1_RestrictedDelivery(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5292
0
  offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
5293
0
                                                  1, ub_restrictions, RestrictedDelivery_sequence_of, hf_index, ett_p1_RestrictedDelivery);
5294
5295
0
  return offset;
5296
0
}
5297
5298
5299
static int * const T_standard_parameters_bits[] = {
5300
  &hf_p1_T_standard_parameters_user_name,
5301
  &hf_p1_T_standard_parameters_user_address,
5302
  &hf_p1_T_standard_parameters_deliverable_class,
5303
  &hf_p1_T_standard_parameters_default_delivery_controls,
5304
  &hf_p1_T_standard_parameters_redirections,
5305
  &hf_p1_T_standard_parameters_restricted_delivery,
5306
  NULL
5307
};
5308
5309
static unsigned
5310
0
dissect_p1_T_standard_parameters(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5311
0
  offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
5312
0
                                    T_standard_parameters_bits, 6, hf_index, ett_p1_T_standard_parameters,
5313
0
                                    NULL);
5314
5315
0
  return offset;
5316
0
}
5317
5318
5319
5320
static unsigned
5321
0
dissect_p1_T_type_extensions_item(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5322
/*XXX not implemented yet */
5323
5324
5325
0
  return offset;
5326
0
}
5327
5328
5329
static const ber_sequence_t T_type_extensions_set_of[1] = {
5330
  { &hf_p1_type_extensions_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_T_type_extensions_item },
5331
};
5332
5333
static unsigned
5334
0
dissect_p1_T_type_extensions(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5335
0
  offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
5336
0
                                 T_type_extensions_set_of, hf_index, ett_p1_T_type_extensions);
5337
5338
0
  return offset;
5339
0
}
5340
5341
5342
static const ber_sequence_t RegistrationTypes_sequence[] = {
5343
  { &hf_p1_standard_parameters, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_T_standard_parameters },
5344
  { &hf_p1_type_extensions  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_T_type_extensions },
5345
  { NULL, 0, 0, 0, NULL }
5346
};
5347
5348
static unsigned
5349
0
dissect_p1_RegistrationTypes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5350
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5351
0
                                   RegistrationTypes_sequence, hf_index, ett_p1_RegistrationTypes);
5352
5353
0
  return offset;
5354
0
}
5355
5356
5357
static const ber_sequence_t RegisterArgument_set[] = {
5358
  { &hf_p1_user_name        , BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_UserName },
5359
  { &hf_p1_user_address     , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_UserAddress },
5360
  { &hf_p1_deliverable_class, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_SET_SIZE_1_ub_deliverable_class_OF_DeliverableClass },
5361
  { &hf_p1_default_delivery_controls, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p1_DefaultDeliveryControls },
5362
  { &hf_p1_redirections     , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_Redirections },
5363
  { &hf_p1_restricted_delivery, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_RestrictedDelivery },
5364
  { &hf_p1_retrieve_registrations, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_RegistrationTypes },
5365
  { &hf_p1_extensions       , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField },
5366
  { NULL, 0, 0, 0, NULL }
5367
};
5368
5369
static unsigned
5370
0
dissect_p1_RegisterArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5371
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5372
0
                              RegisterArgument_set, hf_index, ett_p1_RegisterArgument);
5373
5374
0
  return offset;
5375
0
}
5376
5377
5378
static const ber_sequence_t T_non_empty_result_set[] = {
5379
  { &hf_p1_registered_information, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_RegisterArgument },
5380
  { &hf_p1_extensions       , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField },
5381
  { NULL, 0, 0, 0, NULL }
5382
};
5383
5384
static unsigned
5385
0
dissect_p1_T_non_empty_result(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5386
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5387
0
                              T_non_empty_result_set, hf_index, ett_p1_T_non_empty_result);
5388
5389
0
  return offset;
5390
0
}
5391
5392
5393
static const value_string p1_RegisterResult_vals[] = {
5394
  {   0, "empty-result" },
5395
  {   1, "non-empty-result" },
5396
  { 0, NULL }
5397
};
5398
5399
static const ber_choice_t RegisterResult_choice[] = {
5400
  {   0, &hf_p1_empty_result     , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_p1_NULL },
5401
  {   1, &hf_p1_non_empty_result , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_T_non_empty_result },
5402
  { 0, NULL, 0, 0, 0, NULL }
5403
};
5404
5405
static unsigned
5406
0
dissect_p1_RegisterResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5407
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
5408
0
                                 RegisterResult_choice, hf_index, ett_p1_RegisterResult,
5409
0
                                 NULL);
5410
5411
0
  return offset;
5412
0
}
5413
5414
5415
5416
static unsigned
5417
0
dissect_p1_RES_change_credentials(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5418
0
  offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5419
5420
0
  return offset;
5421
0
}
5422
5423
5424
static const ber_sequence_t ChangeCredentialsArgument_set[] = {
5425
  { &hf_p1_old_credentials  , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_Credentials },
5426
  { &hf_p1_new_credentials  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_Credentials },
5427
  { NULL, 0, 0, 0, NULL }
5428
};
5429
5430
static unsigned
5431
0
dissect_p1_ChangeCredentialsArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5432
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5433
0
                              ChangeCredentialsArgument_set, hf_index, ett_p1_ChangeCredentialsArgument);
5434
5435
0
  return offset;
5436
0
}
5437
5438
5439
5440
static unsigned
5441
0
dissect_p1_PAR_register_rejected(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5442
0
  offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5443
5444
0
  return offset;
5445
0
}
5446
5447
5448
5449
static unsigned
5450
0
dissect_p1_PAR_new_credentials_unacceptable(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5451
0
  offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5452
5453
0
  return offset;
5454
0
}
5455
5456
5457
5458
static unsigned
5459
0
dissect_p1_PAR_old_credentials_incorrectly_specified(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5460
0
  offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5461
5462
0
  return offset;
5463
0
}
5464
5465
5466
5467
5468
static const ber_sequence_t MessageDeliveryEnvelope_sequence[] = {
5469
  { &hf_p1_message_delivery_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_p1_MessageDeliveryIdentifier },
5470
  { &hf_p1_message_delivery_time, BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_p1_MessageDeliveryTime },
5471
  { &hf_p1_other_fields     , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_OtherMessageDeliveryFields },
5472
  { NULL, 0, 0, 0, NULL }
5473
};
5474
5475
static unsigned
5476
0
dissect_p1_MessageDeliveryEnvelope(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5477
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5478
0
                                   MessageDeliveryEnvelope_sequence, hf_index, ett_p1_MessageDeliveryEnvelope);
5479
5480
0
  return offset;
5481
0
}
5482
5483
5484
static const ber_sequence_t ReportDeliveryEnvelope_set[] = {
5485
  { &hf_p1_subject_submission_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_p1_SubjectSubmissionIdentifier },
5486
  { &hf_p1_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ContentIdentifier },
5487
  { &hf_p1_content_type     , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_ContentType },
5488
  { &hf_p1_original_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_OriginalEncodedInformationTypes },
5489
  { &hf_p1_extensions       , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField },
5490
  { &hf_p1_per_recipient_report_delivery_fields, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportDeliveryFields },
5491
  { NULL, 0, 0, 0, NULL }
5492
};
5493
5494
static unsigned
5495
0
dissect_p1_ReportDeliveryEnvelope(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5496
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5497
0
                              ReportDeliveryEnvelope_set, hf_index, ett_p1_ReportDeliveryEnvelope);
5498
5499
0
  return offset;
5500
0
}
5501
5502
5503
5504
static const value_string p1_RecipientReassignmentProhibited_vals[] = {
5505
  {   0, "recipient-reassignment-allowed" },
5506
  {   1, "recipient-reassignment-prohibited" },
5507
  { 0, NULL }
5508
};
5509
5510
5511
static unsigned
5512
0
dissect_p1_RecipientReassignmentProhibited(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5513
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5514
0
                                  NULL);
5515
5516
0
  return offset;
5517
0
}
5518
5519
5520
5521
static unsigned
5522
0
dissect_p1_OriginatorRequestedAlternateRecipient(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5523
0
  offset = dissect_p1_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
5524
5525
0
  return offset;
5526
0
}
5527
5528
5529
static const value_string p1_DLExpansionProhibited_vals[] = {
5530
  {   0, "dl-expansion-allowed" },
5531
  {   1, "dl-expansion-prohibited" },
5532
  { 0, NULL }
5533
};
5534
5535
5536
static unsigned
5537
0
dissect_p1_DLExpansionProhibited(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5538
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5539
0
                                  NULL);
5540
5541
0
  return offset;
5542
0
}
5543
5544
5545
static const value_string p1_ConversionWithLossProhibited_vals[] = {
5546
  {   0, "conversion-with-loss-allowed" },
5547
  {   1, "conversion-with-loss-prohibited" },
5548
  { 0, NULL }
5549
};
5550
5551
5552
static unsigned
5553
0
dissect_p1_ConversionWithLossProhibited(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5554
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5555
0
                                  NULL);
5556
5557
0
  return offset;
5558
0
}
5559
5560
5561
5562
static unsigned
5563
0
dissect_p1_LatestDeliveryTime(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5564
0
  offset = dissect_p1_Time(implicit_tag, tvb, offset, actx, tree, hf_index);
5565
5566
0
  return offset;
5567
0
}
5568
5569
5570
static const value_string p1_RequestedDeliveryMethod_item_vals[] = {
5571
  {   0, "any-delivery-method" },
5572
  {   1, "mhs-delivery" },
5573
  {   2, "physical-delivery" },
5574
  {   3, "telex-delivery" },
5575
  {   4, "teletex-delivery" },
5576
  {   5, "g3-facsimile-delivery" },
5577
  {   6, "g4-facsimile-delivery" },
5578
  {   7, "ia5-terminal-delivery" },
5579
  {   8, "videotex-delivery" },
5580
  {   9, "telephone-delivery" },
5581
  { 0, NULL }
5582
};
5583
5584
5585
static unsigned
5586
0
dissect_p1_RequestedDeliveryMethod_item(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5587
0
  offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
5588
0
                                                            0U, ub_integer_options, hf_index, NULL);
5589
5590
0
  return offset;
5591
0
}
5592
5593
5594
static const ber_sequence_t RequestedDeliveryMethod_sequence_of[1] = {
5595
  { &hf_p1_RequestedDeliveryMethod_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p1_RequestedDeliveryMethod_item },
5596
};
5597
5598
unsigned
5599
0
dissect_p1_RequestedDeliveryMethod(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5600
0
  offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
5601
0
                                      RequestedDeliveryMethod_sequence_of, hf_index, ett_p1_RequestedDeliveryMethod);
5602
5603
0
  return offset;
5604
0
}
5605
5606
5607
static const value_string p1_PhysicalForwardingProhibited_vals[] = {
5608
  {   0, "physical-forwarding-allowed" },
5609
  {   1, "physical-forwarding-prohibited" },
5610
  { 0, NULL }
5611
};
5612
5613
5614
static unsigned
5615
0
dissect_p1_PhysicalForwardingProhibited(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5616
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5617
0
                                  NULL);
5618
5619
0
  return offset;
5620
0
}
5621
5622
5623
static const value_string p1_PhysicalForwardingAddressRequest_vals[] = {
5624
  {   0, "physical-forwarding-address-not-requested" },
5625
  {   1, "physical-forwarding-address-requested" },
5626
  { 0, NULL }
5627
};
5628
5629
5630
static unsigned
5631
0
dissect_p1_PhysicalForwardingAddressRequest(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5632
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5633
0
                                  NULL);
5634
5635
0
  return offset;
5636
0
}
5637
5638
5639
static int * const PhysicalDeliveryModes_bits[] = {
5640
  &hf_p1_PhysicalDeliveryModes_ordinary_mail,
5641
  &hf_p1_PhysicalDeliveryModes_special_delivery,
5642
  &hf_p1_PhysicalDeliveryModes_express_mail,
5643
  &hf_p1_PhysicalDeliveryModes_counter_collection,
5644
  &hf_p1_PhysicalDeliveryModes_counter_collection_with_telephone_advice,
5645
  &hf_p1_PhysicalDeliveryModes_counter_collection_with_telex_advice,
5646
  &hf_p1_PhysicalDeliveryModes_counter_collection_with_teletex_advice,
5647
  &hf_p1_PhysicalDeliveryModes_bureau_fax_delivery,
5648
  NULL
5649
};
5650
5651
static unsigned
5652
0
dissect_p1_PhysicalDeliveryModes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5653
0
  offset = dissect_ber_constrained_bitstring(implicit_tag, actx, tree, tvb, offset,
5654
0
                                                0, ub_bit_options, PhysicalDeliveryModes_bits, 8, hf_index, ett_p1_PhysicalDeliveryModes,
5655
0
                                                NULL);
5656
5657
0
  return offset;
5658
0
}
5659
5660
5661
static const value_string p1_RegisteredMailType_vals[] = {
5662
  {   0, "non-registered-mail" },
5663
  {   1, "registered-mail" },
5664
  {   2, "registered-mail-to-addressee-in-person" },
5665
  { 0, NULL }
5666
};
5667
5668
5669
static unsigned
5670
0
dissect_p1_RegisteredMailType(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5671
0
  offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
5672
0
                                                            0U, ub_integer_options, hf_index, NULL);
5673
5674
0
  return offset;
5675
0
}
5676
5677
5678
5679
static unsigned
5680
0
dissect_p1_RecipientNumberForAdvice(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5681
0
  offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
5682
0
                                                        actx, tree, tvb, offset,
5683
0
                                                        1, ub_recipient_number_for_advice_length, hf_index, NULL);
5684
5685
0
  return offset;
5686
0
}
5687
5688
5689
5690
static unsigned
5691
0
dissect_p1_PhysicalRenditionAttributes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5692
0
  offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
5693
5694
0
  return offset;
5695
0
}
5696
5697
5698
static const ber_sequence_t ORAddress_sequence[] = {
5699
  { &hf_p1_built_in_standard_attributes, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_BuiltInStandardAttributes },
5700
  { &hf_p1_built_in_domain_defined_attributes, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_BuiltInDomainDefinedAttributes },
5701
  { &hf_p1_extension_attributes, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ExtensionAttributes },
5702
  { NULL, 0, 0, 0, NULL }
5703
};
5704
5705
unsigned
5706
0
dissect_p1_ORAddress(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5707
0
  p1_address_ctx_t* ctx;
5708
5709
0
  if (actx->subtree.tree_ctx == NULL) {
5710
0
    actx->subtree.tree_ctx = wmem_new0(actx->pinfo->pool, p1_address_ctx_t);
5711
0
  }
5712
5713
0
  ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
5714
0
  ctx->oraddress = wmem_strbuf_new(actx->pinfo->pool, "");
5715
5716
0
  actx->subtree.tree = NULL;
5717
0
  set_do_address(actx, true);
5718
5719
0
    offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5720
0
                                   ORAddress_sequence, hf_index, ett_p1_ORAddress);
5721
5722
5723
5724
0
  if (ctx->oraddress && (wmem_strbuf_get_len(ctx->oraddress) > 0) && actx->subtree.tree)
5725
0
    proto_item_append_text(actx->subtree.tree, " (%s/)", wmem_strbuf_get_str(ctx->oraddress));
5726
5727
0
  set_do_address(actx, false);
5728
5729
5730
0
  return offset;
5731
0
}
5732
5733
5734
5735
static unsigned
5736
0
dissect_p1_OriginatorReturnAddress(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5737
0
  offset = dissect_p1_ORAddress(implicit_tag, tvb, offset, actx, tree, hf_index);
5738
5739
0
  return offset;
5740
0
}
5741
5742
5743
static const value_string p1_PhysicalDeliveryReportRequest_vals[] = {
5744
  {   0, "return-of-undeliverable-mail-by-PDS" },
5745
  {   1, "return-of-notification-by-PDS" },
5746
  {   2, "return-of-notification-by-MHS" },
5747
  {   3, "return-of-notification-by-MHS-and-PDS" },
5748
  { 0, NULL }
5749
};
5750
5751
5752
static unsigned
5753
0
dissect_p1_PhysicalDeliveryReportRequest(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5754
0
  offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
5755
0
                                                            0U, ub_integer_options, hf_index, NULL);
5756
5757
0
  return offset;
5758
0
}
5759
5760
5761
5762
static unsigned
5763
0
dissect_p1_OriginatorCertificate(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5764
0
  offset = dissect_x509af_Certificates(implicit_tag, tvb, offset, actx, tree, hf_index);
5765
5766
0
  return offset;
5767
0
}
5768
5769
5770
5771
unsigned
5772
0
dissect_p1_MessageToken(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5773
0
  offset = dissect_p1_Token(implicit_tag, tvb, offset, actx, tree, hf_index);
5774
5775
0
  return offset;
5776
0
}
5777
5778
5779
5780
static unsigned
5781
0
dissect_p1_ContentConfidentialityAlgorithmIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5782
0
  offset = dissect_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
5783
5784
0
  return offset;
5785
0
}
5786
5787
5788
5789
unsigned
5790
0
dissect_p1_ContentIntegrityCheck(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5791
0
  offset = dissect_p1_Signature(implicit_tag, tvb, offset, actx, tree, hf_index);
5792
5793
0
  return offset;
5794
0
}
5795
5796
5797
5798
unsigned
5799
0
dissect_p1_MessageOriginAuthenticationCheck(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5800
0
  offset = dissect_p1_Signature(implicit_tag, tvb, offset, actx, tree, hf_index);
5801
5802
0
  return offset;
5803
0
}
5804
5805
5806
5807
unsigned
5808
0
dissect_p1_MessageSecurityLabel(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5809
0
  offset = dissect_p1_SecurityLabel(implicit_tag, tvb, offset, actx, tree, hf_index);
5810
5811
0
  return offset;
5812
0
}
5813
5814
5815
static const value_string p1_ProofOfSubmissionRequest_vals[] = {
5816
  {   0, "proof-of-submission-not-requested" },
5817
  {   1, "proof-of-submission-requested" },
5818
  { 0, NULL }
5819
};
5820
5821
5822
static unsigned
5823
0
dissect_p1_ProofOfSubmissionRequest(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5824
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5825
0
                                  NULL);
5826
5827
0
  return offset;
5828
0
}
5829
5830
5831
static const value_string p1_ProofOfDeliveryRequest_vals[] = {
5832
  {   0, "proof-of-delivery-not-requested" },
5833
  {   1, "proof-of-delivery-requested" },
5834
  { 0, NULL }
5835
};
5836
5837
5838
static unsigned
5839
0
dissect_p1_ProofOfDeliveryRequest(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5840
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5841
0
                                  NULL);
5842
5843
0
  return offset;
5844
0
}
5845
5846
5847
5848
static unsigned
5849
0
dissect_p1_IA5String(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5850
0
  offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
5851
0
                                            actx, tree, tvb, offset, hf_index,
5852
0
                                            NULL);
5853
5854
0
  return offset;
5855
0
}
5856
5857
5858
static const value_string p1_ContentCorrelator_vals[] = {
5859
  {   0, "ia5text" },
5860
  {   1, "octets" },
5861
  { 0, NULL }
5862
};
5863
5864
static const ber_choice_t ContentCorrelator_choice[] = {
5865
  {   0, &hf_p1_ia5text          , BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_p1_IA5String },
5866
  {   1, &hf_p1_octets           , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_p1_OCTET_STRING },
5867
  { 0, NULL, 0, 0, 0, NULL }
5868
};
5869
5870
static unsigned
5871
0
dissect_p1_ContentCorrelator(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5872
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
5873
0
                                 ContentCorrelator_choice, hf_index, ett_p1_ContentCorrelator,
5874
0
                                 NULL);
5875
5876
0
  return offset;
5877
0
}
5878
5879
5880
5881
static unsigned
5882
0
dissect_p1_ProbeOriginAuthenticationCheck(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5883
0
  offset = dissect_p1_Signature(implicit_tag, tvb, offset, actx, tree, hf_index);
5884
5885
0
  return offset;
5886
0
}
5887
5888
5889
static const ber_sequence_t IntendedRecipientName_sequence[] = {
5890
  { &hf_p1_intended_recipient, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_ORAddressAndOptionalDirectoryName },
5891
  { &hf_p1_redirection_time , BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_p1_Time },
5892
  { NULL, 0, 0, 0, NULL }
5893
};
5894
5895
static unsigned
5896
0
dissect_p1_IntendedRecipientName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5897
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5898
0
                                   IntendedRecipientName_sequence, hf_index, ett_p1_IntendedRecipientName);
5899
5900
0
  return offset;
5901
0
}
5902
5903
5904
static const value_string p1_RedirectionReason_vals[] = {
5905
  {   0, "recipient-assigned-alternate-recipient" },
5906
  {   1, "originator-requested-alternate-recipient" },
5907
  {   2, "recipient-MD-assigned-alternate-recipient" },
5908
  {   3, "directory-look-up" },
5909
  {   4, "alias" },
5910
  { 0, NULL }
5911
};
5912
5913
5914
static unsigned
5915
0
dissect_p1_RedirectionReason(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5916
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5917
0
                                  NULL);
5918
5919
0
  return offset;
5920
0
}
5921
5922
5923
static const ber_sequence_t Redirection_sequence[] = {
5924
  { &hf_p1_intended_recipient_name, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_IntendedRecipientName },
5925
  { &hf_p1_redirection_reason, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_p1_RedirectionReason },
5926
  { NULL, 0, 0, 0, NULL }
5927
};
5928
5929
static unsigned
5930
0
dissect_p1_Redirection(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5931
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5932
0
                                   Redirection_sequence, hf_index, ett_p1_Redirection);
5933
5934
0
  return offset;
5935
0
}
5936
5937
5938
static const ber_sequence_t RedirectionHistory_sequence_of[1] = {
5939
  { &hf_p1_RedirectionHistory_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_Redirection },
5940
};
5941
5942
static unsigned
5943
0
dissect_p1_RedirectionHistory(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5944
0
  offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
5945
0
                                                  1, ub_redirections, RedirectionHistory_sequence_of, hf_index, ett_p1_RedirectionHistory);
5946
5947
0
  return offset;
5948
0
}
5949
5950
5951
static const ber_sequence_t DLExpansion_sequence[] = {
5952
  { &hf_p1_dl               , BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_ORAddressAndOptionalDirectoryName },
5953
  { &hf_p1_dl_expansion_time, BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_p1_Time },
5954
  { NULL, 0, 0, 0, NULL }
5955
};
5956
5957
static unsigned
5958
0
dissect_p1_DLExpansion(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5959
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5960
0
                                   DLExpansion_sequence, hf_index, ett_p1_DLExpansion);
5961
5962
0
  return offset;
5963
0
}
5964
5965
5966
static const ber_sequence_t DLExpansionHistory_sequence_of[1] = {
5967
  { &hf_p1_DLExpansionHistory_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_DLExpansion },
5968
};
5969
5970
static unsigned
5971
0
dissect_p1_DLExpansionHistory(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5972
0
  offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
5973
0
                                                  1, ub_dl_expansions, DLExpansionHistory_sequence_of, hf_index, ett_p1_DLExpansionHistory);
5974
5975
0
  return offset;
5976
0
}
5977
5978
5979
5980
static unsigned
5981
0
dissect_p1_PhysicalForwardingAddress(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5982
0
  offset = dissect_p1_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
5983
5984
0
  return offset;
5985
0
}
5986
5987
5988
static const ber_sequence_t OriginatorAndDLExpansion_sequence[] = {
5989
  { &hf_p1_originator_or_dl_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_ORAddressAndOptionalDirectoryName },
5990
  { &hf_p1_origination_or_expansion_time, BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_p1_Time },
5991
  { NULL, 0, 0, 0, NULL }
5992
};
5993
5994
static unsigned
5995
0
dissect_p1_OriginatorAndDLExpansion(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5996
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5997
0
                                   OriginatorAndDLExpansion_sequence, hf_index, ett_p1_OriginatorAndDLExpansion);
5998
5999
0
  return offset;
6000
0
}
6001
6002
6003
static const ber_sequence_t OriginatorAndDLExpansionHistory_sequence_of[1] = {
6004
  { &hf_p1_OriginatorAndDLExpansionHistory_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_OriginatorAndDLExpansion },
6005
};
6006
6007
static unsigned
6008
0
dissect_p1_OriginatorAndDLExpansionHistory(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6009
0
  offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
6010
0
                                                  2, ub_orig_and_dl_expansions, OriginatorAndDLExpansionHistory_sequence_of, hf_index, ett_p1_OriginatorAndDLExpansionHistory);
6011
6012
0
  return offset;
6013
0
}
6014
6015
6016
6017
static unsigned
6018
0
dissect_p1_ReportingDLName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6019
0
  offset = dissect_p1_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
6020
6021
0
  return offset;
6022
0
}
6023
6024
6025
6026
static unsigned
6027
0
dissect_p1_ReportingMTACertificate(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6028
0
  offset = dissect_x509af_Certificates(implicit_tag, tvb, offset, actx, tree, hf_index);
6029
6030
0
  return offset;
6031
0
}
6032
6033
6034
6035
static unsigned
6036
0
dissect_p1_ReportOriginAuthenticationCheck(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6037
0
  offset = dissect_p1_Signature(implicit_tag, tvb, offset, actx, tree, hf_index);
6038
6039
0
  return offset;
6040
0
}
6041
6042
6043
6044
6045
6046
unsigned
6047
0
dissect_p1_OriginatingMTACertificate(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6048
0
  offset = dissect_x509af_Certificates(implicit_tag, tvb, offset, actx, tree, hf_index);
6049
6050
0
  return offset;
6051
0
}
6052
6053
6054
6055
unsigned
6056
0
dissect_p1_ProofOfSubmission(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6057
0
  offset = dissect_p1_Signature(implicit_tag, tvb, offset, actx, tree, hf_index);
6058
6059
0
  return offset;
6060
0
}
6061
6062
6063
static const ber_sequence_t ReportingMTAName_sequence[] = {
6064
  { &hf_p1_domain           , BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_p1_GlobalDomainIdentifier },
6065
  { &hf_p1_mta_name         , BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_p1_MTAName },
6066
  { &hf_p1_mta_directory_name, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509if_Name },
6067
  { NULL, 0, 0, 0, NULL }
6068
};
6069
6070
static unsigned
6071
0
dissect_p1_ReportingMTAName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6072
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6073
0
                                   ReportingMTAName_sequence, hf_index, ett_p1_ReportingMTAName);
6074
6075
0
  return offset;
6076
0
}
6077
6078
6079
static const value_string p1_ExtendedCertificate_vals[] = {
6080
  {   0, "directory-entry" },
6081
  {   1, "certificate" },
6082
  { 0, NULL }
6083
};
6084
6085
static const ber_choice_t ExtendedCertificate_choice[] = {
6086
  {   0, &hf_p1_directory_entry  , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x509if_Name },
6087
  {   1, &hf_p1_certificate      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x509af_Certificates },
6088
  { 0, NULL, 0, 0, 0, NULL }
6089
};
6090
6091
static unsigned
6092
0
dissect_p1_ExtendedCertificate(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6093
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
6094
0
                                 ExtendedCertificate_choice, hf_index, ett_p1_ExtendedCertificate,
6095
0
                                 NULL);
6096
6097
0
  return offset;
6098
0
}
6099
6100
6101
static const ber_sequence_t ExtendedCertificates_set_of[1] = {
6102
  { &hf_p1_ExtendedCertificates_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_ExtendedCertificate },
6103
};
6104
6105
unsigned
6106
0
dissect_p1_ExtendedCertificates(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6107
0
  offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
6108
0
                                             1, ub_certificates, ExtendedCertificates_set_of, hf_index, ett_p1_ExtendedCertificates);
6109
6110
0
  return offset;
6111
0
}
6112
6113
6114
static const ber_sequence_t DLExemptedRecipients_set_of[1] = {
6115
  { &hf_p1_DLExemptedRecipients_item, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_ORAddressAndOrDirectoryName },
6116
};
6117
6118
static unsigned
6119
0
dissect_p1_DLExemptedRecipients(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6120
0
  offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
6121
0
                                 DLExemptedRecipients_set_of, hf_index, ett_p1_DLExemptedRecipients);
6122
6123
0
  return offset;
6124
0
}
6125
6126
6127
static const ber_sequence_t CertificateSelectors_set[] = {
6128
  { &hf_p1_encryption_recipient, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion },
6129
  { &hf_p1_encryption_originator, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion },
6130
  { &hf_p1_selectors_content_integrity_check, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion },
6131
  { &hf_p1_token_signature  , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion },
6132
  { &hf_p1_message_origin_authentication, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion },
6133
  { NULL, 0, 0, 0, NULL }
6134
};
6135
6136
static unsigned
6137
0
dissect_p1_CertificateSelectors(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6138
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
6139
0
                              CertificateSelectors_set, hf_index, ett_p1_CertificateSelectors);
6140
6141
0
  return offset;
6142
0
}
6143
6144
6145
6146
static unsigned
6147
0
dissect_p1_CommonName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6148
0
  tvbuff_t  *string = NULL;
6149
6150
0
    offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
6151
0
                                                        actx, tree, tvb, offset,
6152
0
                                                        1, ub_common_name_length, hf_index, &string);
6153
6154
6155
0
  do_address("/CN=", string, actx);
6156
6157
6158
0
  return offset;
6159
0
}
6160
6161
6162
6163
static unsigned
6164
0
dissect_p1_TeletexCommonName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6165
0
  tvbuff_t  *string = NULL;
6166
6167
0
    offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
6168
0
                                                        actx, tree, tvb, offset,
6169
0
                                                        1, ub_common_name_length, hf_index, &string);
6170
6171
6172
0
  do_address("/CN=", string, actx);
6173
6174
6175
0
  return offset;
6176
0
}
6177
6178
6179
6180
static unsigned
6181
0
dissect_p1_BMPString_SIZE_1_ub_string_length(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6182
0
  offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_BMPString,
6183
0
                                                        actx, tree, tvb, offset,
6184
0
                                                        1, ub_string_length, hf_index, NULL);
6185
6186
0
  return offset;
6187
0
}
6188
6189
6190
6191
static unsigned
6192
0
dissect_p1_UniversalString_SIZE_1_ub_string_length(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6193
0
  offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_UniversalString,
6194
0
                                                        actx, tree, tvb, offset,
6195
0
                                                        1, ub_string_length, hf_index, NULL);
6196
6197
0
  return offset;
6198
0
}
6199
6200
6201
static const value_string p1_T_character_encoding_vals[] = {
6202
  {   0, "two-octets" },
6203
  {   1, "four-octets" },
6204
  { 0, NULL }
6205
};
6206
6207
static const ber_choice_t T_character_encoding_choice[] = {
6208
  {   0, &hf_p1_two_octets       , BER_CLASS_UNI, BER_UNI_TAG_BMPString, BER_FLAGS_NOOWNTAG, dissect_p1_BMPString_SIZE_1_ub_string_length },
6209
  {   1, &hf_p1_four_octets      , BER_CLASS_UNI, BER_UNI_TAG_UniversalString, BER_FLAGS_NOOWNTAG, dissect_p1_UniversalString_SIZE_1_ub_string_length },
6210
  { 0, NULL, 0, 0, 0, NULL }
6211
};
6212
6213
static unsigned
6214
0
dissect_p1_T_character_encoding(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6215
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
6216
0
                                 T_character_encoding_choice, hf_index, ett_p1_T_character_encoding,
6217
0
                                 NULL);
6218
6219
0
  return offset;
6220
0
}
6221
6222
6223
6224
static unsigned
6225
0
dissect_p1_PrintableString_SIZE_CONSTR001(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6226
0
  offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
6227
0
                                                        actx, tree, tvb, offset,
6228
0
                                                        2, 5, hf_index, NULL);
6229
6230
0
  return offset;
6231
0
}
6232
6233
6234
static const ber_sequence_t UniversalOrBMPString_set[] = {
6235
  { &hf_p1_character_encoding, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_T_character_encoding },
6236
  { &hf_p1_iso_639_language_code, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_PrintableString_SIZE_CONSTR001 },
6237
  { NULL, 0, 0, 0, NULL }
6238
};
6239
6240
unsigned
6241
0
dissect_p1_UniversalOrBMPString(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6242
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
6243
0
                              UniversalOrBMPString_set, hf_index, ett_p1_UniversalOrBMPString);
6244
6245
0
  return offset;
6246
0
}
6247
6248
6249
6250
static unsigned
6251
0
dissect_p1_UniversalCommonName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6252
0
  offset = dissect_p1_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index);
6253
6254
0
  return offset;
6255
0
}
6256
6257
6258
6259
static unsigned
6260
0
dissect_p1_TeletexOrganizationName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6261
0
  tvbuff_t  *string = NULL;
6262
6263
0
    offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
6264
0
                                                        actx, tree, tvb, offset,
6265
0
                                                        1, ub_organization_name_length, hf_index, &string);
6266
6267
6268
0
  do_address("/O=", string, actx);
6269
6270
6271
0
  return offset;
6272
0
}
6273
6274
6275
6276
static unsigned
6277
0
dissect_p1_UniversalOrganizationName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6278
0
  offset = dissect_p1_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index);
6279
6280
0
  return offset;
6281
0
}
6282
6283
6284
6285
static unsigned
6286
0
dissect_p1_T_teletex_surname(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6287
0
  tvbuff_t  *tstring = NULL;
6288
6289
0
    offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
6290
0
                                                        actx, tree, tvb, offset,
6291
0
                                                        1, ub_surname_length, hf_index, &tstring);
6292
6293
6294
0
  do_address("/S=", tstring, actx);
6295
6296
6297
0
  return offset;
6298
0
}
6299
6300
6301
6302
static unsigned
6303
0
dissect_p1_T_teletex_given_name(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6304
0
  tvbuff_t  *tstring = NULL;
6305
6306
0
    offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
6307
0
                                                        actx, tree, tvb, offset,
6308
0
                                                        1, ub_given_name_length, hf_index, &tstring);
6309
6310
6311
0
  do_address("/G=", tstring, actx);
6312
6313
6314
0
  return offset;
6315
0
}
6316
6317
6318
6319
static unsigned
6320
0
dissect_p1_T_teletex_initials(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6321
0
  tvbuff_t  *tstring = NULL;
6322
6323
0
    offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
6324
0
                                                        actx, tree, tvb, offset,
6325
0
                                                        1, ub_initials_length, hf_index, &tstring);
6326
6327
6328
0
  do_address("/I=", tstring, actx);
6329
6330
6331
0
  return offset;
6332
0
}
6333
6334
6335
6336
static unsigned
6337
0
dissect_p1_T_teletex_generation_qualifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6338
0
  tvbuff_t  *tstring = NULL;
6339
6340
0
    offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
6341
0
                                                        actx, tree, tvb, offset,
6342
0
                                                        1, ub_generation_qualifier_length, hf_index, &tstring);
6343
6344
6345
0
  do_address("/Q=", tstring, actx);
6346
6347
6348
0
  return offset;
6349
0
}
6350
6351
6352
static const ber_sequence_t TeletexPersonalName_set[] = {
6353
  { &hf_p1_teletex_surname  , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_T_teletex_surname },
6354
  { &hf_p1_teletex_given_name, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_T_teletex_given_name },
6355
  { &hf_p1_teletex_initials , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_T_teletex_initials },
6356
  { &hf_p1_teletex_generation_qualifier, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_T_teletex_generation_qualifier },
6357
  { NULL, 0, 0, 0, NULL }
6358
};
6359
6360
static unsigned
6361
0
dissect_p1_TeletexPersonalName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6362
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
6363
0
                              TeletexPersonalName_set, hf_index, ett_p1_TeletexPersonalName);
6364
6365
0
  return offset;
6366
0
}
6367
6368
6369
static const ber_sequence_t UniversalPersonalName_set[] = {
6370
  { &hf_p1_universal_surname, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_UniversalOrBMPString },
6371
  { &hf_p1_universal_given_name, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_UniversalOrBMPString },
6372
  { &hf_p1_universal_initials, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_UniversalOrBMPString },
6373
  { &hf_p1_universal_generation_qualifier, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_UniversalOrBMPString },
6374
  { NULL, 0, 0, 0, NULL }
6375
};
6376
6377
static unsigned
6378
0
dissect_p1_UniversalPersonalName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6379
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
6380
0
                              UniversalPersonalName_set, hf_index, ett_p1_UniversalPersonalName);
6381
6382
0
  return offset;
6383
0
}
6384
6385
6386
6387
static unsigned
6388
0
dissect_p1_TeletexOrganizationalUnitName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6389
0
  tvbuff_t  *string = NULL;
6390
6391
0
    offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
6392
0
                                                        actx, tree, tvb, offset,
6393
0
                                                        1, ub_organizational_unit_name_length, hf_index, &string);
6394
6395
6396
0
  do_address("/OU=", string, actx);
6397
6398
6399
0
  return offset;
6400
0
}
6401
6402
6403
static const ber_sequence_t TeletexOrganizationalUnitNames_sequence_of[1] = {
6404
  { &hf_p1_TeletexOrganizationalUnitNames_item, BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_p1_TeletexOrganizationalUnitName },
6405
};
6406
6407
static unsigned
6408
0
dissect_p1_TeletexOrganizationalUnitNames(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6409
0
  offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
6410
0
                                                  1, ub_organizational_units, TeletexOrganizationalUnitNames_sequence_of, hf_index, ett_p1_TeletexOrganizationalUnitNames);
6411
6412
0
  return offset;
6413
0
}
6414
6415
6416
6417
static unsigned
6418
0
dissect_p1_UniversalOrganizationalUnitName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6419
0
  offset = dissect_p1_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index);
6420
6421
0
  return offset;
6422
0
}
6423
6424
6425
static const ber_sequence_t UniversalOrganizationalUnitNames_sequence_of[1] = {
6426
  { &hf_p1_UniversalOrganizationalUnitNames_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_UniversalOrganizationalUnitName },
6427
};
6428
6429
static unsigned
6430
0
dissect_p1_UniversalOrganizationalUnitNames(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6431
0
  offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
6432
0
                                                  1, ub_organizational_units, UniversalOrganizationalUnitNames_sequence_of, hf_index, ett_p1_UniversalOrganizationalUnitNames);
6433
6434
0
  return offset;
6435
0
}
6436
6437
6438
6439
static unsigned
6440
0
dissect_p1_PDSName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6441
0
  offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
6442
0
                                                        actx, tree, tvb, offset,
6443
0
                                                        1, ub_pds_name_length, hf_index, NULL);
6444
6445
0
  return offset;
6446
0
}
6447
6448
6449
6450
static unsigned
6451
0
dissect_p1_T_x121_dcc_code_01(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6452
0
  tvbuff_t  *nstring = NULL;
6453
6454
0
    offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
6455
0
                                                        actx, tree, tvb, offset,
6456
0
                                                        ub_country_name_numeric_length, ub_country_name_numeric_length, hf_index, &nstring);
6457
6458
6459
0
  do_address(NULL, nstring, actx);
6460
6461
6462
0
  return offset;
6463
0
}
6464
6465
6466
6467
static unsigned
6468
0
dissect_p1_T_iso_3166_alpha2_code_01(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6469
0
  tvbuff_t  *nstring = NULL;
6470
6471
0
    offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
6472
0
                                                        actx, tree, tvb, offset,
6473
0
                                                        ub_country_name_alpha_length, ub_country_name_alpha_length, hf_index, &nstring);
6474
6475
6476
0
  do_address(NULL, nstring, actx);
6477
6478
6479
0
  return offset;
6480
0
}
6481
6482
6483
static const value_string p1_PhysicalDeliveryCountryName_vals[] = {
6484
  {   0, "x121-dcc-code" },
6485
  {   1, "iso-3166-alpha2-code" },
6486
  { 0, NULL }
6487
};
6488
6489
static const ber_choice_t PhysicalDeliveryCountryName_choice[] = {
6490
  {   0, &hf_p1_x121_dcc_code_01 , BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_p1_T_x121_dcc_code_01 },
6491
  {   1, &hf_p1_iso_3166_alpha2_code_01, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_p1_T_iso_3166_alpha2_code_01 },
6492
  { 0, NULL, 0, 0, 0, NULL }
6493
};
6494
6495
static unsigned
6496
0
dissect_p1_PhysicalDeliveryCountryName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6497
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
6498
0
                                 PhysicalDeliveryCountryName_choice, hf_index, ett_p1_PhysicalDeliveryCountryName,
6499
0
                                 NULL);
6500
6501
0
  return offset;
6502
0
}
6503
6504
6505
6506
static unsigned
6507
0
dissect_p1_T_numeric_code(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6508
0
  tvbuff_t  *nstring = NULL;
6509
6510
0
    offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
6511
0
                                                        actx, tree, tvb, offset,
6512
0
                                                        1, ub_postal_code_length, hf_index, &nstring);
6513
6514
6515
0
  do_address(NULL, nstring, actx);
6516
6517
6518
6519
0
  return offset;
6520
0
}
6521
6522
6523
6524
static unsigned
6525
0
dissect_p1_PrintableString_SIZE_1_ub_postal_code_length(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6526
0
  offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
6527
0
                                                        actx, tree, tvb, offset,
6528
0
                                                        1, ub_postal_code_length, hf_index, NULL);
6529
6530
0
  return offset;
6531
0
}
6532
6533
6534
static const value_string p1_PostalCode_vals[] = {
6535
  {   0, "numeric-code" },
6536
  {   1, "printable-code" },
6537
  { 0, NULL }
6538
};
6539
6540
static const ber_choice_t PostalCode_choice[] = {
6541
  {   0, &hf_p1_numeric_code     , BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_p1_T_numeric_code },
6542
  {   1, &hf_p1_printable_code   , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_p1_PrintableString_SIZE_1_ub_postal_code_length },
6543
  { 0, NULL, 0, 0, 0, NULL }
6544
};
6545
6546
static unsigned
6547
0
dissect_p1_PostalCode(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6548
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
6549
0
                                 PostalCode_choice, hf_index, ett_p1_PostalCode,
6550
0
                                 NULL);
6551
6552
0
  return offset;
6553
0
}
6554
6555
6556
6557
static unsigned
6558
0
dissect_p1_PrintableString_SIZE_1_ub_pds_parameter_length(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6559
0
  offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
6560
0
                                                        actx, tree, tvb, offset,
6561
0
                                                        1, ub_pds_parameter_length, hf_index, NULL);
6562
6563
0
  return offset;
6564
0
}
6565
6566
6567
6568
static unsigned
6569
0
dissect_p1_TeletexString_SIZE_1_ub_pds_parameter_length(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6570
0
  offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
6571
0
                                                        actx, tree, tvb, offset,
6572
0
                                                        1, ub_pds_parameter_length, hf_index, NULL);
6573
6574
0
  return offset;
6575
0
}
6576
6577
6578
static const ber_sequence_t PDSParameter_set[] = {
6579
  { &hf_p1_printable_string , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_PrintableString_SIZE_1_ub_pds_parameter_length },
6580
  { &hf_p1_pds_teletex_string, BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_TeletexString_SIZE_1_ub_pds_parameter_length },
6581
  { NULL, 0, 0, 0, NULL }
6582
};
6583
6584
static unsigned
6585
0
dissect_p1_PDSParameter(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6586
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
6587
0
                              PDSParameter_set, hf_index, ett_p1_PDSParameter);
6588
6589
0
  return offset;
6590
0
}
6591
6592
6593
6594
static unsigned
6595
0
dissect_p1_PhysicalDeliveryOfficeName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6596
0
  offset = dissect_p1_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6597
6598
0
  return offset;
6599
0
}
6600
6601
6602
6603
static unsigned
6604
0
dissect_p1_UniversalPDSParameter(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6605
0
  offset = dissect_p1_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index);
6606
6607
0
  return offset;
6608
0
}
6609
6610
6611
6612
static unsigned
6613
0
dissect_p1_UniversalPhysicalDeliveryOfficeName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6614
0
  offset = dissect_p1_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6615
6616
0
  return offset;
6617
0
}
6618
6619
6620
6621
static unsigned
6622
0
dissect_p1_PhysicalDeliveryOfficeNumber(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6623
0
  offset = dissect_p1_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6624
6625
0
  return offset;
6626
0
}
6627
6628
6629
6630
static unsigned
6631
0
dissect_p1_UniversalPhysicalDeliveryOfficeNumber(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6632
0
  offset = dissect_p1_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6633
6634
0
  return offset;
6635
0
}
6636
6637
6638
6639
static unsigned
6640
0
dissect_p1_ExtensionORAddressComponents(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6641
0
  offset = dissect_p1_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6642
6643
0
  return offset;
6644
0
}
6645
6646
6647
6648
static unsigned
6649
0
dissect_p1_UniversalExtensionORAddressComponents(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6650
0
  offset = dissect_p1_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6651
6652
0
  return offset;
6653
0
}
6654
6655
6656
6657
static unsigned
6658
0
dissect_p1_PhysicalDeliveryPersonalName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6659
0
  offset = dissect_p1_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6660
6661
0
  return offset;
6662
0
}
6663
6664
6665
6666
static unsigned
6667
0
dissect_p1_UniversalPhysicalDeliveryPersonalName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6668
0
  offset = dissect_p1_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6669
6670
0
  return offset;
6671
0
}
6672
6673
6674
6675
static unsigned
6676
0
dissect_p1_PhysicalDeliveryOrganizationName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6677
0
  offset = dissect_p1_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6678
6679
0
  return offset;
6680
0
}
6681
6682
6683
6684
static unsigned
6685
0
dissect_p1_UniversalPhysicalDeliveryOrganizationName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6686
0
  offset = dissect_p1_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6687
6688
0
  return offset;
6689
0
}
6690
6691
6692
6693
static unsigned
6694
0
dissect_p1_ExtensionPhysicalDeliveryAddressComponents(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6695
0
  offset = dissect_p1_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6696
6697
0
  return offset;
6698
0
}
6699
6700
6701
6702
static unsigned
6703
0
dissect_p1_UniversalExtensionPhysicalDeliveryAddressComponents(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6704
0
  offset = dissect_p1_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6705
6706
0
  return offset;
6707
0
}
6708
6709
6710
static const ber_sequence_t T_printable_address_sequence_of[1] = {
6711
  { &hf_p1_printable_address_item, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_p1_PrintableString_SIZE_1_ub_pds_parameter_length },
6712
};
6713
6714
static unsigned
6715
0
dissect_p1_T_printable_address(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6716
0
  offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
6717
0
                                                  1, ub_pds_physical_address_lines, T_printable_address_sequence_of, hf_index, ett_p1_T_printable_address);
6718
6719
0
  return offset;
6720
0
}
6721
6722
6723
6724
static unsigned
6725
0
dissect_p1_TeletexString_SIZE_1_ub_unformatted_address_length(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6726
0
  offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
6727
0
                                                        actx, tree, tvb, offset,
6728
0
                                                        1, ub_unformatted_address_length, hf_index, NULL);
6729
6730
0
  return offset;
6731
0
}
6732
6733
6734
static const ber_sequence_t UnformattedPostalAddress_set[] = {
6735
  { &hf_p1_printable_address, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_T_printable_address },
6736
  { &hf_p1_teletex_string   , BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_TeletexString_SIZE_1_ub_unformatted_address_length },
6737
  { NULL, 0, 0, 0, NULL }
6738
};
6739
6740
static unsigned
6741
0
dissect_p1_UnformattedPostalAddress(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6742
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
6743
0
                              UnformattedPostalAddress_set, hf_index, ett_p1_UnformattedPostalAddress);
6744
6745
0
  return offset;
6746
0
}
6747
6748
6749
6750
static unsigned
6751
0
dissect_p1_UniversalUnformattedPostalAddress(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6752
0
  offset = dissect_p1_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index);
6753
6754
0
  return offset;
6755
0
}
6756
6757
6758
6759
static unsigned
6760
0
dissect_p1_StreetAddress(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6761
0
  offset = dissect_p1_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6762
6763
0
  return offset;
6764
0
}
6765
6766
6767
6768
static unsigned
6769
0
dissect_p1_UniversalStreetAddress(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6770
0
  offset = dissect_p1_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6771
6772
0
  return offset;
6773
0
}
6774
6775
6776
6777
static unsigned
6778
0
dissect_p1_PostOfficeBoxAddress(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6779
0
  offset = dissect_p1_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6780
6781
0
  return offset;
6782
0
}
6783
6784
6785
6786
static unsigned
6787
0
dissect_p1_UniversalPostOfficeBoxAddress(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6788
0
  offset = dissect_p1_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6789
6790
0
  return offset;
6791
0
}
6792
6793
6794
6795
static unsigned
6796
0
dissect_p1_PosteRestanteAddress(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6797
0
  offset = dissect_p1_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6798
6799
0
  return offset;
6800
0
}
6801
6802
6803
6804
static unsigned
6805
0
dissect_p1_UniversalPosteRestanteAddress(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6806
0
  offset = dissect_p1_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6807
6808
0
  return offset;
6809
0
}
6810
6811
6812
6813
static unsigned
6814
0
dissect_p1_UniquePostalName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6815
0
  offset = dissect_p1_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6816
6817
0
  return offset;
6818
0
}
6819
6820
6821
6822
static unsigned
6823
0
dissect_p1_UniversalUniquePostalName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6824
0
  offset = dissect_p1_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6825
6826
0
  return offset;
6827
0
}
6828
6829
6830
6831
static unsigned
6832
0
dissect_p1_LocalPostalAttributes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6833
0
  offset = dissect_p1_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6834
6835
0
  return offset;
6836
0
}
6837
6838
6839
6840
static unsigned
6841
0
dissect_p1_UniversalLocalPostalAttributes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6842
0
  offset = dissect_p1_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index);
6843
6844
0
  return offset;
6845
0
}
6846
6847
6848
6849
static unsigned
6850
0
dissect_p1_NumericString_SIZE_1_ub_e163_4_number_length(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6851
0
  offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
6852
0
                                                        actx, tree, tvb, offset,
6853
0
                                                        1, ub_e163_4_number_length, hf_index, NULL);
6854
6855
0
  return offset;
6856
0
}
6857
6858
6859
6860
static unsigned
6861
0
dissect_p1_NumericString_SIZE_1_ub_e163_4_sub_address_length(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6862
0
  offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
6863
0
                                                        actx, tree, tvb, offset,
6864
0
                                                        1, ub_e163_4_sub_address_length, hf_index, NULL);
6865
6866
0
  return offset;
6867
0
}
6868
6869
6870
static const ber_sequence_t T_e163_4_address_sequence[] = {
6871
  { &hf_p1_number           , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_NumericString_SIZE_1_ub_e163_4_number_length },
6872
  { &hf_p1_sub_address      , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_NumericString_SIZE_1_ub_e163_4_sub_address_length },
6873
  { NULL, 0, 0, 0, NULL }
6874
};
6875
6876
static unsigned
6877
0
dissect_p1_T_e163_4_address(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6878
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6879
0
                                   T_e163_4_address_sequence, hf_index, ett_p1_T_e163_4_address);
6880
6881
0
  return offset;
6882
0
}
6883
6884
6885
static const value_string p1_ExtendedNetworkAddress_vals[] = {
6886
  {   0, "e163-4-address" },
6887
  {   1, "psap-address" },
6888
  { 0, NULL }
6889
};
6890
6891
static const ber_choice_t ExtendedNetworkAddress_choice[] = {
6892
  {   0, &hf_p1_e163_4_address   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_T_e163_4_address },
6893
  {   1, &hf_p1_psap_address     , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x509sat_PresentationAddress },
6894
  { 0, NULL, 0, 0, 0, NULL }
6895
};
6896
6897
static unsigned
6898
0
dissect_p1_ExtendedNetworkAddress(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6899
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
6900
0
                                 ExtendedNetworkAddress_choice, hf_index, ett_p1_ExtendedNetworkAddress,
6901
0
                                 NULL);
6902
6903
0
  return offset;
6904
0
}
6905
6906
6907
static const value_string p1_TerminalType_vals[] = {
6908
  {   3, "telex" },
6909
  {   4, "teletex" },
6910
  {   5, "g3-facsimile" },
6911
  {   6, "g4-facsimile" },
6912
  {   7, "ia5-terminal" },
6913
  {   8, "videotex" },
6914
  { 0, NULL }
6915
};
6916
6917
6918
static unsigned
6919
0
dissect_p1_TerminalType(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6920
0
  offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
6921
0
                                                            0U, ub_integer_options, hf_index, NULL);
6922
6923
0
  return offset;
6924
0
}
6925
6926
6927
6928
static unsigned
6929
0
dissect_p1_T_type(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6930
0
  tvbuff_t  *tstring = NULL;
6931
6932
0
    offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
6933
0
                                                        actx, tree, tvb, offset,
6934
0
                                                        1, ub_domain_defined_attribute_type_length, hf_index, &tstring);
6935
6936
6937
0
  do_address_str("/DD.", tstring, actx);
6938
6939
6940
0
  return offset;
6941
0
}
6942
6943
6944
6945
static unsigned
6946
0
dissect_p1_T_teletex_value(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6947
0
  tvbuff_t  *tstring = NULL;
6948
6949
0
    offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
6950
0
                                                        actx, tree, tvb, offset,
6951
0
                                                        1, ub_domain_defined_attribute_value_length, hf_index, &tstring);
6952
6953
6954
0
  do_address_str_tree("=", tstring, actx, tree);
6955
6956
6957
0
  return offset;
6958
0
}
6959
6960
6961
static const ber_sequence_t TeletexDomainDefinedAttribute_sequence[] = {
6962
  { &hf_p1_type             , BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_p1_T_type },
6963
  { &hf_p1_teletex_value    , BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_p1_T_teletex_value },
6964
  { NULL, 0, 0, 0, NULL }
6965
};
6966
6967
static unsigned
6968
0
dissect_p1_TeletexDomainDefinedAttribute(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6969
0
  actx->value_ptr = wmem_strbuf_new(actx->pinfo->pool, "");
6970
6971
0
    offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6972
0
                                   TeletexDomainDefinedAttribute_sequence, hf_index, ett_p1_TeletexDomainDefinedAttribute);
6973
6974
6975
6976
0
  return offset;
6977
0
}
6978
6979
6980
static const ber_sequence_t TeletexDomainDefinedAttributes_sequence_of[1] = {
6981
  { &hf_p1_TeletexDomainDefinedAttributes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_TeletexDomainDefinedAttribute },
6982
};
6983
6984
static unsigned
6985
0
dissect_p1_TeletexDomainDefinedAttributes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6986
0
  offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
6987
0
                                                  1, ub_domain_defined_attributes, TeletexDomainDefinedAttributes_sequence_of, hf_index, ett_p1_TeletexDomainDefinedAttributes);
6988
6989
0
  return offset;
6990
0
}
6991
6992
6993
static const ber_sequence_t UniversalDomainDefinedAttribute_sequence[] = {
6994
  { &hf_p1_universal_type   , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_UniversalOrBMPString },
6995
  { &hf_p1_universal_value  , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_UniversalOrBMPString },
6996
  { NULL, 0, 0, 0, NULL }
6997
};
6998
6999
static unsigned
7000
0
dissect_p1_UniversalDomainDefinedAttribute(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7001
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7002
0
                                   UniversalDomainDefinedAttribute_sequence, hf_index, ett_p1_UniversalDomainDefinedAttribute);
7003
7004
0
  return offset;
7005
0
}
7006
7007
7008
static const ber_sequence_t UniversalDomainDefinedAttributes_sequence_of[1] = {
7009
  { &hf_p1_UniversalDomainDefinedAttributes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_UniversalDomainDefinedAttribute },
7010
};
7011
7012
static unsigned
7013
0
dissect_p1_UniversalDomainDefinedAttributes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7014
0
  offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
7015
0
                                                  1, ub_domain_defined_attributes, UniversalDomainDefinedAttributes_sequence_of, hf_index, ett_p1_UniversalDomainDefinedAttributes);
7016
7017
0
  return offset;
7018
0
}
7019
7020
7021
7022
static const ber_sequence_t MTANameAndOptionalGDI_sequence[] = {
7023
  { &hf_p1_global_domain_identifier, BER_CLASS_APP, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_GlobalDomainIdentifier },
7024
  { &hf_p1_mta_name         , BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_p1_MTAName },
7025
  { NULL, 0, 0, 0, NULL }
7026
};
7027
7028
static unsigned
7029
0
dissect_p1_MTANameAndOptionalGDI(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7030
7031
0
  set_do_address(actx, true);
7032
7033
0
    offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7034
0
                                   MTANameAndOptionalGDI_sequence, hf_index, ett_p1_MTANameAndOptionalGDI);
7035
7036
7037
0
  set_do_address(actx, false);
7038
0
  proto_item_append_text(tree, ")");
7039
7040
7041
0
  return offset;
7042
0
}
7043
7044
7045
static const value_string p1_T_name_vals[] = {
7046
  {   0, "recipient-name" },
7047
  {   1, "mta" },
7048
  { 0, NULL }
7049
};
7050
7051
static const ber_choice_t T_name_choice[] = {
7052
  {   0, &hf_p1_token_recipient_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_RecipientName },
7053
  {   1, &hf_p1_token_mta        , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_p1_MTANameAndOptionalGDI },
7054
  { 0, NULL, 0, 0, 0, NULL }
7055
};
7056
7057
static unsigned
7058
0
dissect_p1_T_name(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7059
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
7060
0
                                 T_name_choice, hf_index, ett_p1_T_name,
7061
0
                                 NULL);
7062
7063
0
  return offset;
7064
0
}
7065
7066
7067
static const value_string p1_TokenDataType_vals[] = {
7068
  {   1, "bind-token-signed-data" },
7069
  {   2, "message-token-signed-data" },
7070
  {   3, "message-token-encrypted-data" },
7071
  {   4, "bind-token-encrypted-data" },
7072
  { 0, NULL }
7073
};
7074
7075
7076
static unsigned
7077
0
dissect_p1_TokenDataType(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7078
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7079
0
                                                (uint32_t*)&actx->external.indirect_reference);
7080
7081
0
  return offset;
7082
0
}
7083
7084
7085
7086
static unsigned
7087
0
dissect_p1_T_value(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7088
7089
0
  proto_item_append_text(tree, " (%s)", val_to_str(actx->pinfo->pool, actx->external.indirect_reference, p1_TokenDataType_vals, "tokendata-type %d"));
7090
0
  if (dissector_try_uint(p1_tokendata_dissector_table, actx->external.indirect_reference, tvb, actx->pinfo, tree)) {
7091
0
    offset = tvb_reported_length(tvb);
7092
0
  } else {
7093
0
    proto_item *item;
7094
0
    proto_tree *next_tree;
7095
7096
0
    next_tree = proto_tree_add_subtree_format(tree, tvb, 0, -1, ett_p1_unknown_tokendata_type, &item,
7097
0
      "Dissector for tokendata-type %d not implemented.  Contact Wireshark developers if you want this supported", actx->external.indirect_reference);
7098
0
    offset = dissect_unknown_ber(actx->pinfo, tvb, offset, next_tree);
7099
0
    expert_add_info(actx->pinfo, item, &ei_p1_unknown_tokendata_type);
7100
0
  }
7101
7102
7103
0
  return offset;
7104
0
}
7105
7106
7107
static const ber_sequence_t TokenData_sequence[] = {
7108
  { &hf_p1_token_data_type  , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_TokenDataType },
7109
  { &hf_p1_value            , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_T_value },
7110
  { NULL, 0, 0, 0, NULL }
7111
};
7112
7113
static unsigned
7114
0
dissect_p1_TokenData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7115
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7116
0
                                   TokenData_sequence, hf_index, ett_p1_TokenData);
7117
7118
0
  return offset;
7119
0
}
7120
7121
7122
static const ber_sequence_t AsymmetricTokenData_sequence[] = {
7123
  { &hf_p1_signature_algorithm_identifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
7124
  { &hf_p1_name             , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_T_name },
7125
  { &hf_p1_time             , BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_p1_Time },
7126
  { &hf_p1_signed_data      , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_TokenData },
7127
  { &hf_p1_encryption_algorithm_identifier, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509af_AlgorithmIdentifier },
7128
  { &hf_p1_encrypted_data   , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_BIT_STRING },
7129
  { NULL, 0, 0, 0, NULL }
7130
};
7131
7132
static unsigned
7133
0
dissect_p1_AsymmetricTokenData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7134
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7135
0
                                   AsymmetricTokenData_sequence, hf_index, ett_p1_AsymmetricTokenData);
7136
7137
0
  return offset;
7138
0
}
7139
7140
7141
static const ber_sequence_t AsymmetricToken_sequence[] = {
7142
  { &hf_p1_asymmetric_token_data, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_AsymmetricTokenData },
7143
  { &hf_p1_algorithm_identifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
7144
  { &hf_p1_encrypted        , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_p1_BIT_STRING },
7145
  { NULL, 0, 0, 0, NULL }
7146
};
7147
7148
static unsigned
7149
0
dissect_p1_AsymmetricToken(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7150
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7151
0
                                   AsymmetricToken_sequence, hf_index, ett_p1_AsymmetricToken);
7152
7153
0
  return offset;
7154
0
}
7155
7156
7157
7158
static unsigned
7159
0
dissect_p1_RandomNumber(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7160
0
  offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
7161
0
                                    NULL, 0, hf_index, -1,
7162
0
                                    NULL);
7163
7164
0
  return offset;
7165
0
}
7166
7167
7168
7169
static unsigned
7170
0
dissect_p1_BindTokenSignedData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7171
0
  offset = dissect_p1_RandomNumber(implicit_tag, tvb, offset, actx, tree, hf_index);
7172
7173
0
  return offset;
7174
0
}
7175
7176
7177
7178
static unsigned
7179
0
dissect_p1_INTEGER(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7180
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7181
0
                                                NULL);
7182
7183
0
  return offset;
7184
0
}
7185
7186
7187
static const ber_sequence_t MessageTokenSignedData_sequence[] = {
7188
  { &hf_p1_content_confidentiality_algorithm_identifier, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ContentConfidentialityAlgorithmIdentifier },
7189
  { &hf_p1_content_integrity_check, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ContentIntegrityCheck },
7190
  { &hf_p1_message_security_label, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_MessageSecurityLabel },
7191
  { &hf_p1_proof_of_delivery_request, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ProofOfDeliveryRequest },
7192
  { &hf_p1_message_sequence_number, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_INTEGER },
7193
  { NULL, 0, 0, 0, NULL }
7194
};
7195
7196
static unsigned
7197
0
dissect_p1_MessageTokenSignedData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7198
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7199
0
                                   MessageTokenSignedData_sequence, hf_index, ett_p1_MessageTokenSignedData);
7200
7201
0
  return offset;
7202
0
}
7203
7204
7205
7206
static unsigned
7207
0
dissect_p1_EncryptionKey(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7208
0
  offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
7209
0
                                    NULL, 0, hf_index, -1,
7210
0
                                    NULL);
7211
7212
0
  return offset;
7213
0
}
7214
7215
7216
static const ber_sequence_t MessageTokenEncryptedData_sequence[] = {
7217
  { &hf_p1_content_confidentiality_key, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_EncryptionKey },
7218
  { &hf_p1_content_integrity_check, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ContentIntegrityCheck },
7219
  { &hf_p1_message_security_label, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_MessageSecurityLabel },
7220
  { &hf_p1_content_integrity_key, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_EncryptionKey },
7221
  { &hf_p1_message_sequence_number, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_INTEGER },
7222
  { NULL, 0, 0, 0, NULL }
7223
};
7224
7225
static unsigned
7226
0
dissect_p1_MessageTokenEncryptedData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7227
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7228
0
                                   MessageTokenEncryptedData_sequence, hf_index, ett_p1_MessageTokenEncryptedData);
7229
7230
0
  return offset;
7231
0
}
7232
7233
7234
7235
static unsigned
7236
0
dissect_p1_BindTokenEncryptedData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7237
0
  offset = dissect_ber_external_type(implicit_tag, tree, tvb, offset, actx, hf_index, NULL);
7238
7239
0
  return offset;
7240
0
}
7241
7242
/*--- PDUs ---*/
7243
7244
0
static int dissect_InternalTraceInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7245
0
  unsigned offset = 0;
7246
0
  asn1_ctx_t asn1_ctx;
7247
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7248
0
  offset = dissect_p1_InternalTraceInformation(false, tvb, offset, &asn1_ctx, tree, hf_p1_InternalTraceInformation_PDU);
7249
0
  return offset;
7250
0
}
7251
0
static int dissect_InternalTraceInformationElement_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7252
0
  unsigned offset = 0;
7253
0
  asn1_ctx_t asn1_ctx;
7254
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7255
0
  offset = dissect_p1_InternalTraceInformationElement(false, tvb, offset, &asn1_ctx, tree, hf_p1_InternalTraceInformationElement_PDU);
7256
0
  return offset;
7257
0
}
7258
0
static int dissect_TraceInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7259
0
  unsigned offset = 0;
7260
0
  asn1_ctx_t asn1_ctx;
7261
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7262
0
  offset = dissect_p1_TraceInformation(false, tvb, offset, &asn1_ctx, tree, hf_p1_TraceInformation_PDU);
7263
0
  return offset;
7264
0
}
7265
0
static int dissect_TraceInformationElement_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7266
0
  unsigned offset = 0;
7267
0
  asn1_ctx_t asn1_ctx;
7268
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7269
0
  offset = dissect_p1_TraceInformationElement(false, tvb, offset, &asn1_ctx, tree, hf_p1_TraceInformationElement_PDU);
7270
0
  return offset;
7271
0
}
7272
0
static int dissect_MTSBindArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7273
0
  unsigned offset = 0;
7274
0
  asn1_ctx_t asn1_ctx;
7275
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7276
0
  offset = dissect_p1_MTSBindArgument(false, tvb, offset, &asn1_ctx, tree, hf_p1_MTSBindArgument_PDU);
7277
0
  return offset;
7278
0
}
7279
0
static int dissect_MTSBindResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7280
0
  unsigned offset = 0;
7281
0
  asn1_ctx_t asn1_ctx;
7282
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7283
0
  offset = dissect_p1_MTSBindResult(false, tvb, offset, &asn1_ctx, tree, hf_p1_MTSBindResult_PDU);
7284
0
  return offset;
7285
0
}
7286
0
static int dissect_PAR_mts_bind_error_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7287
0
  unsigned offset = 0;
7288
0
  asn1_ctx_t asn1_ctx;
7289
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7290
0
  offset = dissect_p1_PAR_mts_bind_error(false, tvb, offset, &asn1_ctx, tree, hf_p1_PAR_mts_bind_error_PDU);
7291
0
  return offset;
7292
0
}
7293
0
static int dissect_MessageSubmissionArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7294
0
  unsigned offset = 0;
7295
0
  asn1_ctx_t asn1_ctx;
7296
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7297
0
  offset = dissect_p1_MessageSubmissionArgument(false, tvb, offset, &asn1_ctx, tree, hf_p1_MessageSubmissionArgument_PDU);
7298
0
  return offset;
7299
0
}
7300
0
static int dissect_MessageSubmissionResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7301
0
  unsigned offset = 0;
7302
0
  asn1_ctx_t asn1_ctx;
7303
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7304
0
  offset = dissect_p1_MessageSubmissionResult(false, tvb, offset, &asn1_ctx, tree, hf_p1_MessageSubmissionResult_PDU);
7305
0
  return offset;
7306
0
}
7307
0
static int dissect_ProbeSubmissionArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7308
0
  unsigned offset = 0;
7309
0
  asn1_ctx_t asn1_ctx;
7310
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7311
0
  offset = dissect_p1_ProbeSubmissionArgument(false, tvb, offset, &asn1_ctx, tree, hf_p1_ProbeSubmissionArgument_PDU);
7312
0
  return offset;
7313
0
}
7314
0
static int dissect_ProbeSubmissionResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7315
0
  unsigned offset = 0;
7316
0
  asn1_ctx_t asn1_ctx;
7317
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7318
0
  offset = dissect_p1_ProbeSubmissionResult(false, tvb, offset, &asn1_ctx, tree, hf_p1_ProbeSubmissionResult_PDU);
7319
0
  return offset;
7320
0
}
7321
0
static int dissect_CancelDeferredDeliveryArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7322
0
  unsigned offset = 0;
7323
0
  asn1_ctx_t asn1_ctx;
7324
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7325
0
  offset = dissect_p1_CancelDeferredDeliveryArgument(false, tvb, offset, &asn1_ctx, tree, hf_p1_CancelDeferredDeliveryArgument_PDU);
7326
0
  return offset;
7327
0
}
7328
0
static int dissect_CancelDeferredDeliveryResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7329
0
  unsigned offset = 0;
7330
0
  asn1_ctx_t asn1_ctx;
7331
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7332
0
  offset = dissect_p1_CancelDeferredDeliveryResult(false, tvb, offset, &asn1_ctx, tree, hf_p1_CancelDeferredDeliveryResult_PDU);
7333
0
  return offset;
7334
0
}
7335
0
static int dissect_SubmissionControlArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7336
0
  unsigned offset = 0;
7337
0
  asn1_ctx_t asn1_ctx;
7338
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7339
0
  offset = dissect_p1_SubmissionControlArgument(false, tvb, offset, &asn1_ctx, tree, hf_p1_SubmissionControlArgument_PDU);
7340
0
  return offset;
7341
0
}
7342
0
static int dissect_SubmissionControlResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7343
0
  unsigned offset = 0;
7344
0
  asn1_ctx_t asn1_ctx;
7345
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7346
0
  offset = dissect_p1_SubmissionControlResult(false, tvb, offset, &asn1_ctx, tree, hf_p1_SubmissionControlResult_PDU);
7347
0
  return offset;
7348
0
}
7349
0
static int dissect_PAR_submission_control_violated_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7350
0
  unsigned offset = 0;
7351
0
  asn1_ctx_t asn1_ctx;
7352
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7353
0
  offset = dissect_p1_PAR_submission_control_violated(false, tvb, offset, &asn1_ctx, tree, hf_p1_PAR_submission_control_violated_PDU);
7354
0
  return offset;
7355
0
}
7356
0
static int dissect_PAR_element_of_service_not_subscribed_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7357
0
  unsigned offset = 0;
7358
0
  asn1_ctx_t asn1_ctx;
7359
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7360
0
  offset = dissect_p1_PAR_element_of_service_not_subscribed(false, tvb, offset, &asn1_ctx, tree, hf_p1_PAR_element_of_service_not_subscribed_PDU);
7361
0
  return offset;
7362
0
}
7363
0
static int dissect_PAR_deferred_delivery_cancellation_rejected_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7364
0
  unsigned offset = 0;
7365
0
  asn1_ctx_t asn1_ctx;
7366
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7367
0
  offset = dissect_p1_PAR_deferred_delivery_cancellation_rejected(false, tvb, offset, &asn1_ctx, tree, hf_p1_PAR_deferred_delivery_cancellation_rejected_PDU);
7368
0
  return offset;
7369
0
}
7370
0
static int dissect_PAR_originator_invalid_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7371
0
  unsigned offset = 0;
7372
0
  asn1_ctx_t asn1_ctx;
7373
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7374
0
  offset = dissect_p1_PAR_originator_invalid(false, tvb, offset, &asn1_ctx, tree, hf_p1_PAR_originator_invalid_PDU);
7375
0
  return offset;
7376
0
}
7377
0
static int dissect_ImproperlySpecifiedRecipients_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7378
0
  unsigned offset = 0;
7379
0
  asn1_ctx_t asn1_ctx;
7380
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7381
0
  offset = dissect_p1_ImproperlySpecifiedRecipients(false, tvb, offset, &asn1_ctx, tree, hf_p1_ImproperlySpecifiedRecipients_PDU);
7382
0
  return offset;
7383
0
}
7384
0
static int dissect_PAR_message_submission_identifier_invalid_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7385
0
  unsigned offset = 0;
7386
0
  asn1_ctx_t asn1_ctx;
7387
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7388
0
  offset = dissect_p1_PAR_message_submission_identifier_invalid(false, tvb, offset, &asn1_ctx, tree, hf_p1_PAR_message_submission_identifier_invalid_PDU);
7389
0
  return offset;
7390
0
}
7391
0
static int dissect_PAR_inconsistent_request_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7392
0
  unsigned offset = 0;
7393
0
  asn1_ctx_t asn1_ctx;
7394
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7395
0
  offset = dissect_p1_PAR_inconsistent_request(false, tvb, offset, &asn1_ctx, tree, hf_p1_PAR_inconsistent_request_PDU);
7396
0
  return offset;
7397
0
}
7398
0
static int dissect_SecurityProblem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7399
0
  unsigned offset = 0;
7400
0
  asn1_ctx_t asn1_ctx;
7401
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7402
0
  offset = dissect_p1_SecurityProblem(false, tvb, offset, &asn1_ctx, tree, hf_p1_SecurityProblem_PDU);
7403
0
  return offset;
7404
0
}
7405
0
static int dissect_PAR_unsupported_critical_function_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7406
0
  unsigned offset = 0;
7407
0
  asn1_ctx_t asn1_ctx;
7408
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7409
0
  offset = dissect_p1_PAR_unsupported_critical_function(false, tvb, offset, &asn1_ctx, tree, hf_p1_PAR_unsupported_critical_function_PDU);
7410
0
  return offset;
7411
0
}
7412
0
static int dissect_PAR_remote_bind_error_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7413
0
  unsigned offset = 0;
7414
0
  asn1_ctx_t asn1_ctx;
7415
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7416
0
  offset = dissect_p1_PAR_remote_bind_error(false, tvb, offset, &asn1_ctx, tree, hf_p1_PAR_remote_bind_error_PDU);
7417
0
  return offset;
7418
0
}
7419
0
static int dissect_MessageSubmissionTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7420
0
  unsigned offset = 0;
7421
0
  asn1_ctx_t asn1_ctx;
7422
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7423
0
  offset = dissect_p1_MessageSubmissionTime(false, tvb, offset, &asn1_ctx, tree, hf_p1_MessageSubmissionTime_PDU);
7424
0
  return offset;
7425
0
}
7426
0
static int dissect_MessageDeliveryArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7427
0
  unsigned offset = 0;
7428
0
  asn1_ctx_t asn1_ctx;
7429
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7430
0
  offset = dissect_p1_MessageDeliveryArgument(false, tvb, offset, &asn1_ctx, tree, hf_p1_MessageDeliveryArgument_PDU);
7431
0
  return offset;
7432
0
}
7433
0
static int dissect_MessageDeliveryResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7434
0
  unsigned offset = 0;
7435
0
  asn1_ctx_t asn1_ctx;
7436
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7437
0
  offset = dissect_p1_MessageDeliveryResult(false, tvb, offset, &asn1_ctx, tree, hf_p1_MessageDeliveryResult_PDU);
7438
0
  return offset;
7439
0
}
7440
0
static int dissect_ReportDeliveryArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7441
0
  unsigned offset = 0;
7442
0
  asn1_ctx_t asn1_ctx;
7443
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7444
0
  offset = dissect_p1_ReportDeliveryArgument(false, tvb, offset, &asn1_ctx, tree, hf_p1_ReportDeliveryArgument_PDU);
7445
0
  return offset;
7446
0
}
7447
0
static int dissect_ReportDeliveryResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7448
0
  unsigned offset = 0;
7449
0
  asn1_ctx_t asn1_ctx;
7450
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7451
0
  offset = dissect_p1_ReportDeliveryResult(false, tvb, offset, &asn1_ctx, tree, hf_p1_ReportDeliveryResult_PDU);
7452
0
  return offset;
7453
0
}
7454
0
static int dissect_DeliveryControlArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7455
0
  unsigned offset = 0;
7456
0
  asn1_ctx_t asn1_ctx;
7457
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7458
0
  offset = dissect_p1_DeliveryControlArgument(false, tvb, offset, &asn1_ctx, tree, hf_p1_DeliveryControlArgument_PDU);
7459
0
  return offset;
7460
0
}
7461
0
static int dissect_DeliveryControlResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7462
0
  unsigned offset = 0;
7463
0
  asn1_ctx_t asn1_ctx;
7464
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7465
0
  offset = dissect_p1_DeliveryControlResult(false, tvb, offset, &asn1_ctx, tree, hf_p1_DeliveryControlResult_PDU);
7466
0
  return offset;
7467
0
}
7468
0
static int dissect_PAR_delivery_control_violated_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7469
0
  unsigned offset = 0;
7470
0
  asn1_ctx_t asn1_ctx;
7471
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7472
0
  offset = dissect_p1_PAR_delivery_control_violated(false, tvb, offset, &asn1_ctx, tree, hf_p1_PAR_delivery_control_violated_PDU);
7473
0
  return offset;
7474
0
}
7475
0
static int dissect_PAR_control_violates_registration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7476
0
  unsigned offset = 0;
7477
0
  asn1_ctx_t asn1_ctx;
7478
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7479
0
  offset = dissect_p1_PAR_control_violates_registration(false, tvb, offset, &asn1_ctx, tree, hf_p1_PAR_control_violates_registration_PDU);
7480
0
  return offset;
7481
0
}
7482
0
static int dissect_RefusedOperation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7483
0
  unsigned offset = 0;
7484
0
  asn1_ctx_t asn1_ctx;
7485
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7486
0
  offset = dissect_p1_RefusedOperation(false, tvb, offset, &asn1_ctx, tree, hf_p1_RefusedOperation_PDU);
7487
0
  return offset;
7488
0
}
7489
0
static int dissect_RecipientCertificate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7490
0
  unsigned offset = 0;
7491
0
  asn1_ctx_t asn1_ctx;
7492
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7493
0
  offset = dissect_p1_RecipientCertificate(false, tvb, offset, &asn1_ctx, tree, hf_p1_RecipientCertificate_PDU);
7494
0
  return offset;
7495
0
}
7496
0
static int dissect_ProofOfDelivery_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7497
0
  unsigned offset = 0;
7498
0
  asn1_ctx_t asn1_ctx;
7499
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7500
0
  offset = dissect_p1_ProofOfDelivery(false, tvb, offset, &asn1_ctx, tree, hf_p1_ProofOfDelivery_PDU);
7501
0
  return offset;
7502
0
}
7503
0
static int dissect_RegisterArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7504
0
  unsigned offset = 0;
7505
0
  asn1_ctx_t asn1_ctx;
7506
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7507
0
  offset = dissect_p1_RegisterArgument(false, tvb, offset, &asn1_ctx, tree, hf_p1_RegisterArgument_PDU);
7508
0
  return offset;
7509
0
}
7510
0
static int dissect_RegisterResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7511
0
  unsigned offset = 0;
7512
0
  asn1_ctx_t asn1_ctx;
7513
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7514
0
  offset = dissect_p1_RegisterResult(false, tvb, offset, &asn1_ctx, tree, hf_p1_RegisterResult_PDU);
7515
0
  return offset;
7516
0
}
7517
0
static int dissect_ChangeCredentialsArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7518
0
  unsigned offset = 0;
7519
0
  asn1_ctx_t asn1_ctx;
7520
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7521
0
  offset = dissect_p1_ChangeCredentialsArgument(false, tvb, offset, &asn1_ctx, tree, hf_p1_ChangeCredentialsArgument_PDU);
7522
0
  return offset;
7523
0
}
7524
0
static int dissect_RES_change_credentials_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7525
0
  unsigned offset = 0;
7526
0
  asn1_ctx_t asn1_ctx;
7527
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7528
0
  offset = dissect_p1_RES_change_credentials(false, tvb, offset, &asn1_ctx, tree, hf_p1_RES_change_credentials_PDU);
7529
0
  return offset;
7530
0
}
7531
0
static int dissect_PAR_register_rejected_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7532
0
  unsigned offset = 0;
7533
0
  asn1_ctx_t asn1_ctx;
7534
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7535
0
  offset = dissect_p1_PAR_register_rejected(false, tvb, offset, &asn1_ctx, tree, hf_p1_PAR_register_rejected_PDU);
7536
0
  return offset;
7537
0
}
7538
0
static int dissect_PAR_new_credentials_unacceptable_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7539
0
  unsigned offset = 0;
7540
0
  asn1_ctx_t asn1_ctx;
7541
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7542
0
  offset = dissect_p1_PAR_new_credentials_unacceptable(false, tvb, offset, &asn1_ctx, tree, hf_p1_PAR_new_credentials_unacceptable_PDU);
7543
0
  return offset;
7544
0
}
7545
0
static int dissect_PAR_old_credentials_incorrectly_specified_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7546
0
  unsigned offset = 0;
7547
0
  asn1_ctx_t asn1_ctx;
7548
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7549
0
  offset = dissect_p1_PAR_old_credentials_incorrectly_specified(false, tvb, offset, &asn1_ctx, tree, hf_p1_PAR_old_credentials_incorrectly_specified_PDU);
7550
0
  return offset;
7551
0
}
7552
0
static int dissect_MessageSubmissionEnvelope_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7553
0
  unsigned offset = 0;
7554
0
  asn1_ctx_t asn1_ctx;
7555
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7556
0
  offset = dissect_p1_MessageSubmissionEnvelope(false, tvb, offset, &asn1_ctx, tree, hf_p1_MessageSubmissionEnvelope_PDU);
7557
0
  return offset;
7558
0
}
7559
0
static int dissect_PerRecipientMessageSubmissionFields_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7560
0
  unsigned offset = 0;
7561
0
  asn1_ctx_t asn1_ctx;
7562
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7563
0
  offset = dissect_p1_PerRecipientMessageSubmissionFields(false, tvb, offset, &asn1_ctx, tree, hf_p1_PerRecipientMessageSubmissionFields_PDU);
7564
0
  return offset;
7565
0
}
7566
0
static int dissect_ProbeSubmissionEnvelope_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7567
0
  unsigned offset = 0;
7568
0
  asn1_ctx_t asn1_ctx;
7569
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7570
0
  offset = dissect_p1_ProbeSubmissionEnvelope(false, tvb, offset, &asn1_ctx, tree, hf_p1_ProbeSubmissionEnvelope_PDU);
7571
0
  return offset;
7572
0
}
7573
0
static int dissect_PerRecipientProbeSubmissionFields_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7574
0
  unsigned offset = 0;
7575
0
  asn1_ctx_t asn1_ctx;
7576
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7577
0
  offset = dissect_p1_PerRecipientProbeSubmissionFields(false, tvb, offset, &asn1_ctx, tree, hf_p1_PerRecipientProbeSubmissionFields_PDU);
7578
0
  return offset;
7579
0
}
7580
0
static int dissect_MessageDeliveryEnvelope_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7581
0
  unsigned offset = 0;
7582
0
  asn1_ctx_t asn1_ctx;
7583
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7584
0
  offset = dissect_p1_MessageDeliveryEnvelope(false, tvb, offset, &asn1_ctx, tree, hf_p1_MessageDeliveryEnvelope_PDU);
7585
0
  return offset;
7586
0
}
7587
0
static int dissect_ReportDeliveryEnvelope_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7588
0
  unsigned offset = 0;
7589
0
  asn1_ctx_t asn1_ctx;
7590
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7591
0
  offset = dissect_p1_ReportDeliveryEnvelope(false, tvb, offset, &asn1_ctx, tree, hf_p1_ReportDeliveryEnvelope_PDU);
7592
0
  return offset;
7593
0
}
7594
0
static int dissect_PerRecipientReportDeliveryFields_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7595
0
  unsigned offset = 0;
7596
0
  asn1_ctx_t asn1_ctx;
7597
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7598
0
  offset = dissect_p1_PerRecipientReportDeliveryFields(false, tvb, offset, &asn1_ctx, tree, hf_p1_PerRecipientReportDeliveryFields_PDU);
7599
0
  return offset;
7600
0
}
7601
0
static int dissect_ExtendedContentType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7602
0
  unsigned offset = 0;
7603
0
  asn1_ctx_t asn1_ctx;
7604
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7605
0
  offset = dissect_p1_ExtendedContentType(false, tvb, offset, &asn1_ctx, tree, hf_p1_ExtendedContentType_PDU);
7606
0
  return offset;
7607
0
}
7608
0
static int dissect_ContentIdentifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7609
0
  unsigned offset = 0;
7610
0
  asn1_ctx_t asn1_ctx;
7611
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7612
0
  offset = dissect_p1_ContentIdentifier(false, tvb, offset, &asn1_ctx, tree, hf_p1_ContentIdentifier_PDU);
7613
0
  return offset;
7614
0
}
7615
0
static int dissect_PerMessageIndicators_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7616
0
  unsigned offset = 0;
7617
0
  asn1_ctx_t asn1_ctx;
7618
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7619
0
  offset = dissect_p1_PerMessageIndicators(false, tvb, offset, &asn1_ctx, tree, hf_p1_PerMessageIndicators_PDU);
7620
0
  return offset;
7621
0
}
7622
0
static int dissect_OriginatorReportRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7623
0
  unsigned offset = 0;
7624
0
  asn1_ctx_t asn1_ctx;
7625
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7626
0
  offset = dissect_p1_OriginatorReportRequest(false, tvb, offset, &asn1_ctx, tree, hf_p1_OriginatorReportRequest_PDU);
7627
0
  return offset;
7628
0
}
7629
0
static int dissect_DeferredDeliveryTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7630
0
  unsigned offset = 0;
7631
0
  asn1_ctx_t asn1_ctx;
7632
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7633
0
  offset = dissect_p1_DeferredDeliveryTime(false, tvb, offset, &asn1_ctx, tree, hf_p1_DeferredDeliveryTime_PDU);
7634
0
  return offset;
7635
0
}
7636
0
static int dissect_Priority_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7637
0
  unsigned offset = 0;
7638
0
  asn1_ctx_t asn1_ctx;
7639
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7640
0
  offset = dissect_p1_Priority(false, tvb, offset, &asn1_ctx, tree, hf_p1_Priority_PDU);
7641
0
  return offset;
7642
0
}
7643
0
static int dissect_ContentLength_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7644
0
  unsigned offset = 0;
7645
0
  asn1_ctx_t asn1_ctx;
7646
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7647
0
  offset = dissect_p1_ContentLength(false, tvb, offset, &asn1_ctx, tree, hf_p1_ContentLength_PDU);
7648
0
  return offset;
7649
0
}
7650
0
static int dissect_MessageDeliveryTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7651
0
  unsigned offset = 0;
7652
0
  asn1_ctx_t asn1_ctx;
7653
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7654
0
  offset = dissect_p1_MessageDeliveryTime(false, tvb, offset, &asn1_ctx, tree, hf_p1_MessageDeliveryTime_PDU);
7655
0
  return offset;
7656
0
}
7657
0
static int dissect_DeliveryFlags_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7658
0
  unsigned offset = 0;
7659
0
  asn1_ctx_t asn1_ctx;
7660
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7661
0
  offset = dissect_p1_DeliveryFlags(false, tvb, offset, &asn1_ctx, tree, hf_p1_DeliveryFlags_PDU);
7662
0
  return offset;
7663
0
}
7664
0
static int dissect_SubjectSubmissionIdentifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7665
0
  unsigned offset = 0;
7666
0
  asn1_ctx_t asn1_ctx;
7667
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7668
0
  offset = dissect_p1_SubjectSubmissionIdentifier(false, tvb, offset, &asn1_ctx, tree, hf_p1_SubjectSubmissionIdentifier_PDU);
7669
0
  return offset;
7670
0
}
7671
0
static int dissect_RecipientReassignmentProhibited_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7672
0
  unsigned offset = 0;
7673
0
  asn1_ctx_t asn1_ctx;
7674
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7675
0
  offset = dissect_p1_RecipientReassignmentProhibited(false, tvb, offset, &asn1_ctx, tree, hf_p1_RecipientReassignmentProhibited_PDU);
7676
0
  return offset;
7677
0
}
7678
0
static int dissect_OriginatorRequestedAlternateRecipient_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7679
0
  unsigned offset = 0;
7680
0
  asn1_ctx_t asn1_ctx;
7681
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7682
0
  offset = dissect_p1_OriginatorRequestedAlternateRecipient(false, tvb, offset, &asn1_ctx, tree, hf_p1_OriginatorRequestedAlternateRecipient_PDU);
7683
0
  return offset;
7684
0
}
7685
0
static int dissect_DLExpansionProhibited_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7686
0
  unsigned offset = 0;
7687
0
  asn1_ctx_t asn1_ctx;
7688
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7689
0
  offset = dissect_p1_DLExpansionProhibited(false, tvb, offset, &asn1_ctx, tree, hf_p1_DLExpansionProhibited_PDU);
7690
0
  return offset;
7691
0
}
7692
0
static int dissect_ConversionWithLossProhibited_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7693
0
  unsigned offset = 0;
7694
0
  asn1_ctx_t asn1_ctx;
7695
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7696
0
  offset = dissect_p1_ConversionWithLossProhibited(false, tvb, offset, &asn1_ctx, tree, hf_p1_ConversionWithLossProhibited_PDU);
7697
0
  return offset;
7698
0
}
7699
0
static int dissect_LatestDeliveryTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7700
0
  unsigned offset = 0;
7701
0
  asn1_ctx_t asn1_ctx;
7702
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7703
0
  offset = dissect_p1_LatestDeliveryTime(false, tvb, offset, &asn1_ctx, tree, hf_p1_LatestDeliveryTime_PDU);
7704
0
  return offset;
7705
0
}
7706
0
static int dissect_RequestedDeliveryMethod_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7707
0
  unsigned offset = 0;
7708
0
  asn1_ctx_t asn1_ctx;
7709
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7710
0
  offset = dissect_p1_RequestedDeliveryMethod(false, tvb, offset, &asn1_ctx, tree, hf_p1_RequestedDeliveryMethod_PDU);
7711
0
  return offset;
7712
0
}
7713
0
static int dissect_PhysicalForwardingProhibited_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7714
0
  unsigned offset = 0;
7715
0
  asn1_ctx_t asn1_ctx;
7716
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7717
0
  offset = dissect_p1_PhysicalForwardingProhibited(false, tvb, offset, &asn1_ctx, tree, hf_p1_PhysicalForwardingProhibited_PDU);
7718
0
  return offset;
7719
0
}
7720
0
static int dissect_PhysicalForwardingAddressRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7721
0
  unsigned offset = 0;
7722
0
  asn1_ctx_t asn1_ctx;
7723
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7724
0
  offset = dissect_p1_PhysicalForwardingAddressRequest(false, tvb, offset, &asn1_ctx, tree, hf_p1_PhysicalForwardingAddressRequest_PDU);
7725
0
  return offset;
7726
0
}
7727
0
static int dissect_PhysicalDeliveryModes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7728
0
  unsigned offset = 0;
7729
0
  asn1_ctx_t asn1_ctx;
7730
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7731
0
  offset = dissect_p1_PhysicalDeliveryModes(false, tvb, offset, &asn1_ctx, tree, hf_p1_PhysicalDeliveryModes_PDU);
7732
0
  return offset;
7733
0
}
7734
0
static int dissect_RegisteredMailType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7735
0
  unsigned offset = 0;
7736
0
  asn1_ctx_t asn1_ctx;
7737
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7738
0
  offset = dissect_p1_RegisteredMailType(false, tvb, offset, &asn1_ctx, tree, hf_p1_RegisteredMailType_PDU);
7739
0
  return offset;
7740
0
}
7741
0
static int dissect_RecipientNumberForAdvice_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7742
0
  unsigned offset = 0;
7743
0
  asn1_ctx_t asn1_ctx;
7744
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7745
0
  offset = dissect_p1_RecipientNumberForAdvice(false, tvb, offset, &asn1_ctx, tree, hf_p1_RecipientNumberForAdvice_PDU);
7746
0
  return offset;
7747
0
}
7748
0
static int dissect_PhysicalRenditionAttributes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7749
0
  unsigned offset = 0;
7750
0
  asn1_ctx_t asn1_ctx;
7751
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7752
0
  offset = dissect_p1_PhysicalRenditionAttributes(false, tvb, offset, &asn1_ctx, tree, hf_p1_PhysicalRenditionAttributes_PDU);
7753
0
  return offset;
7754
0
}
7755
0
static int dissect_OriginatorReturnAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7756
0
  unsigned offset = 0;
7757
0
  asn1_ctx_t asn1_ctx;
7758
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7759
0
  offset = dissect_p1_OriginatorReturnAddress(false, tvb, offset, &asn1_ctx, tree, hf_p1_OriginatorReturnAddress_PDU);
7760
0
  return offset;
7761
0
}
7762
0
static int dissect_PhysicalDeliveryReportRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7763
0
  unsigned offset = 0;
7764
0
  asn1_ctx_t asn1_ctx;
7765
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7766
0
  offset = dissect_p1_PhysicalDeliveryReportRequest(false, tvb, offset, &asn1_ctx, tree, hf_p1_PhysicalDeliveryReportRequest_PDU);
7767
0
  return offset;
7768
0
}
7769
0
static int dissect_OriginatorCertificate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7770
0
  unsigned offset = 0;
7771
0
  asn1_ctx_t asn1_ctx;
7772
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7773
0
  offset = dissect_p1_OriginatorCertificate(false, tvb, offset, &asn1_ctx, tree, hf_p1_OriginatorCertificate_PDU);
7774
0
  return offset;
7775
0
}
7776
0
static int dissect_MessageToken_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7777
0
  unsigned offset = 0;
7778
0
  asn1_ctx_t asn1_ctx;
7779
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7780
0
  offset = dissect_p1_MessageToken(false, tvb, offset, &asn1_ctx, tree, hf_p1_MessageToken_PDU);
7781
0
  return offset;
7782
0
}
7783
0
static int dissect_ContentConfidentialityAlgorithmIdentifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7784
0
  unsigned offset = 0;
7785
0
  asn1_ctx_t asn1_ctx;
7786
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7787
0
  offset = dissect_p1_ContentConfidentialityAlgorithmIdentifier(false, tvb, offset, &asn1_ctx, tree, hf_p1_ContentConfidentialityAlgorithmIdentifier_PDU);
7788
0
  return offset;
7789
0
}
7790
0
static int dissect_ContentIntegrityCheck_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7791
0
  unsigned offset = 0;
7792
0
  asn1_ctx_t asn1_ctx;
7793
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7794
0
  offset = dissect_p1_ContentIntegrityCheck(false, tvb, offset, &asn1_ctx, tree, hf_p1_ContentIntegrityCheck_PDU);
7795
0
  return offset;
7796
0
}
7797
0
static int dissect_MessageOriginAuthenticationCheck_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7798
0
  unsigned offset = 0;
7799
0
  asn1_ctx_t asn1_ctx;
7800
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7801
0
  offset = dissect_p1_MessageOriginAuthenticationCheck(false, tvb, offset, &asn1_ctx, tree, hf_p1_MessageOriginAuthenticationCheck_PDU);
7802
0
  return offset;
7803
0
}
7804
0
int dissect_p1_MessageSecurityLabel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7805
0
  unsigned offset = 0;
7806
0
  asn1_ctx_t asn1_ctx;
7807
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7808
0
  offset = dissect_p1_MessageSecurityLabel(false, tvb, offset, &asn1_ctx, tree, hf_p1_p1_MessageSecurityLabel_PDU);
7809
0
  return offset;
7810
0
}
7811
0
static int dissect_ProofOfSubmissionRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7812
0
  unsigned offset = 0;
7813
0
  asn1_ctx_t asn1_ctx;
7814
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7815
0
  offset = dissect_p1_ProofOfSubmissionRequest(false, tvb, offset, &asn1_ctx, tree, hf_p1_ProofOfSubmissionRequest_PDU);
7816
0
  return offset;
7817
0
}
7818
0
static int dissect_ProofOfDeliveryRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7819
0
  unsigned offset = 0;
7820
0
  asn1_ctx_t asn1_ctx;
7821
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7822
0
  offset = dissect_p1_ProofOfDeliveryRequest(false, tvb, offset, &asn1_ctx, tree, hf_p1_ProofOfDeliveryRequest_PDU);
7823
0
  return offset;
7824
0
}
7825
0
static int dissect_ContentCorrelator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7826
0
  unsigned offset = 0;
7827
0
  asn1_ctx_t asn1_ctx;
7828
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7829
0
  offset = dissect_p1_ContentCorrelator(false, tvb, offset, &asn1_ctx, tree, hf_p1_ContentCorrelator_PDU);
7830
0
  return offset;
7831
0
}
7832
0
static int dissect_ProbeOriginAuthenticationCheck_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7833
0
  unsigned offset = 0;
7834
0
  asn1_ctx_t asn1_ctx;
7835
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7836
0
  offset = dissect_p1_ProbeOriginAuthenticationCheck(false, tvb, offset, &asn1_ctx, tree, hf_p1_ProbeOriginAuthenticationCheck_PDU);
7837
0
  return offset;
7838
0
}
7839
0
static int dissect_RedirectionHistory_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7840
0
  unsigned offset = 0;
7841
0
  asn1_ctx_t asn1_ctx;
7842
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7843
0
  offset = dissect_p1_RedirectionHistory(false, tvb, offset, &asn1_ctx, tree, hf_p1_RedirectionHistory_PDU);
7844
0
  return offset;
7845
0
}
7846
0
static int dissect_Redirection_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7847
0
  unsigned offset = 0;
7848
0
  asn1_ctx_t asn1_ctx;
7849
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7850
0
  offset = dissect_p1_Redirection(false, tvb, offset, &asn1_ctx, tree, hf_p1_Redirection_PDU);
7851
0
  return offset;
7852
0
}
7853
0
static int dissect_DLExpansionHistory_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7854
0
  unsigned offset = 0;
7855
0
  asn1_ctx_t asn1_ctx;
7856
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7857
0
  offset = dissect_p1_DLExpansionHistory(false, tvb, offset, &asn1_ctx, tree, hf_p1_DLExpansionHistory_PDU);
7858
0
  return offset;
7859
0
}
7860
0
static int dissect_DLExpansion_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7861
0
  unsigned offset = 0;
7862
0
  asn1_ctx_t asn1_ctx;
7863
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7864
0
  offset = dissect_p1_DLExpansion(false, tvb, offset, &asn1_ctx, tree, hf_p1_DLExpansion_PDU);
7865
0
  return offset;
7866
0
}
7867
0
static int dissect_PhysicalForwardingAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7868
0
  unsigned offset = 0;
7869
0
  asn1_ctx_t asn1_ctx;
7870
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7871
0
  offset = dissect_p1_PhysicalForwardingAddress(false, tvb, offset, &asn1_ctx, tree, hf_p1_PhysicalForwardingAddress_PDU);
7872
0
  return offset;
7873
0
}
7874
0
static int dissect_OriginatorAndDLExpansionHistory_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7875
0
  unsigned offset = 0;
7876
0
  asn1_ctx_t asn1_ctx;
7877
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7878
0
  offset = dissect_p1_OriginatorAndDLExpansionHistory(false, tvb, offset, &asn1_ctx, tree, hf_p1_OriginatorAndDLExpansionHistory_PDU);
7879
0
  return offset;
7880
0
}
7881
0
static int dissect_ReportingDLName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7882
0
  unsigned offset = 0;
7883
0
  asn1_ctx_t asn1_ctx;
7884
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7885
0
  offset = dissect_p1_ReportingDLName(false, tvb, offset, &asn1_ctx, tree, hf_p1_ReportingDLName_PDU);
7886
0
  return offset;
7887
0
}
7888
0
static int dissect_ReportingMTACertificate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7889
0
  unsigned offset = 0;
7890
0
  asn1_ctx_t asn1_ctx;
7891
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7892
0
  offset = dissect_p1_ReportingMTACertificate(false, tvb, offset, &asn1_ctx, tree, hf_p1_ReportingMTACertificate_PDU);
7893
0
  return offset;
7894
0
}
7895
0
static int dissect_ReportOriginAuthenticationCheck_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7896
0
  unsigned offset = 0;
7897
0
  asn1_ctx_t asn1_ctx;
7898
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7899
0
  offset = dissect_p1_ReportOriginAuthenticationCheck(false, tvb, offset, &asn1_ctx, tree, hf_p1_ReportOriginAuthenticationCheck_PDU);
7900
0
  return offset;
7901
0
}
7902
0
static int dissect_OriginatingMTACertificate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7903
0
  unsigned offset = 0;
7904
0
  asn1_ctx_t asn1_ctx;
7905
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7906
0
  offset = dissect_p1_OriginatingMTACertificate(false, tvb, offset, &asn1_ctx, tree, hf_p1_OriginatingMTACertificate_PDU);
7907
0
  return offset;
7908
0
}
7909
0
static int dissect_ProofOfSubmission_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7910
0
  unsigned offset = 0;
7911
0
  asn1_ctx_t asn1_ctx;
7912
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7913
0
  offset = dissect_p1_ProofOfSubmission(false, tvb, offset, &asn1_ctx, tree, hf_p1_ProofOfSubmission_PDU);
7914
0
  return offset;
7915
0
}
7916
0
static int dissect_ReportingMTAName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7917
0
  unsigned offset = 0;
7918
0
  asn1_ctx_t asn1_ctx;
7919
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7920
0
  offset = dissect_p1_ReportingMTAName(false, tvb, offset, &asn1_ctx, tree, hf_p1_ReportingMTAName_PDU);
7921
0
  return offset;
7922
0
}
7923
0
static int dissect_ExtendedCertificates_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7924
0
  unsigned offset = 0;
7925
0
  asn1_ctx_t asn1_ctx;
7926
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7927
0
  offset = dissect_p1_ExtendedCertificates(false, tvb, offset, &asn1_ctx, tree, hf_p1_ExtendedCertificates_PDU);
7928
0
  return offset;
7929
0
}
7930
0
static int dissect_DLExemptedRecipients_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7931
0
  unsigned offset = 0;
7932
0
  asn1_ctx_t asn1_ctx;
7933
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7934
0
  offset = dissect_p1_DLExemptedRecipients(false, tvb, offset, &asn1_ctx, tree, hf_p1_DLExemptedRecipients_PDU);
7935
0
  return offset;
7936
0
}
7937
0
static int dissect_CertificateSelectors_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7938
0
  unsigned offset = 0;
7939
0
  asn1_ctx_t asn1_ctx;
7940
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7941
0
  offset = dissect_p1_CertificateSelectors(false, tvb, offset, &asn1_ctx, tree, hf_p1_CertificateSelectors_PDU);
7942
0
  return offset;
7943
0
}
7944
0
static int dissect_Content_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7945
0
  unsigned offset = 0;
7946
0
  asn1_ctx_t asn1_ctx;
7947
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7948
0
  offset = dissect_p1_Content(false, tvb, offset, &asn1_ctx, tree, hf_p1_Content_PDU);
7949
0
  return offset;
7950
0
}
7951
0
static int dissect_MTSIdentifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7952
0
  unsigned offset = 0;
7953
0
  asn1_ctx_t asn1_ctx;
7954
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7955
0
  offset = dissect_p1_MTSIdentifier(false, tvb, offset, &asn1_ctx, tree, hf_p1_MTSIdentifier_PDU);
7956
0
  return offset;
7957
0
}
7958
0
static int dissect_ORName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7959
0
  unsigned offset = 0;
7960
0
  asn1_ctx_t asn1_ctx;
7961
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7962
0
  offset = dissect_p1_ORName(false, tvb, offset, &asn1_ctx, tree, hf_p1_ORName_PDU);
7963
0
  return offset;
7964
0
}
7965
0
static int dissect_ORAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7966
0
  unsigned offset = 0;
7967
0
  asn1_ctx_t asn1_ctx;
7968
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7969
0
  offset = dissect_p1_ORAddress(false, tvb, offset, &asn1_ctx, tree, hf_p1_ORAddress_PDU);
7970
0
  return offset;
7971
0
}
7972
0
static int dissect_CommonName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7973
0
  unsigned offset = 0;
7974
0
  asn1_ctx_t asn1_ctx;
7975
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7976
0
  offset = dissect_p1_CommonName(false, tvb, offset, &asn1_ctx, tree, hf_p1_CommonName_PDU);
7977
0
  return offset;
7978
0
}
7979
0
static int dissect_TeletexCommonName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7980
0
  unsigned offset = 0;
7981
0
  asn1_ctx_t asn1_ctx;
7982
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7983
0
  offset = dissect_p1_TeletexCommonName(false, tvb, offset, &asn1_ctx, tree, hf_p1_TeletexCommonName_PDU);
7984
0
  return offset;
7985
0
}
7986
0
static int dissect_UniversalCommonName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7987
0
  unsigned offset = 0;
7988
0
  asn1_ctx_t asn1_ctx;
7989
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7990
0
  offset = dissect_p1_UniversalCommonName(false, tvb, offset, &asn1_ctx, tree, hf_p1_UniversalCommonName_PDU);
7991
0
  return offset;
7992
0
}
7993
0
static int dissect_TeletexOrganizationName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7994
0
  unsigned offset = 0;
7995
0
  asn1_ctx_t asn1_ctx;
7996
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
7997
0
  offset = dissect_p1_TeletexOrganizationName(false, tvb, offset, &asn1_ctx, tree, hf_p1_TeletexOrganizationName_PDU);
7998
0
  return offset;
7999
0
}
8000
0
static int dissect_UniversalOrganizationName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8001
0
  unsigned offset = 0;
8002
0
  asn1_ctx_t asn1_ctx;
8003
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8004
0
  offset = dissect_p1_UniversalOrganizationName(false, tvb, offset, &asn1_ctx, tree, hf_p1_UniversalOrganizationName_PDU);
8005
0
  return offset;
8006
0
}
8007
0
static int dissect_TeletexPersonalName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8008
0
  unsigned offset = 0;
8009
0
  asn1_ctx_t asn1_ctx;
8010
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8011
0
  offset = dissect_p1_TeletexPersonalName(false, tvb, offset, &asn1_ctx, tree, hf_p1_TeletexPersonalName_PDU);
8012
0
  return offset;
8013
0
}
8014
0
static int dissect_UniversalPersonalName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8015
0
  unsigned offset = 0;
8016
0
  asn1_ctx_t asn1_ctx;
8017
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8018
0
  offset = dissect_p1_UniversalPersonalName(false, tvb, offset, &asn1_ctx, tree, hf_p1_UniversalPersonalName_PDU);
8019
0
  return offset;
8020
0
}
8021
0
static int dissect_TeletexOrganizationalUnitNames_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8022
0
  unsigned offset = 0;
8023
0
  asn1_ctx_t asn1_ctx;
8024
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8025
0
  offset = dissect_p1_TeletexOrganizationalUnitNames(false, tvb, offset, &asn1_ctx, tree, hf_p1_TeletexOrganizationalUnitNames_PDU);
8026
0
  return offset;
8027
0
}
8028
0
static int dissect_UniversalOrganizationalUnitNames_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8029
0
  unsigned offset = 0;
8030
0
  asn1_ctx_t asn1_ctx;
8031
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8032
0
  offset = dissect_p1_UniversalOrganizationalUnitNames(false, tvb, offset, &asn1_ctx, tree, hf_p1_UniversalOrganizationalUnitNames_PDU);
8033
0
  return offset;
8034
0
}
8035
0
static int dissect_PDSName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8036
0
  unsigned offset = 0;
8037
0
  asn1_ctx_t asn1_ctx;
8038
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8039
0
  offset = dissect_p1_PDSName(false, tvb, offset, &asn1_ctx, tree, hf_p1_PDSName_PDU);
8040
0
  return offset;
8041
0
}
8042
0
static int dissect_PhysicalDeliveryCountryName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8043
0
  unsigned offset = 0;
8044
0
  asn1_ctx_t asn1_ctx;
8045
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8046
0
  offset = dissect_p1_PhysicalDeliveryCountryName(false, tvb, offset, &asn1_ctx, tree, hf_p1_PhysicalDeliveryCountryName_PDU);
8047
0
  return offset;
8048
0
}
8049
0
static int dissect_PostalCode_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8050
0
  unsigned offset = 0;
8051
0
  asn1_ctx_t asn1_ctx;
8052
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8053
0
  offset = dissect_p1_PostalCode(false, tvb, offset, &asn1_ctx, tree, hf_p1_PostalCode_PDU);
8054
0
  return offset;
8055
0
}
8056
0
static int dissect_PhysicalDeliveryOfficeName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8057
0
  unsigned offset = 0;
8058
0
  asn1_ctx_t asn1_ctx;
8059
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8060
0
  offset = dissect_p1_PhysicalDeliveryOfficeName(false, tvb, offset, &asn1_ctx, tree, hf_p1_PhysicalDeliveryOfficeName_PDU);
8061
0
  return offset;
8062
0
}
8063
0
static int dissect_UniversalPhysicalDeliveryOfficeName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8064
0
  unsigned offset = 0;
8065
0
  asn1_ctx_t asn1_ctx;
8066
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8067
0
  offset = dissect_p1_UniversalPhysicalDeliveryOfficeName(false, tvb, offset, &asn1_ctx, tree, hf_p1_UniversalPhysicalDeliveryOfficeName_PDU);
8068
0
  return offset;
8069
0
}
8070
0
static int dissect_PhysicalDeliveryOfficeNumber_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8071
0
  unsigned offset = 0;
8072
0
  asn1_ctx_t asn1_ctx;
8073
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8074
0
  offset = dissect_p1_PhysicalDeliveryOfficeNumber(false, tvb, offset, &asn1_ctx, tree, hf_p1_PhysicalDeliveryOfficeNumber_PDU);
8075
0
  return offset;
8076
0
}
8077
0
static int dissect_UniversalPhysicalDeliveryOfficeNumber_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8078
0
  unsigned offset = 0;
8079
0
  asn1_ctx_t asn1_ctx;
8080
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8081
0
  offset = dissect_p1_UniversalPhysicalDeliveryOfficeNumber(false, tvb, offset, &asn1_ctx, tree, hf_p1_UniversalPhysicalDeliveryOfficeNumber_PDU);
8082
0
  return offset;
8083
0
}
8084
0
static int dissect_ExtensionORAddressComponents_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8085
0
  unsigned offset = 0;
8086
0
  asn1_ctx_t asn1_ctx;
8087
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8088
0
  offset = dissect_p1_ExtensionORAddressComponents(false, tvb, offset, &asn1_ctx, tree, hf_p1_ExtensionORAddressComponents_PDU);
8089
0
  return offset;
8090
0
}
8091
0
static int dissect_UniversalExtensionORAddressComponents_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8092
0
  unsigned offset = 0;
8093
0
  asn1_ctx_t asn1_ctx;
8094
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8095
0
  offset = dissect_p1_UniversalExtensionORAddressComponents(false, tvb, offset, &asn1_ctx, tree, hf_p1_UniversalExtensionORAddressComponents_PDU);
8096
0
  return offset;
8097
0
}
8098
0
static int dissect_PhysicalDeliveryPersonalName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8099
0
  unsigned offset = 0;
8100
0
  asn1_ctx_t asn1_ctx;
8101
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8102
0
  offset = dissect_p1_PhysicalDeliveryPersonalName(false, tvb, offset, &asn1_ctx, tree, hf_p1_PhysicalDeliveryPersonalName_PDU);
8103
0
  return offset;
8104
0
}
8105
0
static int dissect_UniversalPhysicalDeliveryPersonalName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8106
0
  unsigned offset = 0;
8107
0
  asn1_ctx_t asn1_ctx;
8108
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8109
0
  offset = dissect_p1_UniversalPhysicalDeliveryPersonalName(false, tvb, offset, &asn1_ctx, tree, hf_p1_UniversalPhysicalDeliveryPersonalName_PDU);
8110
0
  return offset;
8111
0
}
8112
0
static int dissect_PhysicalDeliveryOrganizationName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8113
0
  unsigned offset = 0;
8114
0
  asn1_ctx_t asn1_ctx;
8115
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8116
0
  offset = dissect_p1_PhysicalDeliveryOrganizationName(false, tvb, offset, &asn1_ctx, tree, hf_p1_PhysicalDeliveryOrganizationName_PDU);
8117
0
  return offset;
8118
0
}
8119
0
static int dissect_UniversalPhysicalDeliveryOrganizationName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8120
0
  unsigned offset = 0;
8121
0
  asn1_ctx_t asn1_ctx;
8122
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8123
0
  offset = dissect_p1_UniversalPhysicalDeliveryOrganizationName(false, tvb, offset, &asn1_ctx, tree, hf_p1_UniversalPhysicalDeliveryOrganizationName_PDU);
8124
0
  return offset;
8125
0
}
8126
0
static int dissect_ExtensionPhysicalDeliveryAddressComponents_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8127
0
  unsigned offset = 0;
8128
0
  asn1_ctx_t asn1_ctx;
8129
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8130
0
  offset = dissect_p1_ExtensionPhysicalDeliveryAddressComponents(false, tvb, offset, &asn1_ctx, tree, hf_p1_ExtensionPhysicalDeliveryAddressComponents_PDU);
8131
0
  return offset;
8132
0
}
8133
0
static int dissect_UniversalExtensionPhysicalDeliveryAddressComponents_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8134
0
  unsigned offset = 0;
8135
0
  asn1_ctx_t asn1_ctx;
8136
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8137
0
  offset = dissect_p1_UniversalExtensionPhysicalDeliveryAddressComponents(false, tvb, offset, &asn1_ctx, tree, hf_p1_UniversalExtensionPhysicalDeliveryAddressComponents_PDU);
8138
0
  return offset;
8139
0
}
8140
0
static int dissect_UnformattedPostalAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8141
0
  unsigned offset = 0;
8142
0
  asn1_ctx_t asn1_ctx;
8143
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8144
0
  offset = dissect_p1_UnformattedPostalAddress(false, tvb, offset, &asn1_ctx, tree, hf_p1_UnformattedPostalAddress_PDU);
8145
0
  return offset;
8146
0
}
8147
0
static int dissect_UniversalUnformattedPostalAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8148
0
  unsigned offset = 0;
8149
0
  asn1_ctx_t asn1_ctx;
8150
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8151
0
  offset = dissect_p1_UniversalUnformattedPostalAddress(false, tvb, offset, &asn1_ctx, tree, hf_p1_UniversalUnformattedPostalAddress_PDU);
8152
0
  return offset;
8153
0
}
8154
0
static int dissect_StreetAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8155
0
  unsigned offset = 0;
8156
0
  asn1_ctx_t asn1_ctx;
8157
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8158
0
  offset = dissect_p1_StreetAddress(false, tvb, offset, &asn1_ctx, tree, hf_p1_StreetAddress_PDU);
8159
0
  return offset;
8160
0
}
8161
0
static int dissect_UniversalStreetAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8162
0
  unsigned offset = 0;
8163
0
  asn1_ctx_t asn1_ctx;
8164
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8165
0
  offset = dissect_p1_UniversalStreetAddress(false, tvb, offset, &asn1_ctx, tree, hf_p1_UniversalStreetAddress_PDU);
8166
0
  return offset;
8167
0
}
8168
0
static int dissect_PostOfficeBoxAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8169
0
  unsigned offset = 0;
8170
0
  asn1_ctx_t asn1_ctx;
8171
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8172
0
  offset = dissect_p1_PostOfficeBoxAddress(false, tvb, offset, &asn1_ctx, tree, hf_p1_PostOfficeBoxAddress_PDU);
8173
0
  return offset;
8174
0
}
8175
0
static int dissect_UniversalPostOfficeBoxAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8176
0
  unsigned offset = 0;
8177
0
  asn1_ctx_t asn1_ctx;
8178
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8179
0
  offset = dissect_p1_UniversalPostOfficeBoxAddress(false, tvb, offset, &asn1_ctx, tree, hf_p1_UniversalPostOfficeBoxAddress_PDU);
8180
0
  return offset;
8181
0
}
8182
0
static int dissect_PosteRestanteAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8183
0
  unsigned offset = 0;
8184
0
  asn1_ctx_t asn1_ctx;
8185
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8186
0
  offset = dissect_p1_PosteRestanteAddress(false, tvb, offset, &asn1_ctx, tree, hf_p1_PosteRestanteAddress_PDU);
8187
0
  return offset;
8188
0
}
8189
0
static int dissect_UniversalPosteRestanteAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8190
0
  unsigned offset = 0;
8191
0
  asn1_ctx_t asn1_ctx;
8192
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8193
0
  offset = dissect_p1_UniversalPosteRestanteAddress(false, tvb, offset, &asn1_ctx, tree, hf_p1_UniversalPosteRestanteAddress_PDU);
8194
0
  return offset;
8195
0
}
8196
0
static int dissect_UniquePostalName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8197
0
  unsigned offset = 0;
8198
0
  asn1_ctx_t asn1_ctx;
8199
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8200
0
  offset = dissect_p1_UniquePostalName(false, tvb, offset, &asn1_ctx, tree, hf_p1_UniquePostalName_PDU);
8201
0
  return offset;
8202
0
}
8203
0
static int dissect_UniversalUniquePostalName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8204
0
  unsigned offset = 0;
8205
0
  asn1_ctx_t asn1_ctx;
8206
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8207
0
  offset = dissect_p1_UniversalUniquePostalName(false, tvb, offset, &asn1_ctx, tree, hf_p1_UniversalUniquePostalName_PDU);
8208
0
  return offset;
8209
0
}
8210
0
static int dissect_LocalPostalAttributes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8211
0
  unsigned offset = 0;
8212
0
  asn1_ctx_t asn1_ctx;
8213
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8214
0
  offset = dissect_p1_LocalPostalAttributes(false, tvb, offset, &asn1_ctx, tree, hf_p1_LocalPostalAttributes_PDU);
8215
0
  return offset;
8216
0
}
8217
0
static int dissect_UniversalLocalPostalAttributes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8218
0
  unsigned offset = 0;
8219
0
  asn1_ctx_t asn1_ctx;
8220
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8221
0
  offset = dissect_p1_UniversalLocalPostalAttributes(false, tvb, offset, &asn1_ctx, tree, hf_p1_UniversalLocalPostalAttributes_PDU);
8222
0
  return offset;
8223
0
}
8224
0
static int dissect_ExtendedNetworkAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8225
0
  unsigned offset = 0;
8226
0
  asn1_ctx_t asn1_ctx;
8227
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8228
0
  offset = dissect_p1_ExtendedNetworkAddress(false, tvb, offset, &asn1_ctx, tree, hf_p1_ExtendedNetworkAddress_PDU);
8229
0
  return offset;
8230
0
}
8231
0
static int dissect_TerminalType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8232
0
  unsigned offset = 0;
8233
0
  asn1_ctx_t asn1_ctx;
8234
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8235
0
  offset = dissect_p1_TerminalType(false, tvb, offset, &asn1_ctx, tree, hf_p1_TerminalType_PDU);
8236
0
  return offset;
8237
0
}
8238
0
static int dissect_TeletexDomainDefinedAttributes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8239
0
  unsigned offset = 0;
8240
0
  asn1_ctx_t asn1_ctx;
8241
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8242
0
  offset = dissect_p1_TeletexDomainDefinedAttributes(false, tvb, offset, &asn1_ctx, tree, hf_p1_TeletexDomainDefinedAttributes_PDU);
8243
0
  return offset;
8244
0
}
8245
0
static int dissect_UniversalDomainDefinedAttributes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8246
0
  unsigned offset = 0;
8247
0
  asn1_ctx_t asn1_ctx;
8248
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8249
0
  offset = dissect_p1_UniversalDomainDefinedAttributes(false, tvb, offset, &asn1_ctx, tree, hf_p1_UniversalDomainDefinedAttributes_PDU);
8250
0
  return offset;
8251
0
}
8252
0
static int dissect_ExtendedEncodedInformationType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8253
0
  unsigned offset = 0;
8254
0
  asn1_ctx_t asn1_ctx;
8255
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8256
0
  offset = dissect_p1_ExtendedEncodedInformationType(false, tvb, offset, &asn1_ctx, tree, hf_p1_ExtendedEncodedInformationType_PDU);
8257
0
  return offset;
8258
0
}
8259
0
static int dissect_MTANameAndOptionalGDI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8260
0
  unsigned offset = 0;
8261
0
  asn1_ctx_t asn1_ctx;
8262
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8263
0
  offset = dissect_p1_MTANameAndOptionalGDI(false, tvb, offset, &asn1_ctx, tree, hf_p1_MTANameAndOptionalGDI_PDU);
8264
0
  return offset;
8265
0
}
8266
0
static int dissect_AsymmetricToken_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8267
0
  unsigned offset = 0;
8268
0
  asn1_ctx_t asn1_ctx;
8269
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8270
0
  offset = dissect_p1_AsymmetricToken(false, tvb, offset, &asn1_ctx, tree, hf_p1_AsymmetricToken_PDU);
8271
0
  return offset;
8272
0
}
8273
0
static int dissect_BindTokenSignedData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8274
0
  unsigned offset = 0;
8275
0
  asn1_ctx_t asn1_ctx;
8276
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8277
0
  offset = dissect_p1_BindTokenSignedData(false, tvb, offset, &asn1_ctx, tree, hf_p1_BindTokenSignedData_PDU);
8278
0
  return offset;
8279
0
}
8280
0
static int dissect_MessageTokenSignedData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8281
0
  unsigned offset = 0;
8282
0
  asn1_ctx_t asn1_ctx;
8283
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8284
0
  offset = dissect_p1_MessageTokenSignedData(false, tvb, offset, &asn1_ctx, tree, hf_p1_MessageTokenSignedData_PDU);
8285
0
  return offset;
8286
0
}
8287
0
static int dissect_MessageTokenEncryptedData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8288
0
  unsigned offset = 0;
8289
0
  asn1_ctx_t asn1_ctx;
8290
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8291
0
  offset = dissect_p1_MessageTokenEncryptedData(false, tvb, offset, &asn1_ctx, tree, hf_p1_MessageTokenEncryptedData_PDU);
8292
0
  return offset;
8293
0
}
8294
0
static int dissect_BindTokenEncryptedData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8295
0
  unsigned offset = 0;
8296
0
  asn1_ctx_t asn1_ctx;
8297
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8298
0
  offset = dissect_p1_BindTokenEncryptedData(false, tvb, offset, &asn1_ctx, tree, hf_p1_BindTokenEncryptedData_PDU);
8299
0
  return offset;
8300
0
}
8301
0
static int dissect_SecurityClassification_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
8302
0
  unsigned offset = 0;
8303
0
  asn1_ctx_t asn1_ctx;
8304
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8305
0
  offset = dissect_p1_SecurityClassification(false, tvb, offset, &asn1_ctx, tree, hf_p1_SecurityClassification_PDU);
8306
0
  return offset;
8307
0
}
8308
8309
8310
8311
static const ros_opr_t p3_opr_tab[] = {
8312
  /* mts-bind */
8313
  { op_ros_bind              ,  dissect_MTSBindArgument_PDU,  dissect_MTSBindResult_PDU },
8314
  /* message-submission */
8315
  { op_message_submission    ,  dissect_MessageSubmissionArgument_PDU,  dissect_MessageSubmissionResult_PDU },
8316
  /* probe-submission */
8317
  { op_probe_submission      ,  dissect_ProbeSubmissionArgument_PDU,  dissect_ProbeSubmissionResult_PDU },
8318
  /* cancel-deferred-delivery */
8319
  { op_cancel_deferred_delivery,  dissect_CancelDeferredDeliveryArgument_PDU, dissect_CancelDeferredDeliveryResult_PDU },
8320
  /* submission-control */
8321
  { op_submission_control    ,  dissect_SubmissionControlArgument_PDU,  dissect_SubmissionControlResult_PDU },
8322
  /* message-delivery */
8323
  { op_message_delivery      ,  dissect_MessageDeliveryArgument_PDU,  dissect_MessageDeliveryResult_PDU },
8324
  /* report-delivery */
8325
  { op_report_delivery       ,  dissect_ReportDeliveryArgument_PDU, dissect_ReportDeliveryResult_PDU },
8326
  /* delivery-control */
8327
  { op_delivery_control      ,  dissect_DeliveryControlArgument_PDU,  dissect_DeliveryControlResult_PDU },
8328
  /* register */
8329
  { op_register              ,  dissect_RegisterArgument_PDU, dissect_RegisterResult_PDU },
8330
  /* change-credentials */
8331
  { op_change_credentials    ,  dissect_ChangeCredentialsArgument_PDU,  dissect_RES_change_credentials_PDU },
8332
  { 0,        (dissector_t)(-1),  (dissector_t)(-1) },
8333
};
8334
8335
8336
static const ros_err_t p3_err_tab[] = {
8337
  /* mts-bind-error*/
8338
  { err_ros_bind, dissect_PAR_mts_bind_error_PDU },
8339
  /* submission-control-violated*/
8340
  { err_submission_control_violated,  dissect_PAR_submission_control_violated_PDU },
8341
  /* element-of-service-not-subscribed*/
8342
  { err_element_of_service_not_subscribed,  dissect_PAR_element_of_service_not_subscribed_PDU },
8343
  /* deferred-delivery-cancellation-rejected*/
8344
  { err_deferred_delivery_cancellation_rejected,  dissect_PAR_deferred_delivery_cancellation_rejected_PDU },
8345
  /* originator-invalid*/
8346
  { err_originator_invalid, dissect_PAR_originator_invalid_PDU },
8347
  /* recipient-improperly-specified*/
8348
  { err_recipient_improperly_specified, dissect_ImproperlySpecifiedRecipients_PDU },
8349
  /* message-submission-identifier-invalid*/
8350
  { err_message_submission_identifier_invalid,  dissect_PAR_message_submission_identifier_invalid_PDU },
8351
  /* inconsistent-request*/
8352
  { err_inconsistent_request, dissect_PAR_inconsistent_request_PDU },
8353
  /* security-error*/
8354
  { err_security_error, dissect_SecurityProblem_PDU },
8355
  /* unsupported-critical-function*/
8356
  { err_unsupported_critical_function,  dissect_PAR_unsupported_critical_function_PDU },
8357
  /* remote-bind-error*/
8358
  { err_remote_bind_error,  dissect_PAR_remote_bind_error_PDU },
8359
  /* delivery-control-violated*/
8360
  { err_delivery_control_violated,  dissect_PAR_delivery_control_violated_PDU },
8361
  /* control-violates-registration*/
8362
  { err_control_violates_registration,  dissect_PAR_control_violates_registration_PDU },
8363
  /* operation-refused*/
8364
  { err_operation_refused,  dissect_RefusedOperation_PDU },
8365
  /* register-rejected*/
8366
  { err_register_rejected,  dissect_PAR_register_rejected_PDU },
8367
  /* new-credentials-unacceptable*/
8368
  { err_new_credentials_unacceptable, dissect_PAR_new_credentials_unacceptable_PDU },
8369
  /* old-credentials-incorrectly-specified*/
8370
  { err_old_credentials_incorrectly_specified,  dissect_PAR_old_credentials_incorrectly_specified_PDU },
8371
  { 0,  (dissector_t)(-1) },
8372
};
8373
8374
8375
static const ros_info_t p3_ros_info = {
8376
  "P3",
8377
  &proto_p3,
8378
  &ett_p3,
8379
  p3_opr_code_string_vals,
8380
  p3_opr_tab,
8381
  p3_err_code_string_vals,
8382
  p3_err_tab
8383
};
8384
8385
void p1_initialize_content_globals (asn1_ctx_t* actx, proto_tree *tree, bool report_unknown_cont_type)
8386
0
{
8387
0
    p1_address_ctx_t* ctx;
8388
8389
0
    if (actx->subtree.tree_ctx == NULL) {
8390
0
        actx->subtree.tree_ctx = wmem_new0(actx->pinfo->pool, p1_address_ctx_t);
8391
0
    }
8392
8393
0
    ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
8394
8395
0
    actx->subtree.top_tree = tree;
8396
0
    actx->external.direct_reference = NULL;
8397
0
    ctx->content_type_id = NULL;
8398
0
    ctx->report_unknown_content_type = report_unknown_cont_type;
8399
0
}
8400
8401
const char* p1_get_last_oraddress (asn1_ctx_t* actx)
8402
0
{
8403
0
    p1_address_ctx_t* ctx;
8404
8405
0
    if ((actx == NULL) || (actx->subtree.tree_ctx == NULL))
8406
0
        return "";
8407
8408
0
    ctx = (p1_address_ctx_t*)actx->subtree.tree_ctx;
8409
0
    if (wmem_strbuf_get_len(ctx->oraddress) <= 0)
8410
0
        return "";
8411
8412
0
    return wmem_strbuf_get_str(ctx->oraddress);
8413
0
}
8414
8415
/*
8416
 * Dissect P1 MTS APDU
8417
 */
8418
int
8419
dissect_p1_mts_apdu (tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_)
8420
0
{
8421
0
    proto_item *item=NULL;
8422
0
    proto_tree *tree=NULL;
8423
0
    asn1_ctx_t asn1_ctx;
8424
0
    asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8425
8426
    /* save parent_tree so subdissectors can create new top nodes */
8427
0
    p1_initialize_content_globals (&asn1_ctx, parent_tree, true);
8428
8429
0
    if (parent_tree) {
8430
0
        item = proto_tree_add_item(parent_tree, proto_p1, tvb, 0, -1, ENC_NA);
8431
0
        tree = proto_item_add_subtree(item, ett_p1);
8432
0
    }
8433
8434
0
    col_set_str(pinfo->cinfo, COL_PROTOCOL, "P1");
8435
0
      col_set_str(pinfo->cinfo, COL_INFO, "Transfer");
8436
8437
0
    dissect_p1_MTS_APDU (false, tvb, 0, &asn1_ctx, tree, hf_p1_MTS_APDU_PDU);
8438
0
    p1_initialize_content_globals (&asn1_ctx, NULL, false);
8439
0
    return tvb_captured_length(tvb);
8440
0
}
8441
8442
/*
8443
* Dissect P1 PDUs inside a PPDU.
8444
*/
8445
static int
8446
dissect_p1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data)
8447
0
{
8448
0
    int offset = 0;
8449
0
    int old_offset;
8450
0
    proto_item *item;
8451
0
    proto_tree *tree;
8452
0
    struct SESSION_DATA_STRUCTURE* session;
8453
0
    unsigned (*p1_dissector)(bool implicit_tag _U_, tvbuff_t *tvb, unsigned offset, asn1_ctx_t *actx _U_, proto_tree *tree, int hf_index _U_) = NULL;
8454
0
    const char *p1_op_name;
8455
0
    int hf_p1_index = 0;
8456
0
    asn1_ctx_t asn1_ctx;
8457
0
    asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
8458
8459
    /* do we have operation information from the ROS dissector? */
8460
0
    if (data == NULL)
8461
0
        return 0;
8462
0
    session  = (struct SESSION_DATA_STRUCTURE*)data;
8463
8464
    /* save parent_tree so subdissectors can create new top nodes */
8465
0
    p1_initialize_content_globals (&asn1_ctx, parent_tree, true);
8466
8467
0
    asn1_ctx.private_data = session;
8468
8469
0
    item = proto_tree_add_item(parent_tree, proto_p1, tvb, 0, -1, ENC_NA);
8470
0
    tree = proto_item_add_subtree(item, ett_p1);
8471
8472
0
    col_set_str(pinfo->cinfo, COL_PROTOCOL, "P1");
8473
0
    col_clear(pinfo->cinfo, COL_INFO);
8474
8475
0
    switch(session->ros_op & ROS_OP_MASK) {
8476
0
    case (ROS_OP_BIND | ROS_OP_ARGUMENT):    /*  BindInvoke */
8477
0
      p1_dissector = dissect_p1_MTABindArgument;
8478
0
      p1_op_name = "Bind-Argument";
8479
0
      hf_p1_index = hf_p1_MTABindArgument_PDU;
8480
0
      break;
8481
0
    case (ROS_OP_BIND | ROS_OP_RESULT):    /*  BindResult */
8482
0
      p1_dissector = dissect_p1_MTABindResult;
8483
0
      p1_op_name = "Bind-Result";
8484
0
      hf_p1_index = hf_p1_MTABindResult_PDU;
8485
0
      break;
8486
0
    case (ROS_OP_BIND | ROS_OP_ERROR):    /*  BindError */
8487
0
      p1_dissector = dissect_p1_MTABindError;
8488
0
      p1_op_name = "Bind-Error";
8489
0
      hf_p1_index = hf_p1_MTABindError_PDU;
8490
0
      break;
8491
0
    case (ROS_OP_INVOKE | ROS_OP_ARGUMENT):    /*  Invoke Argument */
8492
0
      p1_dissector = dissect_p1_MTS_APDU;
8493
0
      p1_op_name = "Transfer";
8494
0
      hf_p1_index = hf_p1_MTS_APDU_PDU;
8495
0
      break;
8496
0
    default:
8497
0
      proto_tree_add_expert(tree, pinfo, &ei_p1_unsupported_pdu, tvb, offset, -1);
8498
0
      return tvb_captured_length(tvb);
8499
0
    }
8500
8501
0
    col_set_str(pinfo->cinfo, COL_INFO, p1_op_name);
8502
8503
0
    while (tvb_reported_length_remaining(tvb, offset) > 0) {
8504
0
        old_offset=offset;
8505
0
        offset=(*p1_dissector)(false, tvb, offset, &asn1_ctx , tree, hf_p1_index);
8506
0
        if (offset == old_offset) {
8507
0
            proto_tree_add_expert(tree, pinfo, &ei_p1_zero_pdu, tvb, offset, -1);
8508
0
            break;
8509
0
        }
8510
0
    }
8511
0
    p1_initialize_content_globals (&asn1_ctx, NULL, false);
8512
0
    return tvb_captured_length(tvb);
8513
0
}
8514
8515
8516
8517
8518
/*--- proto_register_p1 -------------------------------------------*/
8519
14
void proto_register_p1(void) {
8520
8521
  /* List of fields */
8522
14
  static hf_register_info hf[] =
8523
14
  {
8524
      /* "Created by defining PDU in .cnf */
8525
14
    { &hf_p1_MTABindArgument_PDU,
8526
14
      { "MTABindArgument", "p1.MTABindArgument",
8527
14
        FT_UINT32, BASE_DEC, VALS(p1_MTABindArgument_vals), 0,
8528
14
        "p1.MTABindArgument", HFILL }},
8529
14
    { &hf_p1_MTABindResult_PDU,
8530
14
      { "MTABindResult", "p1.MTABindResult",
8531
14
        FT_UINT32, BASE_DEC, VALS(p1_MTABindResult_vals), 0,
8532
14
        "p1.MTABindResult", HFILL }},
8533
14
    { &hf_p1_MTABindError_PDU,
8534
14
      { "MTABindError", "p1.MTABindError",
8535
14
        FT_UINT32, BASE_DEC, VALS(p1_MTABindError_vals), 0,
8536
14
        "p1.MTABindError", HFILL }},
8537
14
    { &hf_p1_MTS_APDU_PDU,
8538
14
      { "MTS-APDU", "p1.MTS_APDU",
8539
14
        FT_UINT32, BASE_DEC, VALS(p1_MTS_APDU_vals), 0,
8540
14
        "p1.MTS_APDU", HFILL }},
8541
8542
14
    { &hf_p1_InternalTraceInformation_PDU,
8543
14
      { "InternalTraceInformation", "p1.InternalTraceInformation",
8544
14
        FT_UINT32, BASE_DEC, NULL, 0,
8545
14
        NULL, HFILL }},
8546
14
    { &hf_p1_InternalTraceInformationElement_PDU,
8547
14
      { "InternalTraceInformationElement", "p1.InternalTraceInformationElement_element",
8548
14
        FT_NONE, BASE_NONE, NULL, 0,
8549
14
        NULL, HFILL }},
8550
14
    { &hf_p1_TraceInformation_PDU,
8551
14
      { "TraceInformation", "p1.TraceInformation",
8552
14
        FT_UINT32, BASE_DEC, NULL, 0,
8553
14
        NULL, HFILL }},
8554
14
    { &hf_p1_TraceInformationElement_PDU,
8555
14
      { "TraceInformationElement", "p1.TraceInformationElement_element",
8556
14
        FT_NONE, BASE_NONE, NULL, 0,
8557
14
        NULL, HFILL }},
8558
14
    { &hf_p1_MTSBindArgument_PDU,
8559
14
      { "MTSBindArgument", "p1.MTSBindArgument_element",
8560
14
        FT_NONE, BASE_NONE, NULL, 0,
8561
14
        NULL, HFILL }},
8562
14
    { &hf_p1_MTSBindResult_PDU,
8563
14
      { "MTSBindResult", "p1.MTSBindResult_element",
8564
14
        FT_NONE, BASE_NONE, NULL, 0,
8565
14
        NULL, HFILL }},
8566
14
    { &hf_p1_PAR_mts_bind_error_PDU,
8567
14
      { "PAR-mts-bind-error", "p1.PAR_mts_bind_error",
8568
14
        FT_UINT32, BASE_DEC, VALS(p1_PAR_mts_bind_error_vals), 0,
8569
14
        NULL, HFILL }},
8570
14
    { &hf_p1_MessageSubmissionArgument_PDU,
8571
14
      { "MessageSubmissionArgument", "p1.MessageSubmissionArgument_element",
8572
14
        FT_NONE, BASE_NONE, NULL, 0,
8573
14
        NULL, HFILL }},
8574
14
    { &hf_p1_MessageSubmissionResult_PDU,
8575
14
      { "MessageSubmissionResult", "p1.MessageSubmissionResult_element",
8576
14
        FT_NONE, BASE_NONE, NULL, 0,
8577
14
        NULL, HFILL }},
8578
14
    { &hf_p1_ProbeSubmissionArgument_PDU,
8579
14
      { "ProbeSubmissionArgument", "p1.ProbeSubmissionArgument_element",
8580
14
        FT_NONE, BASE_NONE, NULL, 0,
8581
14
        NULL, HFILL }},
8582
14
    { &hf_p1_ProbeSubmissionResult_PDU,
8583
14
      { "ProbeSubmissionResult", "p1.ProbeSubmissionResult_element",
8584
14
        FT_NONE, BASE_NONE, NULL, 0,
8585
14
        NULL, HFILL }},
8586
14
    { &hf_p1_CancelDeferredDeliveryArgument_PDU,
8587
14
      { "CancelDeferredDeliveryArgument", "p1.CancelDeferredDeliveryArgument_element",
8588
14
        FT_NONE, BASE_NONE, NULL, 0,
8589
14
        NULL, HFILL }},
8590
14
    { &hf_p1_CancelDeferredDeliveryResult_PDU,
8591
14
      { "CancelDeferredDeliveryResult", "p1.CancelDeferredDeliveryResult_element",
8592
14
        FT_NONE, BASE_NONE, NULL, 0,
8593
14
        NULL, HFILL }},
8594
14
    { &hf_p1_SubmissionControlArgument_PDU,
8595
14
      { "SubmissionControlArgument", "p1.SubmissionControlArgument_element",
8596
14
        FT_NONE, BASE_NONE, NULL, 0,
8597
14
        NULL, HFILL }},
8598
14
    { &hf_p1_SubmissionControlResult_PDU,
8599
14
      { "SubmissionControlResult", "p1.SubmissionControlResult_element",
8600
14
        FT_NONE, BASE_NONE, NULL, 0,
8601
14
        NULL, HFILL }},
8602
14
    { &hf_p1_PAR_submission_control_violated_PDU,
8603
14
      { "PAR-submission-control-violated", "p1.PAR_submission_control_violated_element",
8604
14
        FT_NONE, BASE_NONE, NULL, 0,
8605
14
        NULL, HFILL }},
8606
14
    { &hf_p1_PAR_element_of_service_not_subscribed_PDU,
8607
14
      { "PAR-element-of-service-not-subscribed", "p1.PAR_element_of_service_not_subscribed_element",
8608
14
        FT_NONE, BASE_NONE, NULL, 0,
8609
14
        NULL, HFILL }},
8610
14
    { &hf_p1_PAR_deferred_delivery_cancellation_rejected_PDU,
8611
14
      { "PAR-deferred-delivery-cancellation-rejected", "p1.PAR_deferred_delivery_cancellation_rejected_element",
8612
14
        FT_NONE, BASE_NONE, NULL, 0,
8613
14
        NULL, HFILL }},
8614
14
    { &hf_p1_PAR_originator_invalid_PDU,
8615
14
      { "PAR-originator-invalid", "p1.PAR_originator_invalid_element",
8616
14
        FT_NONE, BASE_NONE, NULL, 0,
8617
14
        NULL, HFILL }},
8618
14
    { &hf_p1_ImproperlySpecifiedRecipients_PDU,
8619
14
      { "ImproperlySpecifiedRecipients", "p1.ImproperlySpecifiedRecipients",
8620
14
        FT_UINT32, BASE_DEC, NULL, 0,
8621
14
        NULL, HFILL }},
8622
14
    { &hf_p1_PAR_message_submission_identifier_invalid_PDU,
8623
14
      { "PAR-message-submission-identifier-invalid", "p1.PAR_message_submission_identifier_invalid_element",
8624
14
        FT_NONE, BASE_NONE, NULL, 0,
8625
14
        NULL, HFILL }},
8626
14
    { &hf_p1_PAR_inconsistent_request_PDU,
8627
14
      { "PAR-inconsistent-request", "p1.PAR_inconsistent_request_element",
8628
14
        FT_NONE, BASE_NONE, NULL, 0,
8629
14
        NULL, HFILL }},
8630
14
    { &hf_p1_SecurityProblem_PDU,
8631
14
      { "SecurityProblem", "p1.SecurityProblem",
8632
14
        FT_UINT32, BASE_DEC, VALS(p1_SecurityProblem_vals), 0,
8633
14
        NULL, HFILL }},
8634
14
    { &hf_p1_PAR_unsupported_critical_function_PDU,
8635
14
      { "PAR-unsupported-critical-function", "p1.PAR_unsupported_critical_function_element",
8636
14
        FT_NONE, BASE_NONE, NULL, 0,
8637
14
        NULL, HFILL }},
8638
14
    { &hf_p1_PAR_remote_bind_error_PDU,
8639
14
      { "PAR-remote-bind-error", "p1.PAR_remote_bind_error_element",
8640
14
        FT_NONE, BASE_NONE, NULL, 0,
8641
14
        NULL, HFILL }},
8642
14
    { &hf_p1_MessageSubmissionTime_PDU,
8643
14
      { "MessageSubmissionTime", "p1.MessageSubmissionTime",
8644
14
        FT_STRING, BASE_NONE, NULL, 0,
8645
14
        NULL, HFILL }},
8646
14
    { &hf_p1_MessageDeliveryArgument_PDU,
8647
14
      { "MessageDeliveryArgument", "p1.MessageDeliveryArgument_element",
8648
14
        FT_NONE, BASE_NONE, NULL, 0,
8649
14
        NULL, HFILL }},
8650
14
    { &hf_p1_MessageDeliveryResult_PDU,
8651
14
      { "MessageDeliveryResult", "p1.MessageDeliveryResult_element",
8652
14
        FT_NONE, BASE_NONE, NULL, 0,
8653
14
        NULL, HFILL }},
8654
14
    { &hf_p1_ReportDeliveryArgument_PDU,
8655
14
      { "ReportDeliveryArgument", "p1.ReportDeliveryArgument_element",
8656
14
        FT_NONE, BASE_NONE, NULL, 0,
8657
14
        NULL, HFILL }},
8658
14
    { &hf_p1_ReportDeliveryResult_PDU,
8659
14
      { "ReportDeliveryResult", "p1.ReportDeliveryResult",
8660
14
        FT_UINT32, BASE_DEC, VALS(p1_ReportDeliveryResult_vals), 0,
8661
14
        NULL, HFILL }},
8662
14
    { &hf_p1_DeliveryControlArgument_PDU,
8663
14
      { "DeliveryControlArgument", "p1.DeliveryControlArgument_element",
8664
14
        FT_NONE, BASE_NONE, NULL, 0,
8665
14
        NULL, HFILL }},
8666
14
    { &hf_p1_DeliveryControlResult_PDU,
8667
14
      { "DeliveryControlResult", "p1.DeliveryControlResult_element",
8668
14
        FT_NONE, BASE_NONE, NULL, 0,
8669
14
        NULL, HFILL }},
8670
14
    { &hf_p1_PAR_delivery_control_violated_PDU,
8671
14
      { "PAR-delivery-control-violated", "p1.PAR_delivery_control_violated_element",
8672
14
        FT_NONE, BASE_NONE, NULL, 0,
8673
14
        NULL, HFILL }},
8674
14
    { &hf_p1_PAR_control_violates_registration_PDU,
8675
14
      { "PAR-control-violates-registration", "p1.PAR_control_violates_registration_element",
8676
14
        FT_NONE, BASE_NONE, NULL, 0,
8677
14
        NULL, HFILL }},
8678
14
    { &hf_p1_RefusedOperation_PDU,
8679
14
      { "RefusedOperation", "p1.RefusedOperation_element",
8680
14
        FT_NONE, BASE_NONE, NULL, 0,
8681
14
        NULL, HFILL }},
8682
14
    { &hf_p1_RecipientCertificate_PDU,
8683
14
      { "RecipientCertificate", "p1.RecipientCertificate_element",
8684
14
        FT_NONE, BASE_NONE, NULL, 0,
8685
14
        NULL, HFILL }},
8686
14
    { &hf_p1_ProofOfDelivery_PDU,
8687
14
      { "ProofOfDelivery", "p1.ProofOfDelivery_element",
8688
14
        FT_NONE, BASE_NONE, NULL, 0,
8689
14
        NULL, HFILL }},
8690
14
    { &hf_p1_RegisterArgument_PDU,
8691
14
      { "RegisterArgument", "p1.RegisterArgument_element",
8692
14
        FT_NONE, BASE_NONE, NULL, 0,
8693
14
        NULL, HFILL }},
8694
14
    { &hf_p1_RegisterResult_PDU,
8695
14
      { "RegisterResult", "p1.RegisterResult",
8696
14
        FT_UINT32, BASE_DEC, VALS(p1_RegisterResult_vals), 0,
8697
14
        NULL, HFILL }},
8698
14
    { &hf_p1_ChangeCredentialsArgument_PDU,
8699
14
      { "ChangeCredentialsArgument", "p1.ChangeCredentialsArgument_element",
8700
14
        FT_NONE, BASE_NONE, NULL, 0,
8701
14
        NULL, HFILL }},
8702
14
    { &hf_p1_RES_change_credentials_PDU,
8703
14
      { "RES-change-credentials", "p1.RES_change_credentials_element",
8704
14
        FT_NONE, BASE_NONE, NULL, 0,
8705
14
        NULL, HFILL }},
8706
14
    { &hf_p1_PAR_register_rejected_PDU,
8707
14
      { "PAR-register-rejected", "p1.PAR_register_rejected_element",
8708
14
        FT_NONE, BASE_NONE, NULL, 0,
8709
14
        NULL, HFILL }},
8710
14
    { &hf_p1_PAR_new_credentials_unacceptable_PDU,
8711
14
      { "PAR-new-credentials-unacceptable", "p1.PAR_new_credentials_unacceptable_element",
8712
14
        FT_NONE, BASE_NONE, NULL, 0,
8713
14
        NULL, HFILL }},
8714
14
    { &hf_p1_PAR_old_credentials_incorrectly_specified_PDU,
8715
14
      { "PAR-old-credentials-incorrectly-specified", "p1.PAR_old_credentials_incorrectly_specified_element",
8716
14
        FT_NONE, BASE_NONE, NULL, 0,
8717
14
        NULL, HFILL }},
8718
14
    { &hf_p1_MessageSubmissionEnvelope_PDU,
8719
14
      { "MessageSubmissionEnvelope", "p1.MessageSubmissionEnvelope_element",
8720
14
        FT_NONE, BASE_NONE, NULL, 0,
8721
14
        NULL, HFILL }},
8722
14
    { &hf_p1_PerRecipientMessageSubmissionFields_PDU,
8723
14
      { "PerRecipientMessageSubmissionFields", "p1.PerRecipientMessageSubmissionFields_element",
8724
14
        FT_NONE, BASE_NONE, NULL, 0,
8725
14
        NULL, HFILL }},
8726
14
    { &hf_p1_ProbeSubmissionEnvelope_PDU,
8727
14
      { "ProbeSubmissionEnvelope", "p1.ProbeSubmissionEnvelope_element",
8728
14
        FT_NONE, BASE_NONE, NULL, 0,
8729
14
        NULL, HFILL }},
8730
14
    { &hf_p1_PerRecipientProbeSubmissionFields_PDU,
8731
14
      { "PerRecipientProbeSubmissionFields", "p1.PerRecipientProbeSubmissionFields_element",
8732
14
        FT_NONE, BASE_NONE, NULL, 0,
8733
14
        NULL, HFILL }},
8734
14
    { &hf_p1_MessageDeliveryEnvelope_PDU,
8735
14
      { "MessageDeliveryEnvelope", "p1.MessageDeliveryEnvelope_element",
8736
14
        FT_NONE, BASE_NONE, NULL, 0,
8737
14
        NULL, HFILL }},
8738
14
    { &hf_p1_ReportDeliveryEnvelope_PDU,
8739
14
      { "ReportDeliveryEnvelope", "p1.ReportDeliveryEnvelope_element",
8740
14
        FT_NONE, BASE_NONE, NULL, 0,
8741
14
        NULL, HFILL }},
8742
14
    { &hf_p1_PerRecipientReportDeliveryFields_PDU,
8743
14
      { "PerRecipientReportDeliveryFields", "p1.PerRecipientReportDeliveryFields_element",
8744
14
        FT_NONE, BASE_NONE, NULL, 0,
8745
14
        NULL, HFILL }},
8746
14
    { &hf_p1_ExtendedContentType_PDU,
8747
14
      { "ExtendedContentType", "p1.ExtendedContentType",
8748
14
        FT_OID, BASE_NONE, NULL, 0,
8749
14
        NULL, HFILL }},
8750
14
    { &hf_p1_ContentIdentifier_PDU,
8751
14
      { "ContentIdentifier", "p1.ContentIdentifier",
8752
14
        FT_STRING, BASE_NONE, NULL, 0,
8753
14
        NULL, HFILL }},
8754
14
    { &hf_p1_PerMessageIndicators_PDU,
8755
14
      { "PerMessageIndicators", "p1.PerMessageIndicators",
8756
14
        FT_BYTES, BASE_NONE, NULL, 0,
8757
14
        NULL, HFILL }},
8758
14
    { &hf_p1_OriginatorReportRequest_PDU,
8759
14
      { "OriginatorReportRequest", "p1.OriginatorReportRequest",
8760
14
        FT_BYTES, BASE_NONE, NULL, 0,
8761
14
        NULL, HFILL }},
8762
14
    { &hf_p1_DeferredDeliveryTime_PDU,
8763
14
      { "DeferredDeliveryTime", "p1.DeferredDeliveryTime",
8764
14
        FT_STRING, BASE_NONE, NULL, 0,
8765
14
        NULL, HFILL }},
8766
14
    { &hf_p1_Priority_PDU,
8767
14
      { "Priority", "p1.Priority",
8768
14
        FT_UINT32, BASE_DEC, VALS(p1_Priority_U_vals), 0,
8769
14
        NULL, HFILL }},
8770
14
    { &hf_p1_ContentLength_PDU,
8771
14
      { "ContentLength", "p1.ContentLength",
8772
14
        FT_UINT32, BASE_DEC, NULL, 0,
8773
14
        NULL, HFILL }},
8774
14
    { &hf_p1_MessageDeliveryTime_PDU,
8775
14
      { "MessageDeliveryTime", "p1.MessageDeliveryTime",
8776
14
        FT_STRING, BASE_NONE, NULL, 0,
8777
14
        NULL, HFILL }},
8778
14
    { &hf_p1_DeliveryFlags_PDU,
8779
14
      { "DeliveryFlags", "p1.DeliveryFlags",
8780
14
        FT_BYTES, BASE_NONE, NULL, 0,
8781
14
        NULL, HFILL }},
8782
14
    { &hf_p1_SubjectSubmissionIdentifier_PDU,
8783
14
      { "SubjectSubmissionIdentifier", "p1.SubjectSubmissionIdentifier_element",
8784
14
        FT_NONE, BASE_NONE, NULL, 0,
8785
14
        NULL, HFILL }},
8786
14
    { &hf_p1_RecipientReassignmentProhibited_PDU,
8787
14
      { "RecipientReassignmentProhibited", "p1.RecipientReassignmentProhibited",
8788
14
        FT_UINT32, BASE_DEC, VALS(p1_RecipientReassignmentProhibited_vals), 0,
8789
14
        NULL, HFILL }},
8790
14
    { &hf_p1_OriginatorRequestedAlternateRecipient_PDU,
8791
14
      { "OriginatorRequestedAlternateRecipient", "p1.OriginatorRequestedAlternateRecipient_element",
8792
14
        FT_NONE, BASE_NONE, NULL, 0,
8793
14
        NULL, HFILL }},
8794
14
    { &hf_p1_DLExpansionProhibited_PDU,
8795
14
      { "DLExpansionProhibited", "p1.DLExpansionProhibited",
8796
14
        FT_UINT32, BASE_DEC, VALS(p1_DLExpansionProhibited_vals), 0,
8797
14
        NULL, HFILL }},
8798
14
    { &hf_p1_ConversionWithLossProhibited_PDU,
8799
14
      { "ConversionWithLossProhibited", "p1.ConversionWithLossProhibited",
8800
14
        FT_UINT32, BASE_DEC, VALS(p1_ConversionWithLossProhibited_vals), 0,
8801
14
        NULL, HFILL }},
8802
14
    { &hf_p1_LatestDeliveryTime_PDU,
8803
14
      { "LatestDeliveryTime", "p1.LatestDeliveryTime",
8804
14
        FT_STRING, BASE_NONE, NULL, 0,
8805
14
        NULL, HFILL }},
8806
14
    { &hf_p1_RequestedDeliveryMethod_PDU,
8807
14
      { "RequestedDeliveryMethod", "p1.RequestedDeliveryMethod",
8808
14
        FT_UINT32, BASE_DEC, NULL, 0,
8809
14
        NULL, HFILL }},
8810
14
    { &hf_p1_PhysicalForwardingProhibited_PDU,
8811
14
      { "PhysicalForwardingProhibited", "p1.PhysicalForwardingProhibited",
8812
14
        FT_UINT32, BASE_DEC, VALS(p1_PhysicalForwardingProhibited_vals), 0,
8813
14
        NULL, HFILL }},
8814
14
    { &hf_p1_PhysicalForwardingAddressRequest_PDU,
8815
14
      { "PhysicalForwardingAddressRequest", "p1.PhysicalForwardingAddressRequest",
8816
14
        FT_UINT32, BASE_DEC, VALS(p1_PhysicalForwardingAddressRequest_vals), 0,
8817
14
        NULL, HFILL }},
8818
14
    { &hf_p1_PhysicalDeliveryModes_PDU,
8819
14
      { "PhysicalDeliveryModes", "p1.PhysicalDeliveryModes",
8820
14
        FT_BYTES, BASE_NONE, NULL, 0,
8821
14
        NULL, HFILL }},
8822
14
    { &hf_p1_RegisteredMailType_PDU,
8823
14
      { "RegisteredMailType", "p1.RegisteredMailType",
8824
14
        FT_UINT32, BASE_DEC, VALS(p1_RegisteredMailType_vals), 0,
8825
14
        NULL, HFILL }},
8826
14
    { &hf_p1_RecipientNumberForAdvice_PDU,
8827
14
      { "RecipientNumberForAdvice", "p1.RecipientNumberForAdvice",
8828
14
        FT_STRING, BASE_NONE, NULL, 0,
8829
14
        NULL, HFILL }},
8830
14
    { &hf_p1_PhysicalRenditionAttributes_PDU,
8831
14
      { "PhysicalRenditionAttributes", "p1.PhysicalRenditionAttributes",
8832
14
        FT_OID, BASE_NONE, NULL, 0,
8833
14
        NULL, HFILL }},
8834
14
    { &hf_p1_OriginatorReturnAddress_PDU,
8835
14
      { "OriginatorReturnAddress", "p1.OriginatorReturnAddress_element",
8836
14
        FT_NONE, BASE_NONE, NULL, 0,
8837
14
        NULL, HFILL }},
8838
14
    { &hf_p1_PhysicalDeliveryReportRequest_PDU,
8839
14
      { "PhysicalDeliveryReportRequest", "p1.PhysicalDeliveryReportRequest",
8840
14
        FT_UINT32, BASE_DEC, VALS(p1_PhysicalDeliveryReportRequest_vals), 0,
8841
14
        NULL, HFILL }},
8842
14
    { &hf_p1_OriginatorCertificate_PDU,
8843
14
      { "OriginatorCertificate", "p1.OriginatorCertificate_element",
8844
14
        FT_NONE, BASE_NONE, NULL, 0,
8845
14
        NULL, HFILL }},
8846
14
    { &hf_p1_MessageToken_PDU,
8847
14
      { "MessageToken", "p1.MessageToken_element",
8848
14
        FT_NONE, BASE_NONE, NULL, 0,
8849
14
        NULL, HFILL }},
8850
14
    { &hf_p1_ContentConfidentialityAlgorithmIdentifier_PDU,
8851
14
      { "ContentConfidentialityAlgorithmIdentifier", "p1.ContentConfidentialityAlgorithmIdentifier_element",
8852
14
        FT_NONE, BASE_NONE, NULL, 0,
8853
14
        NULL, HFILL }},
8854
14
    { &hf_p1_ContentIntegrityCheck_PDU,
8855
14
      { "ContentIntegrityCheck", "p1.ContentIntegrityCheck_element",
8856
14
        FT_NONE, BASE_NONE, NULL, 0,
8857
14
        NULL, HFILL }},
8858
14
    { &hf_p1_MessageOriginAuthenticationCheck_PDU,
8859
14
      { "MessageOriginAuthenticationCheck", "p1.MessageOriginAuthenticationCheck_element",
8860
14
        FT_NONE, BASE_NONE, NULL, 0,
8861
14
        NULL, HFILL }},
8862
14
    { &hf_p1_p1_MessageSecurityLabel_PDU,
8863
14
      { "MessageSecurityLabel", "p1.MessageSecurityLabel_element",
8864
14
        FT_NONE, BASE_NONE, NULL, 0,
8865
14
        NULL, HFILL }},
8866
14
    { &hf_p1_ProofOfSubmissionRequest_PDU,
8867
14
      { "ProofOfSubmissionRequest", "p1.ProofOfSubmissionRequest",
8868
14
        FT_UINT32, BASE_DEC, VALS(p1_ProofOfSubmissionRequest_vals), 0,
8869
14
        NULL, HFILL }},
8870
14
    { &hf_p1_ProofOfDeliveryRequest_PDU,
8871
14
      { "ProofOfDeliveryRequest", "p1.ProofOfDeliveryRequest",
8872
14
        FT_UINT32, BASE_DEC, VALS(p1_ProofOfDeliveryRequest_vals), 0,
8873
14
        NULL, HFILL }},
8874
14
    { &hf_p1_ContentCorrelator_PDU,
8875
14
      { "ContentCorrelator", "p1.ContentCorrelator",
8876
14
        FT_UINT32, BASE_DEC, VALS(p1_ContentCorrelator_vals), 0,
8877
14
        NULL, HFILL }},
8878
14
    { &hf_p1_ProbeOriginAuthenticationCheck_PDU,
8879
14
      { "ProbeOriginAuthenticationCheck", "p1.ProbeOriginAuthenticationCheck_element",
8880
14
        FT_NONE, BASE_NONE, NULL, 0,
8881
14
        NULL, HFILL }},
8882
14
    { &hf_p1_RedirectionHistory_PDU,
8883
14
      { "RedirectionHistory", "p1.RedirectionHistory",
8884
14
        FT_UINT32, BASE_DEC, NULL, 0,
8885
14
        NULL, HFILL }},
8886
14
    { &hf_p1_Redirection_PDU,
8887
14
      { "Redirection", "p1.Redirection_element",
8888
14
        FT_NONE, BASE_NONE, NULL, 0,
8889
14
        NULL, HFILL }},
8890
14
    { &hf_p1_DLExpansionHistory_PDU,
8891
14
      { "DLExpansionHistory", "p1.DLExpansionHistory",
8892
14
        FT_UINT32, BASE_DEC, NULL, 0,
8893
14
        NULL, HFILL }},
8894
14
    { &hf_p1_DLExpansion_PDU,
8895
14
      { "DLExpansion", "p1.DLExpansion_element",
8896
14
        FT_NONE, BASE_NONE, NULL, 0,
8897
14
        NULL, HFILL }},
8898
14
    { &hf_p1_PhysicalForwardingAddress_PDU,
8899
14
      { "PhysicalForwardingAddress", "p1.PhysicalForwardingAddress_element",
8900
14
        FT_NONE, BASE_NONE, NULL, 0,
8901
14
        NULL, HFILL }},
8902
14
    { &hf_p1_OriginatorAndDLExpansionHistory_PDU,
8903
14
      { "OriginatorAndDLExpansionHistory", "p1.OriginatorAndDLExpansionHistory",
8904
14
        FT_UINT32, BASE_DEC, NULL, 0,
8905
14
        NULL, HFILL }},
8906
14
    { &hf_p1_ReportingDLName_PDU,
8907
14
      { "ReportingDLName", "p1.ReportingDLName_element",
8908
14
        FT_NONE, BASE_NONE, NULL, 0,
8909
14
        NULL, HFILL }},
8910
14
    { &hf_p1_ReportingMTACertificate_PDU,
8911
14
      { "ReportingMTACertificate", "p1.ReportingMTACertificate_element",
8912
14
        FT_NONE, BASE_NONE, NULL, 0,
8913
14
        NULL, HFILL }},
8914
14
    { &hf_p1_ReportOriginAuthenticationCheck_PDU,
8915
14
      { "ReportOriginAuthenticationCheck", "p1.ReportOriginAuthenticationCheck_element",
8916
14
        FT_NONE, BASE_NONE, NULL, 0,
8917
14
        NULL, HFILL }},
8918
14
    { &hf_p1_OriginatingMTACertificate_PDU,
8919
14
      { "OriginatingMTACertificate", "p1.OriginatingMTACertificate_element",
8920
14
        FT_NONE, BASE_NONE, NULL, 0,
8921
14
        NULL, HFILL }},
8922
14
    { &hf_p1_ProofOfSubmission_PDU,
8923
14
      { "ProofOfSubmission", "p1.ProofOfSubmission_element",
8924
14
        FT_NONE, BASE_NONE, NULL, 0,
8925
14
        NULL, HFILL }},
8926
14
    { &hf_p1_ReportingMTAName_PDU,
8927
14
      { "ReportingMTAName", "p1.ReportingMTAName_element",
8928
14
        FT_NONE, BASE_NONE, NULL, 0,
8929
14
        NULL, HFILL }},
8930
14
    { &hf_p1_ExtendedCertificates_PDU,
8931
14
      { "ExtendedCertificates", "p1.ExtendedCertificates",
8932
14
        FT_UINT32, BASE_DEC, NULL, 0,
8933
14
        NULL, HFILL }},
8934
14
    { &hf_p1_DLExemptedRecipients_PDU,
8935
14
      { "DLExemptedRecipients", "p1.DLExemptedRecipients",
8936
14
        FT_UINT32, BASE_DEC, NULL, 0,
8937
14
        NULL, HFILL }},
8938
14
    { &hf_p1_CertificateSelectors_PDU,
8939
14
      { "CertificateSelectors", "p1.CertificateSelectors_element",
8940
14
        FT_NONE, BASE_NONE, NULL, 0,
8941
14
        NULL, HFILL }},
8942
14
    { &hf_p1_Content_PDU,
8943
14
      { "Content", "p1.Content",
8944
14
        FT_BYTES, BASE_NONE, NULL, 0,
8945
14
        NULL, HFILL }},
8946
14
    { &hf_p1_MTSIdentifier_PDU,
8947
14
      { "MTSIdentifier", "p1.MTSIdentifier_element",
8948
14
        FT_NONE, BASE_NONE, NULL, 0,
8949
14
        NULL, HFILL }},
8950
14
    { &hf_p1_ORName_PDU,
8951
14
      { "ORName", "p1.ORName_element",
8952
14
        FT_NONE, BASE_NONE, NULL, 0,
8953
14
        NULL, HFILL }},
8954
14
    { &hf_p1_ORAddress_PDU,
8955
14
      { "ORAddress", "p1.ORAddress_element",
8956
14
        FT_NONE, BASE_NONE, NULL, 0,
8957
14
        NULL, HFILL }},
8958
14
    { &hf_p1_CommonName_PDU,
8959
14
      { "CommonName", "p1.CommonName",
8960
14
        FT_STRING, BASE_NONE, NULL, 0,
8961
14
        NULL, HFILL }},
8962
14
    { &hf_p1_TeletexCommonName_PDU,
8963
14
      { "TeletexCommonName", "p1.TeletexCommonName",
8964
14
        FT_STRING, BASE_NONE, NULL, 0,
8965
14
        NULL, HFILL }},
8966
14
    { &hf_p1_UniversalCommonName_PDU,
8967
14
      { "UniversalCommonName", "p1.UniversalCommonName_element",
8968
14
        FT_NONE, BASE_NONE, NULL, 0,
8969
14
        NULL, HFILL }},
8970
14
    { &hf_p1_TeletexOrganizationName_PDU,
8971
14
      { "TeletexOrganizationName", "p1.TeletexOrganizationName",
8972
14
        FT_STRING, BASE_NONE, NULL, 0,
8973
14
        NULL, HFILL }},
8974
14
    { &hf_p1_UniversalOrganizationName_PDU,
8975
14
      { "UniversalOrganizationName", "p1.UniversalOrganizationName_element",
8976
14
        FT_NONE, BASE_NONE, NULL, 0,
8977
14
        NULL, HFILL }},
8978
14
    { &hf_p1_TeletexPersonalName_PDU,
8979
14
      { "TeletexPersonalName", "p1.TeletexPersonalName_element",
8980
14
        FT_NONE, BASE_NONE, NULL, 0,
8981
14
        NULL, HFILL }},
8982
14
    { &hf_p1_UniversalPersonalName_PDU,
8983
14
      { "UniversalPersonalName", "p1.UniversalPersonalName_element",
8984
14
        FT_NONE, BASE_NONE, NULL, 0,
8985
14
        NULL, HFILL }},
8986
14
    { &hf_p1_TeletexOrganizationalUnitNames_PDU,
8987
14
      { "TeletexOrganizationalUnitNames", "p1.TeletexOrganizationalUnitNames",
8988
14
        FT_UINT32, BASE_DEC, NULL, 0,
8989
14
        NULL, HFILL }},
8990
14
    { &hf_p1_UniversalOrganizationalUnitNames_PDU,
8991
14
      { "UniversalOrganizationalUnitNames", "p1.UniversalOrganizationalUnitNames",
8992
14
        FT_UINT32, BASE_DEC, NULL, 0,
8993
14
        NULL, HFILL }},
8994
14
    { &hf_p1_PDSName_PDU,
8995
14
      { "PDSName", "p1.PDSName",
8996
14
        FT_STRING, BASE_NONE, NULL, 0,
8997
14
        NULL, HFILL }},
8998
14
    { &hf_p1_PhysicalDeliveryCountryName_PDU,
8999
14
      { "PhysicalDeliveryCountryName", "p1.PhysicalDeliveryCountryName",
9000
14
        FT_UINT32, BASE_DEC, VALS(p1_PhysicalDeliveryCountryName_vals), 0,
9001
14
        NULL, HFILL }},
9002
14
    { &hf_p1_PostalCode_PDU,
9003
14
      { "PostalCode", "p1.PostalCode",
9004
14
        FT_UINT32, BASE_DEC, VALS(p1_PostalCode_vals), 0,
9005
14
        NULL, HFILL }},
9006
14
    { &hf_p1_PhysicalDeliveryOfficeName_PDU,
9007
14
      { "PhysicalDeliveryOfficeName", "p1.PhysicalDeliveryOfficeName_element",
9008
14
        FT_NONE, BASE_NONE, NULL, 0,
9009
14
        NULL, HFILL }},
9010
14
    { &hf_p1_UniversalPhysicalDeliveryOfficeName_PDU,
9011
14
      { "UniversalPhysicalDeliveryOfficeName", "p1.UniversalPhysicalDeliveryOfficeName_element",
9012
14
        FT_NONE, BASE_NONE, NULL, 0,
9013
14
        NULL, HFILL }},
9014
14
    { &hf_p1_PhysicalDeliveryOfficeNumber_PDU,
9015
14
      { "PhysicalDeliveryOfficeNumber", "p1.PhysicalDeliveryOfficeNumber_element",
9016
14
        FT_NONE, BASE_NONE, NULL, 0,
9017
14
        NULL, HFILL }},
9018
14
    { &hf_p1_UniversalPhysicalDeliveryOfficeNumber_PDU,
9019
14
      { "UniversalPhysicalDeliveryOfficeNumber", "p1.UniversalPhysicalDeliveryOfficeNumber_element",
9020
14
        FT_NONE, BASE_NONE, NULL, 0,
9021
14
        NULL, HFILL }},
9022
14
    { &hf_p1_ExtensionORAddressComponents_PDU,
9023
14
      { "ExtensionORAddressComponents", "p1.ExtensionORAddressComponents_element",
9024
14
        FT_NONE, BASE_NONE, NULL, 0,
9025
14
        NULL, HFILL }},
9026
14
    { &hf_p1_UniversalExtensionORAddressComponents_PDU,
9027
14
      { "UniversalExtensionORAddressComponents", "p1.UniversalExtensionORAddressComponents_element",
9028
14
        FT_NONE, BASE_NONE, NULL, 0,
9029
14
        NULL, HFILL }},
9030
14
    { &hf_p1_PhysicalDeliveryPersonalName_PDU,
9031
14
      { "PhysicalDeliveryPersonalName", "p1.PhysicalDeliveryPersonalName_element",
9032
14
        FT_NONE, BASE_NONE, NULL, 0,
9033
14
        NULL, HFILL }},
9034
14
    { &hf_p1_UniversalPhysicalDeliveryPersonalName_PDU,
9035
14
      { "UniversalPhysicalDeliveryPersonalName", "p1.UniversalPhysicalDeliveryPersonalName_element",
9036
14
        FT_NONE, BASE_NONE, NULL, 0,
9037
14
        NULL, HFILL }},
9038
14
    { &hf_p1_PhysicalDeliveryOrganizationName_PDU,
9039
14
      { "PhysicalDeliveryOrganizationName", "p1.PhysicalDeliveryOrganizationName_element",
9040
14
        FT_NONE, BASE_NONE, NULL, 0,
9041
14
        NULL, HFILL }},
9042
14
    { &hf_p1_UniversalPhysicalDeliveryOrganizationName_PDU,
9043
14
      { "UniversalPhysicalDeliveryOrganizationName", "p1.UniversalPhysicalDeliveryOrganizationName_element",
9044
14
        FT_NONE, BASE_NONE, NULL, 0,
9045
14
        NULL, HFILL }},
9046
14
    { &hf_p1_ExtensionPhysicalDeliveryAddressComponents_PDU,
9047
14
      { "ExtensionPhysicalDeliveryAddressComponents", "p1.ExtensionPhysicalDeliveryAddressComponents_element",
9048
14
        FT_NONE, BASE_NONE, NULL, 0,
9049
14
        NULL, HFILL }},
9050
14
    { &hf_p1_UniversalExtensionPhysicalDeliveryAddressComponents_PDU,
9051
14
      { "UniversalExtensionPhysicalDeliveryAddressComponents", "p1.UniversalExtensionPhysicalDeliveryAddressComponents_element",
9052
14
        FT_NONE, BASE_NONE, NULL, 0,
9053
14
        NULL, HFILL }},
9054
14
    { &hf_p1_UnformattedPostalAddress_PDU,
9055
14
      { "UnformattedPostalAddress", "p1.UnformattedPostalAddress_element",
9056
14
        FT_NONE, BASE_NONE, NULL, 0,
9057
14
        NULL, HFILL }},
9058
14
    { &hf_p1_UniversalUnformattedPostalAddress_PDU,
9059
14
      { "UniversalUnformattedPostalAddress", "p1.UniversalUnformattedPostalAddress_element",
9060
14
        FT_NONE, BASE_NONE, NULL, 0,
9061
14
        NULL, HFILL }},
9062
14
    { &hf_p1_StreetAddress_PDU,
9063
14
      { "StreetAddress", "p1.StreetAddress_element",
9064
14
        FT_NONE, BASE_NONE, NULL, 0,
9065
14
        NULL, HFILL }},
9066
14
    { &hf_p1_UniversalStreetAddress_PDU,
9067
14
      { "UniversalStreetAddress", "p1.UniversalStreetAddress_element",
9068
14
        FT_NONE, BASE_NONE, NULL, 0,
9069
14
        NULL, HFILL }},
9070
14
    { &hf_p1_PostOfficeBoxAddress_PDU,
9071
14
      { "PostOfficeBoxAddress", "p1.PostOfficeBoxAddress_element",
9072
14
        FT_NONE, BASE_NONE, NULL, 0,
9073
14
        NULL, HFILL }},
9074
14
    { &hf_p1_UniversalPostOfficeBoxAddress_PDU,
9075
14
      { "UniversalPostOfficeBoxAddress", "p1.UniversalPostOfficeBoxAddress_element",
9076
14
        FT_NONE, BASE_NONE, NULL, 0,
9077
14
        NULL, HFILL }},
9078
14
    { &hf_p1_PosteRestanteAddress_PDU,
9079
14
      { "PosteRestanteAddress", "p1.PosteRestanteAddress_element",
9080
14
        FT_NONE, BASE_NONE, NULL, 0,
9081
14
        NULL, HFILL }},
9082
14
    { &hf_p1_UniversalPosteRestanteAddress_PDU,
9083
14
      { "UniversalPosteRestanteAddress", "p1.UniversalPosteRestanteAddress_element",
9084
14
        FT_NONE, BASE_NONE, NULL, 0,
9085
14
        NULL, HFILL }},
9086
14
    { &hf_p1_UniquePostalName_PDU,
9087
14
      { "UniquePostalName", "p1.UniquePostalName_element",
9088
14
        FT_NONE, BASE_NONE, NULL, 0,
9089
14
        NULL, HFILL }},
9090
14
    { &hf_p1_UniversalUniquePostalName_PDU,
9091
14
      { "UniversalUniquePostalName", "p1.UniversalUniquePostalName_element",
9092
14
        FT_NONE, BASE_NONE, NULL, 0,
9093
14
        NULL, HFILL }},
9094
14
    { &hf_p1_LocalPostalAttributes_PDU,
9095
14
      { "LocalPostalAttributes", "p1.LocalPostalAttributes_element",
9096
14
        FT_NONE, BASE_NONE, NULL, 0,
9097
14
        NULL, HFILL }},
9098
14
    { &hf_p1_UniversalLocalPostalAttributes_PDU,
9099
14
      { "UniversalLocalPostalAttributes", "p1.UniversalLocalPostalAttributes_element",
9100
14
        FT_NONE, BASE_NONE, NULL, 0,
9101
14
        NULL, HFILL }},
9102
14
    { &hf_p1_ExtendedNetworkAddress_PDU,
9103
14
      { "ExtendedNetworkAddress", "p1.ExtendedNetworkAddress",
9104
14
        FT_UINT32, BASE_DEC, VALS(p1_ExtendedNetworkAddress_vals), 0,
9105
14
        NULL, HFILL }},
9106
14
    { &hf_p1_TerminalType_PDU,
9107
14
      { "TerminalType", "p1.TerminalType",
9108
14
        FT_UINT32, BASE_DEC, VALS(p1_TerminalType_vals), 0,
9109
14
        NULL, HFILL }},
9110
14
    { &hf_p1_TeletexDomainDefinedAttributes_PDU,
9111
14
      { "TeletexDomainDefinedAttributes", "p1.TeletexDomainDefinedAttributes",
9112
14
        FT_UINT32, BASE_DEC, NULL, 0,
9113
14
        NULL, HFILL }},
9114
14
    { &hf_p1_UniversalDomainDefinedAttributes_PDU,
9115
14
      { "UniversalDomainDefinedAttributes", "p1.UniversalDomainDefinedAttributes",
9116
14
        FT_UINT32, BASE_DEC, NULL, 0,
9117
14
        NULL, HFILL }},
9118
14
    { &hf_p1_ExtendedEncodedInformationType_PDU,
9119
14
      { "ExtendedEncodedInformationType", "p1.ExtendedEncodedInformationType",
9120
14
        FT_OID, BASE_NONE, NULL, 0,
9121
14
        NULL, HFILL }},
9122
14
    { &hf_p1_MTANameAndOptionalGDI_PDU,
9123
14
      { "MTANameAndOptionalGDI", "p1.MTANameAndOptionalGDI_element",
9124
14
        FT_NONE, BASE_NONE, NULL, 0,
9125
14
        NULL, HFILL }},
9126
14
    { &hf_p1_AsymmetricToken_PDU,
9127
14
      { "AsymmetricToken", "p1.AsymmetricToken_element",
9128
14
        FT_NONE, BASE_NONE, NULL, 0,
9129
14
        NULL, HFILL }},
9130
14
    { &hf_p1_BindTokenSignedData_PDU,
9131
14
      { "BindTokenSignedData", "p1.BindTokenSignedData",
9132
14
        FT_BYTES, BASE_NONE, NULL, 0,
9133
14
        NULL, HFILL }},
9134
14
    { &hf_p1_MessageTokenSignedData_PDU,
9135
14
      { "MessageTokenSignedData", "p1.MessageTokenSignedData_element",
9136
14
        FT_NONE, BASE_NONE, NULL, 0,
9137
14
        NULL, HFILL }},
9138
14
    { &hf_p1_MessageTokenEncryptedData_PDU,
9139
14
      { "MessageTokenEncryptedData", "p1.MessageTokenEncryptedData_element",
9140
14
        FT_NONE, BASE_NONE, NULL, 0,
9141
14
        NULL, HFILL }},
9142
14
    { &hf_p1_BindTokenEncryptedData_PDU,
9143
14
      { "BindTokenEncryptedData", "p1.BindTokenEncryptedData_element",
9144
14
        FT_NONE, BASE_NONE, NULL, 0,
9145
14
        NULL, HFILL }},
9146
14
    { &hf_p1_SecurityClassification_PDU,
9147
14
      { "SecurityClassification", "p1.SecurityClassification",
9148
14
        FT_UINT32, BASE_DEC, VALS(p1_SecurityClassification_vals), 0,
9149
14
        NULL, HFILL }},
9150
14
    { &hf_p1_unauthenticated,
9151
14
      { "unauthenticated", "p1.unauthenticated_element",
9152
14
        FT_NONE, BASE_NONE, NULL, 0,
9153
14
        NULL, HFILL }},
9154
14
    { &hf_p1_authenticated_argument,
9155
14
      { "authenticated", "p1.authenticated_argument_element",
9156
14
        FT_NONE, BASE_NONE, NULL, 0,
9157
14
        "AuthenticatedArgument", HFILL }},
9158
14
    { &hf_p1_authenticated_initiator_name,
9159
14
      { "initiator-name", "p1.authenticated.initiator-name",
9160
14
        FT_STRING, BASE_NONE, NULL, 0,
9161
14
        "MTAName", HFILL }},
9162
14
    { &hf_p1_initiator_credentials,
9163
14
      { "initiator-credentials", "p1.initiator_credentials",
9164
14
        FT_UINT32, BASE_DEC, VALS(p1_Credentials_vals), 0,
9165
14
        "InitiatorCredentials", HFILL }},
9166
14
    { &hf_p1_security_context,
9167
14
      { "security-context", "p1.security_context",
9168
14
        FT_UINT32, BASE_DEC, NULL, 0,
9169
14
        "SecurityContext", HFILL }},
9170
14
    { &hf_p1_authenticated_result,
9171
14
      { "authenticated", "p1.authenticated_result_element",
9172
14
        FT_NONE, BASE_NONE, NULL, 0,
9173
14
        "AuthenticatedResult", HFILL }},
9174
14
    { &hf_p1_authenticated_responder_name,
9175
14
      { "responder-name", "p1.authenticated.responder-name",
9176
14
        FT_STRING, BASE_NONE, NULL, 0,
9177
14
        "MTAName", HFILL }},
9178
14
    { &hf_p1_responder_credentials,
9179
14
      { "responder-credentials", "p1.responder_credentials",
9180
14
        FT_UINT32, BASE_DEC, VALS(p1_Credentials_vals), 0,
9181
14
        "ResponderCredentials", HFILL }},
9182
14
    { &hf_p1_message,
9183
14
      { "message", "p1.message_element",
9184
14
        FT_NONE, BASE_NONE, NULL, 0,
9185
14
        NULL, HFILL }},
9186
14
    { &hf_p1_probe,
9187
14
      { "probe", "p1.probe_element",
9188
14
        FT_NONE, BASE_NONE, NULL, 0,
9189
14
        NULL, HFILL }},
9190
14
    { &hf_p1_report,
9191
14
      { "report", "p1.report_element",
9192
14
        FT_NONE, BASE_NONE, NULL, 0,
9193
14
        NULL, HFILL }},
9194
14
    { &hf_p1_message_envelope,
9195
14
      { "envelope", "p1.message_envelope_element",
9196
14
        FT_NONE, BASE_NONE, NULL, 0,
9197
14
        "MessageTransferEnvelope", HFILL }},
9198
14
    { &hf_p1_content,
9199
14
      { "content", "p1.content",
9200
14
        FT_BYTES, BASE_NONE, NULL, 0,
9201
14
        NULL, HFILL }},
9202
14
    { &hf_p1_report_envelope,
9203
14
      { "envelope", "p1.report_envelope_element",
9204
14
        FT_NONE, BASE_NONE, NULL, 0,
9205
14
        "ReportTransferEnvelope", HFILL }},
9206
14
    { &hf_p1_report_content,
9207
14
      { "content", "p1.report_content_element",
9208
14
        FT_NONE, BASE_NONE, NULL, 0,
9209
14
        "ReportTransferContent", HFILL }},
9210
14
    { &hf_p1_message_identifier,
9211
14
      { "message-identifier", "p1.message_identifier_element",
9212
14
        FT_NONE, BASE_NONE, NULL, 0,
9213
14
        "MessageIdentifier", HFILL }},
9214
14
    { &hf_p1_perMessageTransferFields_originator_name,
9215
14
      { "originator-name", "p1.perMessageTransferFields.originator-name_element",
9216
14
        FT_NONE, BASE_NONE, NULL, 0,
9217
14
        "MTAOriginatorName", HFILL }},
9218
14
    { &hf_p1_original_encoded_information_types,
9219
14
      { "original-encoded-information-types", "p1.original_encoded_information_types_element",
9220
14
        FT_NONE, BASE_NONE, NULL, 0,
9221
14
        "OriginalEncodedInformationTypes", HFILL }},
9222
14
    { &hf_p1_content_type,
9223
14
      { "content-type", "p1.content_type",
9224
14
        FT_UINT32, BASE_DEC, VALS(p1_ContentType_vals), 0,
9225
14
        "ContentType", HFILL }},
9226
14
    { &hf_p1_content_identifier,
9227
14
      { "content-identifier", "p1.content_identifier",
9228
14
        FT_STRING, BASE_NONE, NULL, 0,
9229
14
        "ContentIdentifier", HFILL }},
9230
14
    { &hf_p1_priority,
9231
14
      { "priority", "p1.priority",
9232
14
        FT_UINT32, BASE_DEC, VALS(p1_Priority_U_vals), 0,
9233
14
        NULL, HFILL }},
9234
14
    { &hf_p1_per_message_indicators,
9235
14
      { "per-message-indicators", "p1.per_message_indicators",
9236
14
        FT_BYTES, BASE_NONE, NULL, 0,
9237
14
        "PerMessageIndicators", HFILL }},
9238
14
    { &hf_p1_deferred_delivery_time,
9239
14
      { "deferred-delivery-time", "p1.deferred_delivery_time",
9240
14
        FT_STRING, BASE_NONE, NULL, 0,
9241
14
        "DeferredDeliveryTime", HFILL }},
9242
14
    { &hf_p1_per_domain_bilateral_information,
9243
14
      { "per-domain-bilateral-information", "p1.per_domain_bilateral_information",
9244
14
        FT_UINT32, BASE_DEC, NULL, 0,
9245
14
        "SEQUENCE_SIZE_1_ub_transfers_OF_PerDomainBilateralInformation", HFILL }},
9246
14
    { &hf_p1_per_domain_bilateral_information_item,
9247
14
      { "PerDomainBilateralInformation", "p1.PerDomainBilateralInformation_element",
9248
14
        FT_NONE, BASE_NONE, NULL, 0,
9249
14
        NULL, HFILL }},
9250
14
    { &hf_p1_trace_information,
9251
14
      { "trace-information", "p1.trace_information",
9252
14
        FT_UINT32, BASE_DEC, NULL, 0,
9253
14
        "TraceInformation", HFILL }},
9254
14
    { &hf_p1_extensions,
9255
14
      { "extensions", "p1.extensions",
9256
14
        FT_UINT32, BASE_DEC, NULL, 0,
9257
14
        "SET_OF_ExtensionField", HFILL }},
9258
14
    { &hf_p1_extensions_item,
9259
14
      { "ExtensionField", "p1.ExtensionField_element",
9260
14
        FT_NONE, BASE_NONE, NULL, 0,
9261
14
        NULL, HFILL }},
9262
14
    { &hf_p1_recipient_name,
9263
14
      { "recipient-name", "p1.recipient_name_element",
9264
14
        FT_NONE, BASE_NONE, NULL, 0,
9265
14
        "MTARecipientName", HFILL }},
9266
14
    { &hf_p1_originally_specified_recipient_number,
9267
14
      { "originally-specified-recipient-number", "p1.originally_specified_recipient_number",
9268
14
        FT_UINT32, BASE_DEC, NULL, 0,
9269
14
        "OriginallySpecifiedRecipientNumber", HFILL }},
9270
14
    { &hf_p1_per_recipient_indicators,
9271
14
      { "per-recipient-indicators", "p1.per_recipient_indicators",
9272
14
        FT_BYTES, BASE_NONE, NULL, 0,
9273
14
        "PerRecipientIndicators", HFILL }},
9274
14
    { &hf_p1_explicit_conversion,
9275
14
      { "explicit-conversion", "p1.explicit_conversion",
9276
14
        FT_UINT32, BASE_DEC, VALS(p1_ExplicitConversion_vals), 0,
9277
14
        "ExplicitConversion", HFILL }},
9278
14
    { &hf_p1_probe_identifier,
9279
14
      { "probe-identifier", "p1.probe_identifier_element",
9280
14
        FT_NONE, BASE_NONE, NULL, 0,
9281
14
        "ProbeIdentifier", HFILL }},
9282
14
    { &hf_p1_perProbeTransferFields_originator_name,
9283
14
      { "originator-name", "p1.perProbeTransferFields.originator-name_element",
9284
14
        FT_NONE, BASE_NONE, NULL, 0,
9285
14
        "MTAOriginatorName", HFILL }},
9286
14
    { &hf_p1_content_length,
9287
14
      { "content-length", "p1.content_length",
9288
14
        FT_UINT32, BASE_DEC, NULL, 0,
9289
14
        "ContentLength", HFILL }},
9290
14
    { &hf_p1_report_identifier,
9291
14
      { "report-identifier", "p1.report_identifier_element",
9292
14
        FT_NONE, BASE_NONE, NULL, 0,
9293
14
        "ReportIdentifier", HFILL }},
9294
14
    { &hf_p1_report_destination_name,
9295
14
      { "report-destination-name", "p1.report_destination_name_element",
9296
14
        FT_NONE, BASE_NONE, NULL, 0,
9297
14
        "ReportDestinationName", HFILL }},
9298
14
    { &hf_p1_subject_identifier,
9299
14
      { "subject-identifier", "p1.subject_identifier_element",
9300
14
        FT_NONE, BASE_NONE, NULL, 0,
9301
14
        "SubjectIdentifier", HFILL }},
9302
14
    { &hf_p1_subject_intermediate_trace_information,
9303
14
      { "subject-intermediate-trace-information", "p1.subject_intermediate_trace_information",
9304
14
        FT_UINT32, BASE_DEC, NULL, 0,
9305
14
        "SubjectIntermediateTraceInformation", HFILL }},
9306
14
    { &hf_p1_returned_content,
9307
14
      { "returned-content", "p1.returned_content",
9308
14
        FT_BYTES, BASE_NONE, NULL, 0,
9309
14
        "Content", HFILL }},
9310
14
    { &hf_p1_additional_information,
9311
14
      { "additional-information", "p1.additional_information_element",
9312
14
        FT_NONE, BASE_NONE, NULL, 0,
9313
14
        "AdditionalInformation", HFILL }},
9314
14
    { &hf_p1_mta_actual_recipient_name,
9315
14
      { "actual-recipient-name", "p1.mta_actual_recipient_name_element",
9316
14
        FT_NONE, BASE_NONE, NULL, 0,
9317
14
        "MTAActualRecipientName", HFILL }},
9318
14
    { &hf_p1_last_trace_information,
9319
14
      { "last-trace-information", "p1.last_trace_information_element",
9320
14
        FT_NONE, BASE_NONE, NULL, 0,
9321
14
        "LastTraceInformation", HFILL }},
9322
14
    { &hf_p1_report_originally_intended_recipient_name,
9323
14
      { "originally-intended-recipient-name", "p1.report_originally_intended_recipient_name_element",
9324
14
        FT_NONE, BASE_NONE, NULL, 0,
9325
14
        "OriginallyIntendedRecipientName", HFILL }},
9326
14
    { &hf_p1_supplementary_information,
9327
14
      { "supplementary-information", "p1.supplementary_information",
9328
14
        FT_STRING, BASE_NONE, NULL, 0,
9329
14
        "SupplementaryInformation", HFILL }},
9330
14
    { &hf_p1_country_name,
9331
14
      { "country-name", "p1.country_name",
9332
14
        FT_UINT32, BASE_DEC, VALS(p1_CountryName_U_vals), 0,
9333
14
        "CountryName", HFILL }},
9334
14
    { &hf_p1_bilateral_domain,
9335
14
      { "domain", "p1.bilateral_domain",
9336
14
        FT_UINT32, BASE_DEC, VALS(p1_T_bilateral_domain_vals), 0,
9337
14
        "T_bilateral_domain", HFILL }},
9338
14
    { &hf_p1_administration_domain_name,
9339
14
      { "administration-domain-name", "p1.administration_domain_name",
9340
14
        FT_UINT32, BASE_DEC, VALS(p1_AdministrationDomainName_U_vals), 0,
9341
14
        "AdministrationDomainName", HFILL }},
9342
14
    { &hf_p1_private_domain,
9343
14
      { "private-domain", "p1.private_domain_element",
9344
14
        FT_NONE, BASE_NONE, NULL, 0,
9345
14
        NULL, HFILL }},
9346
14
    { &hf_p1_private_domain_identifier,
9347
14
      { "private-domain-identifier", "p1.private_domain_identifier",
9348
14
        FT_UINT32, BASE_DEC, VALS(p1_PrivateDomainIdentifier_vals), 0,
9349
14
        "PrivateDomainIdentifier", HFILL }},
9350
14
    { &hf_p1_bilateral_information,
9351
14
      { "bilateral-information", "p1.bilateral_information_element",
9352
14
        FT_NONE, BASE_NONE, NULL, 0,
9353
14
        NULL, HFILL }},
9354
14
    { &hf_p1_arrival_time,
9355
14
      { "arrival-time", "p1.arrival_time",
9356
14
        FT_STRING, BASE_NONE, NULL, 0,
9357
14
        "ArrivalTime", HFILL }},
9358
14
    { &hf_p1_converted_encoded_information_types,
9359
14
      { "converted-encoded-information-types", "p1.converted_encoded_information_types_element",
9360
14
        FT_NONE, BASE_NONE, NULL, 0,
9361
14
        "ConvertedEncodedInformationTypes", HFILL }},
9362
14
    { &hf_p1_trace_report_type,
9363
14
      { "report-type", "p1.trace_report_type",
9364
14
        FT_UINT32, BASE_DEC, VALS(p1_ReportType_vals), 0,
9365
14
        "ReportType", HFILL }},
9366
14
    { &hf_p1_InternalTraceInformation_item,
9367
14
      { "InternalTraceInformationElement", "p1.InternalTraceInformationElement_element",
9368
14
        FT_NONE, BASE_NONE, NULL, 0,
9369
14
        NULL, HFILL }},
9370
14
    { &hf_p1_global_domain_identifier,
9371
14
      { "global-domain-identifier", "p1.global_domain_identifier_element",
9372
14
        FT_NONE, BASE_NONE, NULL, 0,
9373
14
        "GlobalDomainIdentifier", HFILL }},
9374
14
    { &hf_p1_mta_name,
9375
14
      { "mta-name", "p1.mta_name",
9376
14
        FT_STRING, BASE_NONE, NULL, 0,
9377
14
        "MTAName", HFILL }},
9378
14
    { &hf_p1_mta_supplied_information,
9379
14
      { "mta-supplied-information", "p1.mta_supplied_information_element",
9380
14
        FT_NONE, BASE_NONE, NULL, 0,
9381
14
        "MTASuppliedInformation", HFILL }},
9382
14
    { &hf_p1__untag_item,
9383
14
      { "TraceInformationElement", "p1.TraceInformationElement_element",
9384
14
        FT_NONE, BASE_NONE, NULL, 0,
9385
14
        NULL, HFILL }},
9386
14
    { &hf_p1_domain_supplied_information,
9387
14
      { "domain-supplied-information", "p1.domain_supplied_information_element",
9388
14
        FT_NONE, BASE_NONE, NULL, 0,
9389
14
        "DomainSuppliedInformation", HFILL }},
9390
14
    { &hf_p1_deferred_time,
9391
14
      { "deferred-time", "p1.deferred_time",
9392
14
        FT_STRING, BASE_NONE, NULL, 0,
9393
14
        "DeferredTime", HFILL }},
9394
14
    { &hf_p1_other_actions,
9395
14
      { "other-actions", "p1.other_actions",
9396
14
        FT_BYTES, BASE_NONE, NULL, 0,
9397
14
        "OtherActions", HFILL }},
9398
14
    { &hf_p1_initiator_name,
9399
14
      { "initiator-name", "p1.initiator_name",
9400
14
        FT_UINT32, BASE_DEC, VALS(p1_ObjectName_vals), 0,
9401
14
        "ObjectName", HFILL }},
9402
14
    { &hf_p1_messages_waiting,
9403
14
      { "messages-waiting", "p1.messages_waiting_element",
9404
14
        FT_NONE, BASE_NONE, NULL, 0,
9405
14
        "MessagesWaiting", HFILL }},
9406
14
    { &hf_p1_responder_name,
9407
14
      { "responder-name", "p1.responder_name",
9408
14
        FT_UINT32, BASE_DEC, VALS(p1_ObjectName_vals), 0,
9409
14
        "ObjectName", HFILL }},
9410
14
    { &hf_p1_user_agent,
9411
14
      { "user-agent", "p1.user_agent_element",
9412
14
        FT_NONE, BASE_NONE, NULL, 0,
9413
14
        "ORAddressAndOptionalDirectoryName", HFILL }},
9414
14
    { &hf_p1_mTA,
9415
14
      { "mTA", "p1.mTA",
9416
14
        FT_STRING, BASE_NONE, NULL, 0,
9417
14
        "MTAName", HFILL }},
9418
14
    { &hf_p1_message_store,
9419
14
      { "message-store", "p1.message_store_element",
9420
14
        FT_NONE, BASE_NONE, NULL, 0,
9421
14
        "ORAddressAndOptionalDirectoryName", HFILL }},
9422
14
    { &hf_p1_urgent,
9423
14
      { "urgent", "p1.urgent_element",
9424
14
        FT_NONE, BASE_NONE, NULL, 0,
9425
14
        "DeliveryQueue", HFILL }},
9426
14
    { &hf_p1_normal,
9427
14
      { "normal", "p1.normal_element",
9428
14
        FT_NONE, BASE_NONE, NULL, 0,
9429
14
        "DeliveryQueue", HFILL }},
9430
14
    { &hf_p1_non_urgent,
9431
14
      { "non-urgent", "p1.non_urgent_element",
9432
14
        FT_NONE, BASE_NONE, NULL, 0,
9433
14
        "DeliveryQueue", HFILL }},
9434
14
    { &hf_p1_messages,
9435
14
      { "messages", "p1.messages",
9436
14
        FT_UINT32, BASE_DEC, NULL, 0,
9437
14
        "INTEGER_0_ub_queue_size", HFILL }},
9438
14
    { &hf_p1_delivery_queue_octets,
9439
14
      { "octets", "p1.delivery-queue.octets",
9440
14
        FT_UINT32, BASE_DEC, NULL, 0,
9441
14
        "INTEGER_0_ub_content_length", HFILL }},
9442
14
    { &hf_p1_simple,
9443
14
      { "simple", "p1.simple",
9444
14
        FT_UINT32, BASE_DEC, VALS(p1_Password_vals), 0,
9445
14
        "Password", HFILL }},
9446
14
    { &hf_p1_strong,
9447
14
      { "strong", "p1.strong_element",
9448
14
        FT_NONE, BASE_NONE, NULL, 0,
9449
14
        "StrongCredentials", HFILL }},
9450
14
    { &hf_p1_protected,
9451
14
      { "protected", "p1.protected_element",
9452
14
        FT_NONE, BASE_NONE, NULL, 0,
9453
14
        "ProtectedPassword", HFILL }},
9454
14
    { &hf_p1_ia5_string,
9455
14
      { "ia5-string", "p1.ia5_string",
9456
14
        FT_STRING, BASE_NONE, NULL, 0,
9457
14
        "IA5String_SIZE_0_ub_password_length", HFILL }},
9458
14
    { &hf_p1_octet_string,
9459
14
      { "octet-string", "p1.octet_string",
9460
14
        FT_BYTES, BASE_NONE, NULL, 0,
9461
14
        "OCTET_STRING_SIZE_0_ub_password_length", HFILL }},
9462
14
    { &hf_p1_bind_token,
9463
14
      { "bind-token", "p1.bind_token_element",
9464
14
        FT_NONE, BASE_NONE, NULL, 0,
9465
14
        "Token", HFILL }},
9466
14
    { &hf_p1_certificate,
9467
14
      { "certificate", "p1.certificate_element",
9468
14
        FT_NONE, BASE_NONE, NULL, 0,
9469
14
        "Certificates", HFILL }},
9470
14
    { &hf_p1_certificate_selector,
9471
14
      { "certificate-selector", "p1.certificate_selector_element",
9472
14
        FT_NONE, BASE_NONE, NULL, 0,
9473
14
        "CertificateAssertion", HFILL }},
9474
14
    { &hf_p1_signature,
9475
14
      { "signature", "p1.signature_element",
9476
14
        FT_NONE, BASE_NONE, NULL, 0,
9477
14
        NULL, HFILL }},
9478
14
    { &hf_p1_time1,
9479
14
      { "time1", "p1.time1",
9480
14
        FT_STRING, BASE_NONE, NULL, 0,
9481
14
        "UTCTime", HFILL }},
9482
14
    { &hf_p1_time2,
9483
14
      { "time2", "p1.time2",
9484
14
        FT_STRING, BASE_NONE, NULL, 0,
9485
14
        "UTCTime", HFILL }},
9486
14
    { &hf_p1_random1,
9487
14
      { "random1", "p1.random1",
9488
14
        FT_BYTES, BASE_NONE, NULL, 0,
9489
14
        "BIT_STRING", HFILL }},
9490
14
    { &hf_p1_random2,
9491
14
      { "random2", "p1.random2",
9492
14
        FT_BYTES, BASE_NONE, NULL, 0,
9493
14
        "BIT_STRING", HFILL }},
9494
14
    { &hf_p1_algorithmIdentifier,
9495
14
      { "algorithmIdentifier", "p1.algorithmIdentifier_element",
9496
14
        FT_NONE, BASE_NONE, NULL, 0,
9497
14
        NULL, HFILL }},
9498
14
    { &hf_p1_encrypted,
9499
14
      { "encrypted", "p1.encrypted",
9500
14
        FT_BYTES, BASE_NONE, NULL, 0,
9501
14
        "BIT_STRING", HFILL }},
9502
14
    { &hf_p1_SecurityContext_item,
9503
14
      { "SecurityLabel", "p1.SecurityLabel_element",
9504
14
        FT_NONE, BASE_NONE, NULL, 0,
9505
14
        NULL, HFILL }},
9506
14
    { &hf_p1_message_submission_envelope,
9507
14
      { "envelope", "p1.message_submission_envelope_element",
9508
14
        FT_NONE, BASE_NONE, NULL, 0,
9509
14
        "MessageSubmissionEnvelope", HFILL }},
9510
14
    { &hf_p1_message_submission_identifier,
9511
14
      { "message-submission-identifier", "p1.message_submission_identifier_element",
9512
14
        FT_NONE, BASE_NONE, NULL, 0,
9513
14
        "MessageSubmissionIdentifier", HFILL }},
9514
14
    { &hf_p1_message_submission_time,
9515
14
      { "message-submission-time", "p1.message_submission_time",
9516
14
        FT_STRING, BASE_NONE, NULL, 0,
9517
14
        "MessageSubmissionTime", HFILL }},
9518
14
    { &hf_p1_probe_submission_identifier,
9519
14
      { "probe-submission-identifier", "p1.probe_submission_identifier_element",
9520
14
        FT_NONE, BASE_NONE, NULL, 0,
9521
14
        "ProbeSubmissionIdentifier", HFILL }},
9522
14
    { &hf_p1_probe_submission_time,
9523
14
      { "probe-submission-time", "p1.probe_submission_time",
9524
14
        FT_STRING, BASE_NONE, NULL, 0,
9525
14
        "ProbeSubmissionTime", HFILL }},
9526
14
    { &hf_p1_ImproperlySpecifiedRecipients_item,
9527
14
      { "RecipientName", "p1.RecipientName_element",
9528
14
        FT_NONE, BASE_NONE, NULL, 0,
9529
14
        NULL, HFILL }},
9530
14
    { &hf_p1_waiting_operations,
9531
14
      { "waiting-operations", "p1.waiting_operations",
9532
14
        FT_BYTES, BASE_NONE, NULL, 0,
9533
14
        "Operations", HFILL }},
9534
14
    { &hf_p1_waiting_messages,
9535
14
      { "waiting-messages", "p1.waiting_messages",
9536
14
        FT_BYTES, BASE_NONE, NULL, 0,
9537
14
        "WaitingMessages", HFILL }},
9538
14
    { &hf_p1_waiting_content_types,
9539
14
      { "waiting-content-types", "p1.waiting_content_types",
9540
14
        FT_UINT32, BASE_DEC, NULL, 0,
9541
14
        "SET_SIZE_0_ub_content_types_OF_ContentType", HFILL }},
9542
14
    { &hf_p1_waiting_content_types_item,
9543
14
      { "ContentType", "p1.ContentType",
9544
14
        FT_UINT32, BASE_DEC, VALS(p1_ContentType_vals), 0,
9545
14
        NULL, HFILL }},
9546
14
    { &hf_p1_waiting_encoded_information_types,
9547
14
      { "waiting-encoded-information-types", "p1.waiting_encoded_information_types_element",
9548
14
        FT_NONE, BASE_NONE, NULL, 0,
9549
14
        "EncodedInformationTypes", HFILL }},
9550
14
    { &hf_p1_recipient_certificate,
9551
14
      { "recipient-certificate", "p1.recipient_certificate_element",
9552
14
        FT_NONE, BASE_NONE, NULL, 0,
9553
14
        "RecipientCertificate", HFILL }},
9554
14
    { &hf_p1_proof_of_delivery,
9555
14
      { "proof-of-delivery", "p1.proof_of_delivery_element",
9556
14
        FT_NONE, BASE_NONE, NULL, 0,
9557
14
        "ProofOfDelivery", HFILL }},
9558
14
    { &hf_p1_empty_result,
9559
14
      { "empty-result", "p1.empty_result_element",
9560
14
        FT_NONE, BASE_NONE, NULL, 0,
9561
14
        NULL, HFILL }},
9562
14
    { &hf_p1_max_extensions,
9563
14
      { "extensions", "p1.max_extensions",
9564
14
        FT_UINT32, BASE_DEC, NULL, 0,
9565
14
        "SET_SIZE_1_MAX_OF_ExtensionField", HFILL }},
9566
14
    { &hf_p1_max_extensions_item,
9567
14
      { "ExtensionField", "p1.ExtensionField_element",
9568
14
        FT_NONE, BASE_NONE, NULL, 0,
9569
14
        NULL, HFILL }},
9570
14
    { &hf_p1_restrict,
9571
14
      { "restrict", "p1.restrict",
9572
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
9573
14
        "BOOLEAN", HFILL }},
9574
14
    { &hf_p1_permissible_operations,
9575
14
      { "permissible-operations", "p1.permissible_operations",
9576
14
        FT_BYTES, BASE_NONE, NULL, 0,
9577
14
        "Operations", HFILL }},
9578
14
    { &hf_p1_permissible_maximum_content_length,
9579
14
      { "permissible-maximum-content-length", "p1.permissible_maximum_content_length",
9580
14
        FT_UINT32, BASE_DEC, NULL, 0,
9581
14
        "ContentLength", HFILL }},
9582
14
    { &hf_p1_permissible_lowest_priority,
9583
14
      { "permissible-lowest-priority", "p1.permissible_lowest_priority",
9584
14
        FT_UINT32, BASE_DEC, VALS(p1_Priority_U_vals), 0,
9585
14
        "Priority", HFILL }},
9586
14
    { &hf_p1_permissible_content_types,
9587
14
      { "permissible-content-types", "p1.permissible_content_types",
9588
14
        FT_UINT32, BASE_DEC, NULL, 0,
9589
14
        "ContentTypes", HFILL }},
9590
14
    { &hf_p1_permissible_encoded_information_types,
9591
14
      { "permissible-encoded-information-types", "p1.permissible_encoded_information_types_element",
9592
14
        FT_NONE, BASE_NONE, NULL, 0,
9593
14
        "PermissibleEncodedInformationTypes", HFILL }},
9594
14
    { &hf_p1_permissible_security_context,
9595
14
      { "permissible-security-context", "p1.permissible_security_context",
9596
14
        FT_UINT32, BASE_DEC, NULL, 0,
9597
14
        "SecurityContext", HFILL }},
9598
14
    { &hf_p1_refused_argument,
9599
14
      { "refused-argument", "p1.refused_argument",
9600
14
        FT_UINT32, BASE_DEC, VALS(p1_T_refused_argument_vals), 0,
9601
14
        NULL, HFILL }},
9602
14
    { &hf_p1_built_in_argument,
9603
14
      { "built-in-argument", "p1.built_in_argument",
9604
14
        FT_UINT32, BASE_DEC, VALS(p1_RefusedArgument_vals), 0,
9605
14
        "RefusedArgument", HFILL }},
9606
14
    { &hf_p1_refused_extension,
9607
14
      { "refused-extension", "p1.refused_extension",
9608
14
        FT_UINT32, BASE_DEC, VALS(p1_ExtensionType_vals), 0,
9609
14
        NULL, HFILL }},
9610
14
    { &hf_p1_refusal_reason,
9611
14
      { "refusal-reason", "p1.refusal_reason",
9612
14
        FT_UINT32, BASE_DEC, VALS(p1_RefusalReason_vals), 0,
9613
14
        "RefusalReason", HFILL }},
9614
14
    { &hf_p1_user_name,
9615
14
      { "user-name", "p1.user_name_element",
9616
14
        FT_NONE, BASE_NONE, NULL, 0,
9617
14
        "UserName", HFILL }},
9618
14
    { &hf_p1_user_address,
9619
14
      { "user-address", "p1.user_address",
9620
14
        FT_UINT32, BASE_DEC, VALS(p1_UserAddress_vals), 0,
9621
14
        "UserAddress", HFILL }},
9622
14
    { &hf_p1_deliverable_class,
9623
14
      { "deliverable-class", "p1.deliverable_class",
9624
14
        FT_UINT32, BASE_DEC, NULL, 0,
9625
14
        "SET_SIZE_1_ub_deliverable_class_OF_DeliverableClass", HFILL }},
9626
14
    { &hf_p1_deliverable_class_item,
9627
14
      { "DeliverableClass", "p1.DeliverableClass_element",
9628
14
        FT_NONE, BASE_NONE, NULL, 0,
9629
14
        NULL, HFILL }},
9630
14
    { &hf_p1_default_delivery_controls,
9631
14
      { "default-delivery-controls", "p1.default_delivery_controls_element",
9632
14
        FT_NONE, BASE_NONE, NULL, 0,
9633
14
        "DefaultDeliveryControls", HFILL }},
9634
14
    { &hf_p1_redirections,
9635
14
      { "redirections", "p1.redirections",
9636
14
        FT_UINT32, BASE_DEC, NULL, 0,
9637
14
        NULL, HFILL }},
9638
14
    { &hf_p1_restricted_delivery,
9639
14
      { "restricted-delivery", "p1.restricted_delivery",
9640
14
        FT_UINT32, BASE_DEC, NULL, 0,
9641
14
        "RestrictedDelivery", HFILL }},
9642
14
    { &hf_p1_retrieve_registrations,
9643
14
      { "retrieve-registrations", "p1.retrieve_registrations_element",
9644
14
        FT_NONE, BASE_NONE, NULL, 0,
9645
14
        "RegistrationTypes", HFILL }},
9646
14
    { &hf_p1_non_empty_result,
9647
14
      { "non-empty-result", "p1.non_empty_result_element",
9648
14
        FT_NONE, BASE_NONE, NULL, 0,
9649
14
        NULL, HFILL }},
9650
14
    { &hf_p1_registered_information,
9651
14
      { "registered-information", "p1.registered_information_element",
9652
14
        FT_NONE, BASE_NONE, NULL, 0,
9653
14
        "RegisterArgument", HFILL }},
9654
14
    { &hf_p1_old_credentials,
9655
14
      { "old-credentials", "p1.old_credentials",
9656
14
        FT_UINT32, BASE_DEC, VALS(p1_Credentials_vals), 0,
9657
14
        "Credentials", HFILL }},
9658
14
    { &hf_p1_new_credentials,
9659
14
      { "new-credentials", "p1.new_credentials",
9660
14
        FT_UINT32, BASE_DEC, VALS(p1_Credentials_vals), 0,
9661
14
        "Credentials", HFILL }},
9662
14
    { &hf_p1_x121,
9663
14
      { "x121", "p1.x121_element",
9664
14
        FT_NONE, BASE_NONE, NULL, 0,
9665
14
        NULL, HFILL }},
9666
14
    { &hf_p1_x121_address,
9667
14
      { "x121-address", "p1.x121_address",
9668
14
        FT_STRING, BASE_NONE, NULL, 0,
9669
14
        NULL, HFILL }},
9670
14
    { &hf_p1_tsap_id,
9671
14
      { "tsap-id", "p1.tsap_id",
9672
14
        FT_STRING, BASE_NONE, NULL, 0,
9673
14
        "PrintableString_SIZE_1_ub_tsap_id_length", HFILL }},
9674
14
    { &hf_p1_presentation,
9675
14
      { "presentation", "p1.presentation_element",
9676
14
        FT_NONE, BASE_NONE, NULL, 0,
9677
14
        "PSAPAddress", HFILL }},
9678
14
    { &hf_p1_Redirections_item,
9679
14
      { "RecipientRedirection", "p1.RecipientRedirection_element",
9680
14
        FT_NONE, BASE_NONE, NULL, 0,
9681
14
        NULL, HFILL }},
9682
14
    { &hf_p1_redirection_classes,
9683
14
      { "redirection-classes", "p1.redirection_classes",
9684
14
        FT_UINT32, BASE_DEC, NULL, 0,
9685
14
        "SET_SIZE_1_ub_redirection_classes_OF_RedirectionClass", HFILL }},
9686
14
    { &hf_p1_redirection_classes_item,
9687
14
      { "RedirectionClass", "p1.RedirectionClass_element",
9688
14
        FT_NONE, BASE_NONE, NULL, 0,
9689
14
        NULL, HFILL }},
9690
14
    { &hf_p1_recipient_assigned_alternate_recipient,
9691
14
      { "recipient-assigned-alternate-recipient", "p1.recipient_assigned_alternate_recipient_element",
9692
14
        FT_NONE, BASE_NONE, NULL, 0,
9693
14
        "RecipientAssignedAlternateRecipient", HFILL }},
9694
14
    { &hf_p1_content_types,
9695
14
      { "content-types", "p1.content_types",
9696
14
        FT_UINT32, BASE_DEC, NULL, 0,
9697
14
        "ContentTypes", HFILL }},
9698
14
    { &hf_p1_maximum_content_length,
9699
14
      { "maximum-content-length", "p1.maximum_content_length",
9700
14
        FT_UINT32, BASE_DEC, NULL, 0,
9701
14
        "ContentLength", HFILL }},
9702
14
    { &hf_p1_encoded_information_types_constraints,
9703
14
      { "encoded-information-types-constraints", "p1.encoded_information_types_constraints_element",
9704
14
        FT_NONE, BASE_NONE, NULL, 0,
9705
14
        "EncodedInformationTypesConstraints", HFILL }},
9706
14
    { &hf_p1_security_labels,
9707
14
      { "security-labels", "p1.security_labels",
9708
14
        FT_UINT32, BASE_DEC, NULL, 0,
9709
14
        "SecurityContext", HFILL }},
9710
14
    { &hf_p1_class_priority,
9711
14
      { "priority", "p1.class_priority",
9712
14
        FT_UINT32, BASE_DEC, NULL, 0,
9713
14
        "SET_OF_Priority", HFILL }},
9714
14
    { &hf_p1_class_priority_item,
9715
14
      { "Priority", "p1.Priority",
9716
14
        FT_UINT32, BASE_DEC, VALS(p1_Priority_U_vals), 0,
9717
14
        NULL, HFILL }},
9718
14
    { &hf_p1_objects,
9719
14
      { "objects", "p1.objects",
9720
14
        FT_UINT32, BASE_DEC, VALS(p1_T_objects_vals), 0,
9721
14
        NULL, HFILL }},
9722
14
    { &hf_p1_applies_only_to,
9723
14
      { "applies-only-to", "p1.applies_only_to",
9724
14
        FT_UINT32, BASE_DEC, NULL, 0,
9725
14
        "SEQUENCE_OF_Restriction", HFILL }},
9726
14
    { &hf_p1_applies_only_to_item,
9727
14
      { "Restriction", "p1.Restriction_element",
9728
14
        FT_NONE, BASE_NONE, NULL, 0,
9729
14
        NULL, HFILL }},
9730
14
    { &hf_p1_unacceptable_eits,
9731
14
      { "unacceptable-eits", "p1.unacceptable_eits",
9732
14
        FT_UINT32, BASE_DEC, NULL, 0,
9733
14
        "ExtendedEncodedInformationTypes", HFILL }},
9734
14
    { &hf_p1_acceptable_eits,
9735
14
      { "acceptable-eits", "p1.acceptable_eits",
9736
14
        FT_UINT32, BASE_DEC, NULL, 0,
9737
14
        "ExtendedEncodedInformationTypes", HFILL }},
9738
14
    { &hf_p1_exclusively_acceptable_eits,
9739
14
      { "exclusively-acceptable-eits", "p1.exclusively_acceptable_eits",
9740
14
        FT_UINT32, BASE_DEC, NULL, 0,
9741
14
        "ExtendedEncodedInformationTypes", HFILL }},
9742
14
    { &hf_p1_RestrictedDelivery_item,
9743
14
      { "Restriction", "p1.Restriction_element",
9744
14
        FT_NONE, BASE_NONE, NULL, 0,
9745
14
        NULL, HFILL }},
9746
14
    { &hf_p1_permitted,
9747
14
      { "permitted", "p1.permitted",
9748
14
        FT_BOOLEAN, BASE_NONE, NULL, 0,
9749
14
        "BOOLEAN", HFILL }},
9750
14
    { &hf_p1_source_type,
9751
14
      { "source-type", "p1.source_type",
9752
14
        FT_BYTES, BASE_NONE, NULL, 0,
9753
14
        NULL, HFILL }},
9754
14
    { &hf_p1_source_name,
9755
14
      { "source-name", "p1.source_name",
9756
14
        FT_UINT32, BASE_DEC, VALS(p1_ExactOrPattern_vals), 0,
9757
14
        "ExactOrPattern", HFILL }},
9758
14
    { &hf_p1_exact_match,
9759
14
      { "exact-match", "p1.exact_match_element",
9760
14
        FT_NONE, BASE_NONE, NULL, 0,
9761
14
        "ORName", HFILL }},
9762
14
    { &hf_p1_pattern_match,
9763
14
      { "pattern-match", "p1.pattern_match_element",
9764
14
        FT_NONE, BASE_NONE, NULL, 0,
9765
14
        "ORName", HFILL }},
9766
14
    { &hf_p1_standard_parameters,
9767
14
      { "standard-parameters", "p1.standard_parameters",
9768
14
        FT_BYTES, BASE_NONE, NULL, 0,
9769
14
        NULL, HFILL }},
9770
14
    { &hf_p1_type_extensions,
9771
14
      { "extensions", "p1.type_extensions",
9772
14
        FT_UINT32, BASE_DEC, NULL, 0,
9773
14
        "T_type_extensions", HFILL }},
9774
14
    { &hf_p1_type_extensions_item,
9775
14
      { "extensions item", "p1.type_extensions_item",
9776
14
        FT_UINT32, BASE_DEC, VALS(p1_ExtensionType_vals), 0,
9777
14
        "T_type_extensions_item", HFILL }},
9778
14
    { &hf_p1_perMessageSubmissionFields_originator_name,
9779
14
      { "originator-name", "p1.perMessageSubmissionFields.originator-name_element",
9780
14
        FT_NONE, BASE_NONE, NULL, 0,
9781
14
        "OriginatorName", HFILL }},
9782
14
    { &hf_p1_submission_recipient_name,
9783
14
      { "recipient-name", "p1.submission_recipient_name_element",
9784
14
        FT_NONE, BASE_NONE, NULL, 0,
9785
14
        "RecipientName", HFILL }},
9786
14
    { &hf_p1_originator_report_request,
9787
14
      { "originator-report-request", "p1.originator_report_request",
9788
14
        FT_BYTES, BASE_NONE, NULL, 0,
9789
14
        "OriginatorReportRequest", HFILL }},
9790
14
    { &hf_p1_perProbeSubmissionFields_originator_name,
9791
14
      { "originator-name", "p1.perProbeSubmissionFields.originator-name_element",
9792
14
        FT_NONE, BASE_NONE, NULL, 0,
9793
14
        "OriginatorName", HFILL }},
9794
14
    { &hf_p1_probe_recipient_name,
9795
14
      { "recipient-name", "p1.probe_recipient_name_element",
9796
14
        FT_NONE, BASE_NONE, NULL, 0,
9797
14
        "RecipientName", HFILL }},
9798
14
    { &hf_p1_message_delivery_identifier,
9799
14
      { "message-delivery-identifier", "p1.message_delivery_identifier_element",
9800
14
        FT_NONE, BASE_NONE, NULL, 0,
9801
14
        "MessageDeliveryIdentifier", HFILL }},
9802
14
    { &hf_p1_message_delivery_time,
9803
14
      { "message-delivery-time", "p1.message_delivery_time",
9804
14
        FT_STRING, BASE_NONE, NULL, 0,
9805
14
        "MessageDeliveryTime", HFILL }},
9806
14
    { &hf_p1_other_fields,
9807
14
      { "other-fields", "p1.other_fields_element",
9808
14
        FT_NONE, BASE_NONE, NULL, 0,
9809
14
        "OtherMessageDeliveryFields", HFILL }},
9810
14
    { &hf_p1_delivered_content_type,
9811
14
      { "content-type", "p1.delivered_content_type",
9812
14
        FT_UINT32, BASE_DEC, VALS(p1_DeliveredContentType_vals), 0,
9813
14
        "DeliveredContentType", HFILL }},
9814
14
    { &hf_p1_delivered_originator_name,
9815
14
      { "originator-name", "p1.delivered_originator_name_element",
9816
14
        FT_NONE, BASE_NONE, NULL, 0,
9817
14
        "DeliveredOriginatorName", HFILL }},
9818
14
    { &hf_p1_delivery_flags,
9819
14
      { "delivery-flags", "p1.delivery_flags",
9820
14
        FT_BYTES, BASE_NONE, NULL, 0,
9821
14
        "DeliveryFlags", HFILL }},
9822
14
    { &hf_p1_other_recipient_names,
9823
14
      { "other-recipient-names", "p1.other_recipient_names",
9824
14
        FT_UINT32, BASE_DEC, NULL, 0,
9825
14
        "OtherRecipientNames", HFILL }},
9826
14
    { &hf_p1_this_recipient_name,
9827
14
      { "this-recipient-name", "p1.this_recipient_name_element",
9828
14
        FT_NONE, BASE_NONE, NULL, 0,
9829
14
        "ThisRecipientName", HFILL }},
9830
14
    { &hf_p1_originally_intended_recipient_name,
9831
14
      { "originally-intended-recipient-name", "p1.originally_intended_recipient_name_element",
9832
14
        FT_NONE, BASE_NONE, NULL, 0,
9833
14
        "OriginallyIntendedRecipientName", HFILL }},
9834
14
    { &hf_p1_subject_submission_identifier,
9835
14
      { "subject-submission-identifier", "p1.subject_submission_identifier_element",
9836
14
        FT_NONE, BASE_NONE, NULL, 0,
9837
14
        "SubjectSubmissionIdentifier", HFILL }},
9838
14
    { &hf_p1_actual_recipient_name,
9839
14
      { "actual-recipient-name", "p1.actual_recipient_name_element",
9840
14
        FT_NONE, BASE_NONE, NULL, 0,
9841
14
        "ActualRecipientName", HFILL }},
9842
14
    { &hf_p1_delivery_report_type,
9843
14
      { "report-type", "p1.delivery_report_type",
9844
14
        FT_UINT32, BASE_DEC, VALS(p1_ReportType_vals), 0,
9845
14
        "ReportType", HFILL }},
9846
14
    { &hf_p1_delivery,
9847
14
      { "delivery", "p1.delivery_element",
9848
14
        FT_NONE, BASE_NONE, NULL, 0,
9849
14
        "DeliveryReport", HFILL }},
9850
14
    { &hf_p1_non_delivery,
9851
14
      { "non-delivery", "p1.non_delivery_element",
9852
14
        FT_NONE, BASE_NONE, NULL, 0,
9853
14
        "NonDeliveryReport", HFILL }},
9854
14
    { &hf_p1_type_of_MTS_user,
9855
14
      { "type-of-MTS-user", "p1.type_of_MTS_user",
9856
14
        FT_UINT32, BASE_DEC, VALS(p1_TypeOfMTSUser_vals), 0,
9857
14
        "TypeOfMTSUser", HFILL }},
9858
14
    { &hf_p1_non_delivery_reason_code,
9859
14
      { "non-delivery-reason-code", "p1.non_delivery_reason_code",
9860
14
        FT_UINT32, BASE_DEC, VALS(p1_NonDeliveryReasonCode_vals), 0,
9861
14
        "NonDeliveryReasonCode", HFILL }},
9862
14
    { &hf_p1_non_delivery_diagnostic_code,
9863
14
      { "non-delivery-diagnostic-code", "p1.non_delivery_diagnostic_code",
9864
14
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &p1_NonDeliveryDiagnosticCode_vals_ext, 0,
9865
14
        "NonDeliveryDiagnosticCode", HFILL }},
9866
14
    { &hf_p1_ContentTypes_item,
9867
14
      { "ContentType", "p1.ContentType",
9868
14
        FT_UINT32, BASE_DEC, VALS(p1_ContentType_vals), 0,
9869
14
        NULL, HFILL }},
9870
14
    { &hf_p1_built_in,
9871
14
      { "built-in", "p1.built_in",
9872
14
        FT_UINT32, BASE_DEC, VALS(p1_BuiltInContentType_U_vals), 0,
9873
14
        "BuiltInContentType", HFILL }},
9874
14
    { &hf_p1_extended,
9875
14
      { "extended", "p1.extended",
9876
14
        FT_OID, BASE_NONE, NULL, 0,
9877
14
        "ExtendedContentType", HFILL }},
9878
14
    { &hf_p1_OtherRecipientNames_item,
9879
14
      { "OtherRecipientName", "p1.OtherRecipientName_element",
9880
14
        FT_NONE, BASE_NONE, NULL, 0,
9881
14
        NULL, HFILL }},
9882
14
    { &hf_p1_standard_extension,
9883
14
      { "standard-extension", "p1.standard_extension",
9884
14
        FT_INT32, BASE_DEC, VALS(p1_StandardExtension_vals), 0,
9885
14
        "StandardExtension", HFILL }},
9886
14
    { &hf_p1_private_extension,
9887
14
      { "private-extension", "p1.private_extension",
9888
14
        FT_OID, BASE_NONE, NULL, 0,
9889
14
        NULL, HFILL }},
9890
14
    { &hf_p1_extension_type,
9891
14
      { "type", "p1.extension.type",
9892
14
        FT_UINT32, BASE_DEC, VALS(p1_ExtensionType_vals), 0,
9893
14
        "ExtensionType", HFILL }},
9894
14
    { &hf_p1_criticality,
9895
14
      { "criticality", "p1.criticality",
9896
14
        FT_BYTES, BASE_NONE, NULL, 0,
9897
14
        NULL, HFILL }},
9898
14
    { &hf_p1_extension_value,
9899
14
      { "value", "p1.extension_value_element",
9900
14
        FT_NONE, BASE_NONE, NULL, 0,
9901
14
        "ExtensionValue", HFILL }},
9902
14
    { &hf_p1_RequestedDeliveryMethod_item,
9903
14
      { "RequestedDeliveryMethod item", "p1.RequestedDeliveryMethod_item",
9904
14
        FT_UINT32, BASE_DEC, VALS(p1_RequestedDeliveryMethod_item_vals), 0,
9905
14
        NULL, HFILL }},
9906
14
    { &hf_p1_ia5text,
9907
14
      { "ia5text", "p1.ia5text",
9908
14
        FT_STRING, BASE_NONE, NULL, 0,
9909
14
        "IA5String", HFILL }},
9910
14
    { &hf_p1_octets,
9911
14
      { "octets", "p1.octets",
9912
14
        FT_BYTES, BASE_NONE, NULL, 0,
9913
14
        "OCTET_STRING", HFILL }},
9914
14
    { &hf_p1_RedirectionHistory_item,
9915
14
      { "Redirection", "p1.Redirection_element",
9916
14
        FT_NONE, BASE_NONE, NULL, 0,
9917
14
        NULL, HFILL }},
9918
14
    { &hf_p1_intended_recipient_name,
9919
14
      { "intended-recipient-name", "p1.intended_recipient_name_element",
9920
14
        FT_NONE, BASE_NONE, NULL, 0,
9921
14
        "IntendedRecipientName", HFILL }},
9922
14
    { &hf_p1_redirection_reason,
9923
14
      { "redirection-reason", "p1.redirection_reason",
9924
14
        FT_UINT32, BASE_DEC, VALS(p1_RedirectionReason_vals), 0,
9925
14
        "RedirectionReason", HFILL }},
9926
14
    { &hf_p1_intended_recipient,
9927
14
      { "intended-recipient", "p1.intended_recipient_element",
9928
14
        FT_NONE, BASE_NONE, NULL, 0,
9929
14
        "ORAddressAndOptionalDirectoryName", HFILL }},
9930
14
    { &hf_p1_redirection_time,
9931
14
      { "redirection-time", "p1.redirection_time",
9932
14
        FT_STRING, BASE_NONE, NULL, 0,
9933
14
        "Time", HFILL }},
9934
14
    { &hf_p1_DLExpansionHistory_item,
9935
14
      { "DLExpansion", "p1.DLExpansion_element",
9936
14
        FT_NONE, BASE_NONE, NULL, 0,
9937
14
        NULL, HFILL }},
9938
14
    { &hf_p1_dl,
9939
14
      { "dl", "p1.dl_element",
9940
14
        FT_NONE, BASE_NONE, NULL, 0,
9941
14
        "ORAddressAndOptionalDirectoryName", HFILL }},
9942
14
    { &hf_p1_dl_expansion_time,
9943
14
      { "dl-expansion-time", "p1.dl_expansion_time",
9944
14
        FT_STRING, BASE_NONE, NULL, 0,
9945
14
        "Time", HFILL }},
9946
14
    { &hf_p1_OriginatorAndDLExpansionHistory_item,
9947
14
      { "OriginatorAndDLExpansion", "p1.OriginatorAndDLExpansion_element",
9948
14
        FT_NONE, BASE_NONE, NULL, 0,
9949
14
        NULL, HFILL }},
9950
14
    { &hf_p1_originator_or_dl_name,
9951
14
      { "originator-or-dl-name", "p1.originator_or_dl_name_element",
9952
14
        FT_NONE, BASE_NONE, NULL, 0,
9953
14
        "ORAddressAndOptionalDirectoryName", HFILL }},
9954
14
    { &hf_p1_origination_or_expansion_time,
9955
14
      { "origination-or-expansion-time", "p1.origination_or_expansion_time",
9956
14
        FT_STRING, BASE_NONE, NULL, 0,
9957
14
        "Time", HFILL }},
9958
14
    { &hf_p1_domain,
9959
14
      { "domain", "p1.domain_element",
9960
14
        FT_NONE, BASE_NONE, NULL, 0,
9961
14
        "GlobalDomainIdentifier", HFILL }},
9962
14
    { &hf_p1_mta_directory_name,
9963
14
      { "mta-directory-name", "p1.mta_directory_name",
9964
14
        FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
9965
14
        "Name", HFILL }},
9966
14
    { &hf_p1_ExtendedCertificates_item,
9967
14
      { "ExtendedCertificate", "p1.ExtendedCertificate",
9968
14
        FT_UINT32, BASE_DEC, VALS(p1_ExtendedCertificate_vals), 0,
9969
14
        NULL, HFILL }},
9970
14
    { &hf_p1_directory_entry,
9971
14
      { "directory-entry", "p1.directory_entry",
9972
14
        FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
9973
14
        "Name", HFILL }},
9974
14
    { &hf_p1_DLExemptedRecipients_item,
9975
14
      { "ORAddressAndOrDirectoryName", "p1.ORAddressAndOrDirectoryName_element",
9976
14
        FT_NONE, BASE_NONE, NULL, 0,
9977
14
        NULL, HFILL }},
9978
14
    { &hf_p1_encryption_recipient,
9979
14
      { "encryption-recipient", "p1.encryption_recipient_element",
9980
14
        FT_NONE, BASE_NONE, NULL, 0,
9981
14
        "CertificateAssertion", HFILL }},
9982
14
    { &hf_p1_encryption_originator,
9983
14
      { "encryption-originator", "p1.encryption_originator_element",
9984
14
        FT_NONE, BASE_NONE, NULL, 0,
9985
14
        "CertificateAssertion", HFILL }},
9986
14
    { &hf_p1_selectors_content_integrity_check,
9987
14
      { "content-integrity-check", "p1.selectors_content_integrity_check_element",
9988
14
        FT_NONE, BASE_NONE, NULL, 0,
9989
14
        "CertificateAssertion", HFILL }},
9990
14
    { &hf_p1_token_signature,
9991
14
      { "token-signature", "p1.token_signature_element",
9992
14
        FT_NONE, BASE_NONE, NULL, 0,
9993
14
        "CertificateAssertion", HFILL }},
9994
14
    { &hf_p1_message_origin_authentication,
9995
14
      { "message-origin-authentication", "p1.message_origin_authentication_element",
9996
14
        FT_NONE, BASE_NONE, NULL, 0,
9997
14
        "CertificateAssertion", HFILL }},
9998
14
    { &hf_p1_local_identifier,
9999
14
      { "local-identifier", "p1.local_identifier",
10000
14
        FT_STRING, BASE_NONE, NULL, 0,
10001
14
        "LocalIdentifier", HFILL }},
10002
14
    { &hf_p1_numeric_private_domain_identifier,
10003
14
      { "numeric", "p1.numeric_private_domain_identifier",
10004
14
        FT_STRING, BASE_NONE, NULL, 0,
10005
14
        "T_numeric_private_domain_identifier", HFILL }},
10006
14
    { &hf_p1_printable_private_domain_identifier,
10007
14
      { "printable", "p1.printable_private_domain_identifier",
10008
14
        FT_STRING, BASE_NONE, NULL, 0,
10009
14
        "T_printable_private_domain_identifier", HFILL }},
10010
14
    { &hf_p1_built_in_standard_attributes,
10011
14
      { "built-in-standard-attributes", "p1.built_in_standard_attributes_element",
10012
14
        FT_NONE, BASE_NONE, NULL, 0,
10013
14
        "BuiltInStandardAttributes", HFILL }},
10014
14
    { &hf_p1_built_in_domain_defined_attributes,
10015
14
      { "built-in-domain-defined-attributes", "p1.built_in_domain_defined_attributes",
10016
14
        FT_UINT32, BASE_DEC, NULL, 0,
10017
14
        "BuiltInDomainDefinedAttributes", HFILL }},
10018
14
    { &hf_p1_extension_attributes,
10019
14
      { "extension-attributes", "p1.extension_attributes",
10020
14
        FT_UINT32, BASE_DEC, NULL, 0,
10021
14
        "ExtensionAttributes", HFILL }},
10022
14
    { &hf_p1_network_address,
10023
14
      { "network-address", "p1.network_address",
10024
14
        FT_STRING, BASE_NONE, NULL, 0,
10025
14
        "NetworkAddress", HFILL }},
10026
14
    { &hf_p1_terminal_identifier,
10027
14
      { "terminal-identifier", "p1.terminal_identifier",
10028
14
        FT_STRING, BASE_NONE, NULL, 0,
10029
14
        "TerminalIdentifier", HFILL }},
10030
14
    { &hf_p1_private_domain_name,
10031
14
      { "private-domain-name", "p1.private_domain_name",
10032
14
        FT_UINT32, BASE_DEC, VALS(p1_PrivateDomainName_vals), 0,
10033
14
        "PrivateDomainName", HFILL }},
10034
14
    { &hf_p1_organization_name,
10035
14
      { "organization-name", "p1.organization_name",
10036
14
        FT_STRING, BASE_NONE, NULL, 0,
10037
14
        "OrganizationName", HFILL }},
10038
14
    { &hf_p1_numeric_user_identifier,
10039
14
      { "numeric-user-identifier", "p1.numeric_user_identifier",
10040
14
        FT_STRING, BASE_NONE, NULL, 0,
10041
14
        "NumericUserIdentifier", HFILL }},
10042
14
    { &hf_p1_personal_name,
10043
14
      { "personal-name", "p1.personal_name_element",
10044
14
        FT_NONE, BASE_NONE, NULL, 0,
10045
14
        "PersonalName", HFILL }},
10046
14
    { &hf_p1_organizational_unit_names,
10047
14
      { "organizational-unit-names", "p1.organizational_unit_names",
10048
14
        FT_UINT32, BASE_DEC, NULL, 0,
10049
14
        "OrganizationalUnitNames", HFILL }},
10050
14
    { &hf_p1_x121_dcc_code,
10051
14
      { "x121-dcc-code", "p1.x121_dcc_code",
10052
14
        FT_STRING, BASE_NONE, NULL, 0,
10053
14
        NULL, HFILL }},
10054
14
    { &hf_p1_iso_3166_alpha2_code,
10055
14
      { "iso-3166-alpha2-code", "p1.iso_3166_alpha2_code",
10056
14
        FT_STRING, BASE_NONE, NULL, 0,
10057
14
        NULL, HFILL }},
10058
14
    { &hf_p1_numeric,
10059
14
      { "numeric", "p1.numeric",
10060
14
        FT_STRING, BASE_NONE, NULL, 0,
10061
14
        NULL, HFILL }},
10062
14
    { &hf_p1_printable,
10063
14
      { "printable", "p1.printable",
10064
14
        FT_STRING, BASE_NONE, NULL, 0,
10065
14
        NULL, HFILL }},
10066
14
    { &hf_p1_numeric_private_domain_name,
10067
14
      { "numeric", "p1.numeric_private_domain_name",
10068
14
        FT_STRING, BASE_NONE, NULL, 0,
10069
14
        "T_numeric_private_domain_name", HFILL }},
10070
14
    { &hf_p1_printable_private_domain_name,
10071
14
      { "printable", "p1.printable_private_domain_name",
10072
14
        FT_STRING, BASE_NONE, NULL, 0,
10073
14
        "T_printable_private_domain_name", HFILL }},
10074
14
    { &hf_p1_printable_surname,
10075
14
      { "surname", "p1.printable_surname",
10076
14
        FT_STRING, BASE_NONE, NULL, 0,
10077
14
        "T_printable_surname", HFILL }},
10078
14
    { &hf_p1_printable_given_name,
10079
14
      { "given-name", "p1.printable_given_name",
10080
14
        FT_STRING, BASE_NONE, NULL, 0,
10081
14
        "T_printable_given_name", HFILL }},
10082
14
    { &hf_p1_printable_initials,
10083
14
      { "initials", "p1.printable_initials",
10084
14
        FT_STRING, BASE_NONE, NULL, 0,
10085
14
        "T_printable_initials", HFILL }},
10086
14
    { &hf_p1_printable_generation_qualifier,
10087
14
      { "generation-qualifier", "p1.printable_generation_qualifier",
10088
14
        FT_STRING, BASE_NONE, NULL, 0,
10089
14
        "T_printable_generation_qualifier", HFILL }},
10090
14
    { &hf_p1_OrganizationalUnitNames_item,
10091
14
      { "OrganizationalUnitName", "p1.OrganizationalUnitName",
10092
14
        FT_STRING, BASE_NONE, NULL, 0,
10093
14
        NULL, HFILL }},
10094
14
    { &hf_p1_BuiltInDomainDefinedAttributes_item,
10095
14
      { "BuiltInDomainDefinedAttribute", "p1.BuiltInDomainDefinedAttribute_element",
10096
14
        FT_NONE, BASE_NONE, NULL, 0,
10097
14
        NULL, HFILL }},
10098
14
    { &hf_p1_printable_type,
10099
14
      { "type", "p1.printable.type",
10100
14
        FT_STRING, BASE_NONE, NULL, 0,
10101
14
        "T_printable_type", HFILL }},
10102
14
    { &hf_p1_printable_value,
10103
14
      { "value", "p1.printable_value",
10104
14
        FT_STRING, BASE_NONE, NULL, 0,
10105
14
        "T_printable_value", HFILL }},
10106
14
    { &hf_p1_ExtensionAttributes_item,
10107
14
      { "ExtensionAttribute", "p1.ExtensionAttribute_element",
10108
14
        FT_NONE, BASE_NONE, NULL, 0,
10109
14
        NULL, HFILL }},
10110
14
    { &hf_p1_extension_attribute_type,
10111
14
      { "extension-attribute-type", "p1.extension_attribute_type",
10112
14
        FT_INT32, BASE_DEC, VALS(p1_ExtensionAttributeType_vals), 0,
10113
14
        "ExtensionAttributeType", HFILL }},
10114
14
    { &hf_p1_extension_attribute_value,
10115
14
      { "extension-attribute-value", "p1.extension_attribute_value_element",
10116
14
        FT_NONE, BASE_NONE, NULL, 0,
10117
14
        NULL, HFILL }},
10118
14
    { &hf_p1_teletex_surname,
10119
14
      { "surname", "p1.teletex_surname",
10120
14
        FT_STRING, BASE_NONE, NULL, 0,
10121
14
        "T_teletex_surname", HFILL }},
10122
14
    { &hf_p1_teletex_given_name,
10123
14
      { "given-name", "p1.teletex_given_name",
10124
14
        FT_STRING, BASE_NONE, NULL, 0,
10125
14
        "T_teletex_given_name", HFILL }},
10126
14
    { &hf_p1_teletex_initials,
10127
14
      { "initials", "p1.teletex_initials",
10128
14
        FT_STRING, BASE_NONE, NULL, 0,
10129
14
        "T_teletex_initials", HFILL }},
10130
14
    { &hf_p1_teletex_generation_qualifier,
10131
14
      { "generation-qualifier", "p1.teletex_generation_qualifier",
10132
14
        FT_STRING, BASE_NONE, NULL, 0,
10133
14
        "T_teletex_generation_qualifier", HFILL }},
10134
14
    { &hf_p1_universal_surname,
10135
14
      { "surname", "p1.universal_surname_element",
10136
14
        FT_NONE, BASE_NONE, NULL, 0,
10137
14
        "UniversalOrBMPString", HFILL }},
10138
14
    { &hf_p1_universal_given_name,
10139
14
      { "given-name", "p1.universal_given_name_element",
10140
14
        FT_NONE, BASE_NONE, NULL, 0,
10141
14
        "UniversalOrBMPString", HFILL }},
10142
14
    { &hf_p1_universal_initials,
10143
14
      { "initials", "p1.universal_initials_element",
10144
14
        FT_NONE, BASE_NONE, NULL, 0,
10145
14
        "UniversalOrBMPString", HFILL }},
10146
14
    { &hf_p1_universal_generation_qualifier,
10147
14
      { "generation-qualifier", "p1.universal_generation_qualifier_element",
10148
14
        FT_NONE, BASE_NONE, NULL, 0,
10149
14
        "UniversalOrBMPString", HFILL }},
10150
14
    { &hf_p1_TeletexOrganizationalUnitNames_item,
10151
14
      { "TeletexOrganizationalUnitName", "p1.TeletexOrganizationalUnitName",
10152
14
        FT_STRING, BASE_NONE, NULL, 0,
10153
14
        NULL, HFILL }},
10154
14
    { &hf_p1_UniversalOrganizationalUnitNames_item,
10155
14
      { "UniversalOrganizationalUnitName", "p1.UniversalOrganizationalUnitName_element",
10156
14
        FT_NONE, BASE_NONE, NULL, 0,
10157
14
        NULL, HFILL }},
10158
14
    { &hf_p1_character_encoding,
10159
14
      { "character-encoding", "p1.character_encoding",
10160
14
        FT_UINT32, BASE_DEC, VALS(p1_T_character_encoding_vals), 0,
10161
14
        NULL, HFILL }},
10162
14
    { &hf_p1_two_octets,
10163
14
      { "two-octets", "p1.two_octets",
10164
14
        FT_STRING, BASE_NONE, NULL, 0,
10165
14
        "BMPString_SIZE_1_ub_string_length", HFILL }},
10166
14
    { &hf_p1_four_octets,
10167
14
      { "four-octets", "p1.four_octets",
10168
14
        FT_STRING, BASE_NONE, NULL, 0,
10169
14
        "UniversalString_SIZE_1_ub_string_length", HFILL }},
10170
14
    { &hf_p1_iso_639_language_code,
10171
14
      { "iso-639-language-code", "p1.iso_639_language_code",
10172
14
        FT_STRING, BASE_NONE, NULL, 0,
10173
14
        "PrintableString_SIZE_CONSTR001", HFILL }},
10174
14
    { &hf_p1_x121_dcc_code_01,
10175
14
      { "x121-dcc-code", "p1.x121_dcc_code",
10176
14
        FT_STRING, BASE_NONE, NULL, 0,
10177
14
        "T_x121_dcc_code_01", HFILL }},
10178
14
    { &hf_p1_iso_3166_alpha2_code_01,
10179
14
      { "iso-3166-alpha2-code", "p1.iso_3166_alpha2_code",
10180
14
        FT_STRING, BASE_NONE, NULL, 0,
10181
14
        "T_iso_3166_alpha2_code_01", HFILL }},
10182
14
    { &hf_p1_numeric_code,
10183
14
      { "numeric-code", "p1.numeric_code",
10184
14
        FT_STRING, BASE_NONE, NULL, 0,
10185
14
        NULL, HFILL }},
10186
14
    { &hf_p1_printable_code,
10187
14
      { "printable-code", "p1.printable_code",
10188
14
        FT_STRING, BASE_NONE, NULL, 0,
10189
14
        "PrintableString_SIZE_1_ub_postal_code_length", HFILL }},
10190
14
    { &hf_p1_printable_address,
10191
14
      { "printable-address", "p1.printable_address",
10192
14
        FT_UINT32, BASE_DEC, NULL, 0,
10193
14
        NULL, HFILL }},
10194
14
    { &hf_p1_printable_address_item,
10195
14
      { "printable-address item", "p1.printable_address_item",
10196
14
        FT_STRING, BASE_NONE, NULL, 0,
10197
14
        "PrintableString_SIZE_1_ub_pds_parameter_length", HFILL }},
10198
14
    { &hf_p1_teletex_string,
10199
14
      { "teletex-string", "p1.teletex_string",
10200
14
        FT_STRING, BASE_NONE, NULL, 0,
10201
14
        "TeletexString_SIZE_1_ub_unformatted_address_length", HFILL }},
10202
14
    { &hf_p1_printable_string,
10203
14
      { "printable-string", "p1.printable_string",
10204
14
        FT_STRING, BASE_NONE, NULL, 0,
10205
14
        "PrintableString_SIZE_1_ub_pds_parameter_length", HFILL }},
10206
14
    { &hf_p1_pds_teletex_string,
10207
14
      { "teletex-string", "p1.pds_teletex_string",
10208
14
        FT_STRING, BASE_NONE, NULL, 0,
10209
14
        "TeletexString_SIZE_1_ub_pds_parameter_length", HFILL }},
10210
14
    { &hf_p1_e163_4_address,
10211
14
      { "e163-4-address", "p1.e163_4_address_element",
10212
14
        FT_NONE, BASE_NONE, NULL, 0,
10213
14
        NULL, HFILL }},
10214
14
    { &hf_p1_number,
10215
14
      { "number", "p1.number",
10216
14
        FT_STRING, BASE_NONE, NULL, 0,
10217
14
        "NumericString_SIZE_1_ub_e163_4_number_length", HFILL }},
10218
14
    { &hf_p1_sub_address,
10219
14
      { "sub-address", "p1.sub_address",
10220
14
        FT_STRING, BASE_NONE, NULL, 0,
10221
14
        "NumericString_SIZE_1_ub_e163_4_sub_address_length", HFILL }},
10222
14
    { &hf_p1_psap_address,
10223
14
      { "psap-address", "p1.psap_address_element",
10224
14
        FT_NONE, BASE_NONE, NULL, 0,
10225
14
        "PresentationAddress", HFILL }},
10226
14
    { &hf_p1_TeletexDomainDefinedAttributes_item,
10227
14
      { "TeletexDomainDefinedAttribute", "p1.TeletexDomainDefinedAttribute_element",
10228
14
        FT_NONE, BASE_NONE, NULL, 0,
10229
14
        NULL, HFILL }},
10230
14
    { &hf_p1_type,
10231
14
      { "type", "p1.type",
10232
14
        FT_STRING, BASE_NONE, NULL, 0,
10233
14
        NULL, HFILL }},
10234
14
    { &hf_p1_teletex_value,
10235
14
      { "value", "p1.teletex_value",
10236
14
        FT_STRING, BASE_NONE, NULL, 0,
10237
14
        "T_teletex_value", HFILL }},
10238
14
    { &hf_p1_UniversalDomainDefinedAttributes_item,
10239
14
      { "UniversalDomainDefinedAttribute", "p1.UniversalDomainDefinedAttribute_element",
10240
14
        FT_NONE, BASE_NONE, NULL, 0,
10241
14
        NULL, HFILL }},
10242
14
    { &hf_p1_universal_type,
10243
14
      { "type", "p1.universal.type_element",
10244
14
        FT_NONE, BASE_NONE, NULL, 0,
10245
14
        "UniversalOrBMPString", HFILL }},
10246
14
    { &hf_p1_universal_value,
10247
14
      { "value", "p1.universal_value_element",
10248
14
        FT_NONE, BASE_NONE, NULL, 0,
10249
14
        "UniversalOrBMPString", HFILL }},
10250
14
    { &hf_p1_ExtendedEncodedInformationTypes_item,
10251
14
      { "ExtendedEncodedInformationType", "p1.ExtendedEncodedInformationType",
10252
14
        FT_OID, BASE_NONE, NULL, 0,
10253
14
        NULL, HFILL }},
10254
14
    { &hf_p1_g3_facsimile,
10255
14
      { "g3-facsimile", "p1.g3_facsimile",
10256
14
        FT_BYTES, BASE_NONE, NULL, 0,
10257
14
        "G3FacsimileNonBasicParameters", HFILL }},
10258
14
    { &hf_p1_teletex,
10259
14
      { "teletex", "p1.teletex_element",
10260
14
        FT_NONE, BASE_NONE, NULL, 0,
10261
14
        "TeletexNonBasicParameters", HFILL }},
10262
14
    { &hf_p1_graphic_character_sets,
10263
14
      { "graphic-character-sets", "p1.graphic_character_sets",
10264
14
        FT_STRING, BASE_NONE, NULL, 0,
10265
14
        "TeletexString", HFILL }},
10266
14
    { &hf_p1_control_character_sets,
10267
14
      { "control-character-sets", "p1.control_character_sets",
10268
14
        FT_STRING, BASE_NONE, NULL, 0,
10269
14
        "TeletexString", HFILL }},
10270
14
    { &hf_p1_page_formats,
10271
14
      { "page-formats", "p1.page_formats",
10272
14
        FT_BYTES, BASE_NONE, NULL, 0,
10273
14
        "OCTET_STRING", HFILL }},
10274
14
    { &hf_p1_miscellaneous_terminal_capabilities,
10275
14
      { "miscellaneous-terminal-capabilities", "p1.miscellaneous_terminal_capabilities",
10276
14
        FT_STRING, BASE_NONE, NULL, 0,
10277
14
        "TeletexString", HFILL }},
10278
14
    { &hf_p1_private_use,
10279
14
      { "private-use", "p1.private_use",
10280
14
        FT_BYTES, BASE_NONE, NULL, 0,
10281
14
        "OCTET_STRING", HFILL }},
10282
14
    { &hf_p1_token_type_identifier,
10283
14
      { "token-type-identifier", "p1.token_type_identifier",
10284
14
        FT_OID, BASE_NONE, NULL, 0,
10285
14
        "TokenTypeIdentifier", HFILL }},
10286
14
    { &hf_p1_token,
10287
14
      { "token", "p1.token_element",
10288
14
        FT_NONE, BASE_NONE, NULL, 0,
10289
14
        "TokenTypeData", HFILL }},
10290
14
    { &hf_p1_signature_algorithm_identifier,
10291
14
      { "signature-algorithm-identifier", "p1.signature_algorithm_identifier_element",
10292
14
        FT_NONE, BASE_NONE, NULL, 0,
10293
14
        "AlgorithmIdentifier", HFILL }},
10294
14
    { &hf_p1_name,
10295
14
      { "name", "p1.name",
10296
14
        FT_UINT32, BASE_DEC, VALS(p1_T_name_vals), 0,
10297
14
        NULL, HFILL }},
10298
14
    { &hf_p1_token_recipient_name,
10299
14
      { "recipient-name", "p1.token_recipient_name_element",
10300
14
        FT_NONE, BASE_NONE, NULL, 0,
10301
14
        "RecipientName", HFILL }},
10302
14
    { &hf_p1_token_mta,
10303
14
      { "mta", "p1.token_mta_element",
10304
14
        FT_NONE, BASE_NONE, NULL, 0,
10305
14
        "MTANameAndOptionalGDI", HFILL }},
10306
14
    { &hf_p1_time,
10307
14
      { "time", "p1.time",
10308
14
        FT_STRING, BASE_NONE, NULL, 0,
10309
14
        NULL, HFILL }},
10310
14
    { &hf_p1_signed_data,
10311
14
      { "signed-data", "p1.signed_data_element",
10312
14
        FT_NONE, BASE_NONE, NULL, 0,
10313
14
        "TokenData", HFILL }},
10314
14
    { &hf_p1_encryption_algorithm_identifier,
10315
14
      { "encryption-algorithm-identifier", "p1.encryption_algorithm_identifier_element",
10316
14
        FT_NONE, BASE_NONE, NULL, 0,
10317
14
        "AlgorithmIdentifier", HFILL }},
10318
14
    { &hf_p1_encrypted_data,
10319
14
      { "encrypted-data", "p1.encrypted_data",
10320
14
        FT_BYTES, BASE_NONE, NULL, 0,
10321
14
        "BIT_STRING", HFILL }},
10322
14
    { &hf_p1_asymmetric_token_data,
10323
14
      { "asymmetric-token-data", "p1.asymmetric_token_data_element",
10324
14
        FT_NONE, BASE_NONE, NULL, 0,
10325
14
        "AsymmetricTokenData", HFILL }},
10326
14
    { &hf_p1_algorithm_identifier,
10327
14
      { "algorithm-identifier", "p1.algorithm_identifier_element",
10328
14
        FT_NONE, BASE_NONE, NULL, 0,
10329
14
        "AlgorithmIdentifier", HFILL }},
10330
14
    { &hf_p1_token_data_type,
10331
14
      { "type", "p1.token-data-type",
10332
14
        FT_INT32, BASE_DEC, VALS(p1_TokenDataType_vals), 0,
10333
14
        "TokenDataType", HFILL }},
10334
14
    { &hf_p1_value,
10335
14
      { "value", "p1.value_element",
10336
14
        FT_NONE, BASE_NONE, NULL, 0,
10337
14
        NULL, HFILL }},
10338
14
    { &hf_p1_content_confidentiality_algorithm_identifier,
10339
14
      { "content-confidentiality-algorithm-identifier", "p1.content_confidentiality_algorithm_identifier_element",
10340
14
        FT_NONE, BASE_NONE, NULL, 0,
10341
14
        "ContentConfidentialityAlgorithmIdentifier", HFILL }},
10342
14
    { &hf_p1_content_integrity_check,
10343
14
      { "content-integrity-check", "p1.content_integrity_check_element",
10344
14
        FT_NONE, BASE_NONE, NULL, 0,
10345
14
        "ContentIntegrityCheck", HFILL }},
10346
14
    { &hf_p1_message_security_label,
10347
14
      { "message-security-label", "p1.message_security_label_element",
10348
14
        FT_NONE, BASE_NONE, NULL, 0,
10349
14
        "MessageSecurityLabel", HFILL }},
10350
14
    { &hf_p1_proof_of_delivery_request,
10351
14
      { "proof-of-delivery-request", "p1.proof_of_delivery_request",
10352
14
        FT_UINT32, BASE_DEC, VALS(p1_ProofOfDeliveryRequest_vals), 0,
10353
14
        "ProofOfDeliveryRequest", HFILL }},
10354
14
    { &hf_p1_message_sequence_number,
10355
14
      { "message-sequence-number", "p1.message_sequence_number",
10356
14
        FT_INT32, BASE_DEC, NULL, 0,
10357
14
        "INTEGER", HFILL }},
10358
14
    { &hf_p1_content_confidentiality_key,
10359
14
      { "content-confidentiality-key", "p1.content_confidentiality_key",
10360
14
        FT_BYTES, BASE_NONE, NULL, 0,
10361
14
        "EncryptionKey", HFILL }},
10362
14
    { &hf_p1_content_integrity_key,
10363
14
      { "content-integrity-key", "p1.content_integrity_key",
10364
14
        FT_BYTES, BASE_NONE, NULL, 0,
10365
14
        "EncryptionKey", HFILL }},
10366
14
    { &hf_p1_security_policy_identifier,
10367
14
      { "security-policy-identifier", "p1.security_policy_identifier",
10368
14
        FT_OID, BASE_NONE, NULL, 0,
10369
14
        "SecurityPolicyIdentifier", HFILL }},
10370
14
    { &hf_p1_security_classification,
10371
14
      { "security-classification", "p1.security_classification",
10372
14
        FT_UINT32, BASE_DEC, VALS(p1_SecurityClassification_vals), 0,
10373
14
        "SecurityClassification", HFILL }},
10374
14
    { &hf_p1_privacy_mark,
10375
14
      { "privacy-mark", "p1.privacy_mark",
10376
14
        FT_STRING, BASE_NONE, NULL, 0,
10377
14
        "PrivacyMark", HFILL }},
10378
14
    { &hf_p1_security_categories,
10379
14
      { "security-categories", "p1.security_categories",
10380
14
        FT_UINT32, BASE_DEC, NULL, 0,
10381
14
        "SecurityCategories", HFILL }},
10382
14
    { &hf_p1_SecurityCategories_item,
10383
14
      { "SecurityCategory", "p1.SecurityCategory_element",
10384
14
        FT_NONE, BASE_NONE, NULL, 0,
10385
14
        NULL, HFILL }},
10386
14
    { &hf_p1_category_type,
10387
14
      { "type", "p1.category.type",
10388
14
        FT_OID, BASE_NONE, NULL, 0,
10389
14
        "SecurityCategoryIdentifier", HFILL }},
10390
14
    { &hf_p1_category_value,
10391
14
      { "value", "p1.category_value_element",
10392
14
        FT_NONE, BASE_NONE, NULL, 0,
10393
14
        "CategoryValue", HFILL }},
10394
14
    { &hf_p1_mta_originator_name,
10395
14
      { "originator-name", "p1.mta_originator_name_element",
10396
14
        FT_NONE, BASE_NONE, NULL, 0,
10397
14
        "MTAOriginatorName", HFILL }},
10398
14
    { &hf_p1_per_recipient_message_fields,
10399
14
      { "per-recipient-fields", "p1.per_recipient_message_fields",
10400
14
        FT_UINT32, BASE_DEC, NULL, 0,
10401
14
        "SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageTransferFields", HFILL }},
10402
14
    { &hf_p1_per_recipient_message_fields_item,
10403
14
      { "PerRecipientMessageTransferFields", "p1.PerRecipientMessageTransferFields_element",
10404
14
        FT_NONE, BASE_NONE, NULL, 0,
10405
14
        NULL, HFILL }},
10406
14
    { &hf_p1_per_recipient_probe_transfer_fields,
10407
14
      { "per-recipient-fields", "p1.per_recipient_probe_transfer_fields",
10408
14
        FT_UINT32, BASE_DEC, NULL, 0,
10409
14
        "SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeTransferFields", HFILL }},
10410
14
    { &hf_p1_per_recipient_probe_transfer_fields_item,
10411
14
      { "PerRecipientProbeTransferFields", "p1.PerRecipientProbeTransferFields_element",
10412
14
        FT_NONE, BASE_NONE, NULL, 0,
10413
14
        NULL, HFILL }},
10414
14
    { &hf_p1_per_recipient_report_fields,
10415
14
      { "per-recipient-fields", "p1.per_recipient_report_fields",
10416
14
        FT_UINT32, BASE_DEC, NULL, 0,
10417
14
        "SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportTransferFields", HFILL }},
10418
14
    { &hf_p1_per_recipient_report_fields_item,
10419
14
      { "PerRecipientReportTransferFields", "p1.PerRecipientReportTransferFields_element",
10420
14
        FT_NONE, BASE_NONE, NULL, 0,
10421
14
        NULL, HFILL }},
10422
14
    { &hf_p1_routing_action,
10423
14
      { "routing-action", "p1.routing_action",
10424
14
        FT_UINT32, BASE_DEC, VALS(p1_RoutingAction_vals), 0,
10425
14
        "RoutingAction", HFILL }},
10426
14
    { &hf_p1_attempted,
10427
14
      { "attempted", "p1.attempted",
10428
14
        FT_UINT32, BASE_DEC, VALS(p1_T_attempted_vals), 0,
10429
14
        NULL, HFILL }},
10430
14
    { &hf_p1_mta,
10431
14
      { "mta", "p1.mta",
10432
14
        FT_STRING, BASE_NONE, NULL, 0,
10433
14
        "MTAName", HFILL }},
10434
14
    { &hf_p1_attempted_domain,
10435
14
      { "attempted-domain", "p1.attempted_domain_element",
10436
14
        FT_NONE, BASE_NONE, NULL, 0,
10437
14
        "GlobalDomainIdentifier", HFILL }},
10438
14
    { &hf_p1_per_recipient_report_delivery_fields,
10439
14
      { "per-recipient-fields", "p1.per_recipient_report_delivery_fields",
10440
14
        FT_UINT32, BASE_DEC, NULL, 0,
10441
14
        "SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportDeliveryFields", HFILL }},
10442
14
    { &hf_p1_per_recipient_report_delivery_fields_item,
10443
14
      { "PerRecipientReportDeliveryFields", "p1.PerRecipientReportDeliveryFields_element",
10444
14
        FT_NONE, BASE_NONE, NULL, 0,
10445
14
        NULL, HFILL }},
10446
14
    { &hf_p1_mts_originator_name,
10447
14
      { "originator-name", "p1.mts_originator_name_element",
10448
14
        FT_NONE, BASE_NONE, NULL, 0,
10449
14
        "OriginatorName", HFILL }},
10450
14
    { &hf_p1_per_recipient_message_submission_fields,
10451
14
      { "per-recipient-fields", "p1.per_recipient_message_submission_fields",
10452
14
        FT_UINT32, BASE_DEC, NULL, 0,
10453
14
        "SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageSubmissionFields", HFILL }},
10454
14
    { &hf_p1_per_recipient_message_submission_fields_item,
10455
14
      { "PerRecipientMessageSubmissionFields", "p1.PerRecipientMessageSubmissionFields_element",
10456
14
        FT_NONE, BASE_NONE, NULL, 0,
10457
14
        NULL, HFILL }},
10458
14
    { &hf_p1_per_recipient_probe_submission_fields,
10459
14
      { "per-recipient-fields", "p1.per_recipient_probe_submission_fields",
10460
14
        FT_UINT32, BASE_DEC, NULL, 0,
10461
14
        "SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeSubmissionFields", HFILL }},
10462
14
    { &hf_p1_per_recipient_probe_submission_fields_item,
10463
14
      { "PerRecipientProbeSubmissionFields", "p1.PerRecipientProbeSubmissionFields_element",
10464
14
        FT_NONE, BASE_NONE, NULL, 0,
10465
14
        NULL, HFILL }},
10466
14
    { &hf_p1_directory_name,
10467
14
      { "directory-name", "p1.directory_name",
10468
14
        FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
10469
14
        "Name", HFILL }},
10470
14
    { &hf_p1_built_in_encoded_information_types,
10471
14
      { "built-in-encoded-information-types", "p1.built_in_encoded_information_types",
10472
14
        FT_BYTES, BASE_NONE, NULL, 0,
10473
14
        "BuiltInEncodedInformationTypes", HFILL }},
10474
14
    { &hf_p1_extended_encoded_information_types,
10475
14
      { "extended-encoded-information-types", "p1.extended_encoded_information_types",
10476
14
        FT_UINT32, BASE_DEC, NULL, 0,
10477
14
        "ExtendedEncodedInformationTypes", HFILL }},
10478
14
    { &hf_p1_PerRecipientIndicators_responsibility,
10479
14
      { "responsibility", "p1.PerRecipientIndicators.responsibility",
10480
14
        FT_BOOLEAN, 8, NULL, 0x80,
10481
14
        NULL, HFILL }},
10482
14
    { &hf_p1_PerRecipientIndicators_originating_MTA_report,
10483
14
      { "originating-MTA-report", "p1.PerRecipientIndicators.originating.MTA.report",
10484
14
        FT_BOOLEAN, 8, NULL, 0x40,
10485
14
        NULL, HFILL }},
10486
14
    { &hf_p1_PerRecipientIndicators_originating_MTA_non_delivery_report,
10487
14
      { "originating-MTA-non-delivery-report", "p1.PerRecipientIndicators.originating.MTA.non.delivery.report",
10488
14
        FT_BOOLEAN, 8, NULL, 0x20,
10489
14
        NULL, HFILL }},
10490
14
    { &hf_p1_PerRecipientIndicators_originator_report,
10491
14
      { "originator-report", "p1.PerRecipientIndicators.originator.report",
10492
14
        FT_BOOLEAN, 8, NULL, 0x10,
10493
14
        NULL, HFILL }},
10494
14
    { &hf_p1_PerRecipientIndicators_originator_non_delivery_report,
10495
14
      { "originator-non-delivery-report", "p1.PerRecipientIndicators.originator.non.delivery.report",
10496
14
        FT_BOOLEAN, 8, NULL, 0x08,
10497
14
        NULL, HFILL }},
10498
14
    { &hf_p1_PerRecipientIndicators_reserved_5,
10499
14
      { "reserved-5", "p1.PerRecipientIndicators.reserved.5",
10500
14
        FT_BOOLEAN, 8, NULL, 0x04,
10501
14
        NULL, HFILL }},
10502
14
    { &hf_p1_PerRecipientIndicators_reserved_6,
10503
14
      { "reserved-6", "p1.PerRecipientIndicators.reserved.6",
10504
14
        FT_BOOLEAN, 8, NULL, 0x02,
10505
14
        NULL, HFILL }},
10506
14
    { &hf_p1_PerRecipientIndicators_reserved_7,
10507
14
      { "reserved-7", "p1.PerRecipientIndicators.reserved.7",
10508
14
        FT_BOOLEAN, 8, NULL, 0x01,
10509
14
        NULL, HFILL }},
10510
14
    { &hf_p1_OtherActions_redirected,
10511
14
      { "redirected", "p1.OtherActions.redirected",
10512
14
        FT_BOOLEAN, 8, NULL, 0x80,
10513
14
        NULL, HFILL }},
10514
14
    { &hf_p1_OtherActions_dl_operation,
10515
14
      { "dl-operation", "p1.OtherActions.dl.operation",
10516
14
        FT_BOOLEAN, 8, NULL, 0x40,
10517
14
        NULL, HFILL }},
10518
14
    { &hf_p1_Operations_probe_submission_or_report_delivery,
10519
14
      { "probe-submission-or-report-delivery", "p1.Operations.probe.submission.or.report.delivery",
10520
14
        FT_BOOLEAN, 8, NULL, 0x80,
10521
14
        NULL, HFILL }},
10522
14
    { &hf_p1_Operations_message_submission_or_message_delivery,
10523
14
      { "message-submission-or-message-delivery", "p1.Operations.message.submission.or.message.delivery",
10524
14
        FT_BOOLEAN, 8, NULL, 0x40,
10525
14
        NULL, HFILL }},
10526
14
    { &hf_p1_WaitingMessages_long_content,
10527
14
      { "long-content", "p1.WaitingMessages.long.content",
10528
14
        FT_BOOLEAN, 8, NULL, 0x80,
10529
14
        NULL, HFILL }},
10530
14
    { &hf_p1_WaitingMessages_low_priority,
10531
14
      { "low-priority", "p1.WaitingMessages.low.priority",
10532
14
        FT_BOOLEAN, 8, NULL, 0x40,
10533
14
        NULL, HFILL }},
10534
14
    { &hf_p1_WaitingMessages_other_security_labels,
10535
14
      { "other-security-labels", "p1.WaitingMessages.other.security.labels",
10536
14
        FT_BOOLEAN, 8, NULL, 0x20,
10537
14
        NULL, HFILL }},
10538
14
    { &hf_p1_T_source_type_originated_by,
10539
14
      { "originated-by", "p1.T.source.type.originated.by",
10540
14
        FT_BOOLEAN, 8, NULL, 0x80,
10541
14
        NULL, HFILL }},
10542
14
    { &hf_p1_T_source_type_redirected_by,
10543
14
      { "redirected-by", "p1.T.source.type.redirected.by",
10544
14
        FT_BOOLEAN, 8, NULL, 0x40,
10545
14
        NULL, HFILL }},
10546
14
    { &hf_p1_T_source_type_dl_expanded_by,
10547
14
      { "dl-expanded-by", "p1.T.source.type.dl.expanded.by",
10548
14
        FT_BOOLEAN, 8, NULL, 0x20,
10549
14
        NULL, HFILL }},
10550
14
    { &hf_p1_T_standard_parameters_user_name,
10551
14
      { "user-name", "p1.T.standard.parameters.user.name",
10552
14
        FT_BOOLEAN, 8, NULL, 0x80,
10553
14
        NULL, HFILL }},
10554
14
    { &hf_p1_T_standard_parameters_user_address,
10555
14
      { "user-address", "p1.T.standard.parameters.user.address",
10556
14
        FT_BOOLEAN, 8, NULL, 0x40,
10557
14
        NULL, HFILL }},
10558
14
    { &hf_p1_T_standard_parameters_deliverable_class,
10559
14
      { "deliverable-class", "p1.T.standard.parameters.deliverable.class",
10560
14
        FT_BOOLEAN, 8, NULL, 0x20,
10561
14
        NULL, HFILL }},
10562
14
    { &hf_p1_T_standard_parameters_default_delivery_controls,
10563
14
      { "default-delivery-controls", "p1.T.standard.parameters.default.delivery.controls",
10564
14
        FT_BOOLEAN, 8, NULL, 0x10,
10565
14
        NULL, HFILL }},
10566
14
    { &hf_p1_T_standard_parameters_redirections,
10567
14
      { "redirections", "p1.T.standard.parameters.redirections",
10568
14
        FT_BOOLEAN, 8, NULL, 0x08,
10569
14
        NULL, HFILL }},
10570
14
    { &hf_p1_T_standard_parameters_restricted_delivery,
10571
14
      { "restricted-delivery", "p1.T.standard.parameters.restricted.delivery",
10572
14
        FT_BOOLEAN, 8, NULL, 0x04,
10573
14
        NULL, HFILL }},
10574
14
    { &hf_p1_PerMessageIndicators_U_disclosure_of_other_recipients,
10575
14
      { "disclosure-of-other-recipients", "p1.PerMessageIndicators.U.disclosure.of.other.recipients",
10576
14
        FT_BOOLEAN, 8, NULL, 0x80,
10577
14
        NULL, HFILL }},
10578
14
    { &hf_p1_PerMessageIndicators_U_implicit_conversion_prohibited,
10579
14
      { "implicit-conversion-prohibited", "p1.PerMessageIndicators.U.implicit.conversion.prohibited",
10580
14
        FT_BOOLEAN, 8, NULL, 0x40,
10581
14
        NULL, HFILL }},
10582
14
    { &hf_p1_PerMessageIndicators_U_alternate_recipient_allowed,
10583
14
      { "alternate-recipient-allowed", "p1.PerMessageIndicators.U.alternate.recipient.allowed",
10584
14
        FT_BOOLEAN, 8, NULL, 0x20,
10585
14
        NULL, HFILL }},
10586
14
    { &hf_p1_PerMessageIndicators_U_content_return_request,
10587
14
      { "content-return-request", "p1.PerMessageIndicators.U.content.return.request",
10588
14
        FT_BOOLEAN, 8, NULL, 0x10,
10589
14
        NULL, HFILL }},
10590
14
    { &hf_p1_PerMessageIndicators_U_reserved,
10591
14
      { "reserved", "p1.PerMessageIndicators.U.reserved",
10592
14
        FT_BOOLEAN, 8, NULL, 0x08,
10593
14
        NULL, HFILL }},
10594
14
    { &hf_p1_PerMessageIndicators_U_bit_5,
10595
14
      { "bit-5", "p1.PerMessageIndicators.U.bit.5",
10596
14
        FT_BOOLEAN, 8, NULL, 0x04,
10597
14
        NULL, HFILL }},
10598
14
    { &hf_p1_PerMessageIndicators_U_bit_6,
10599
14
      { "bit-6", "p1.PerMessageIndicators.U.bit.6",
10600
14
        FT_BOOLEAN, 8, NULL, 0x02,
10601
14
        NULL, HFILL }},
10602
14
    { &hf_p1_PerMessageIndicators_U_service_message,
10603
14
      { "service-message", "p1.PerMessageIndicators.U.service.message",
10604
14
        FT_BOOLEAN, 8, NULL, 0x01,
10605
14
        NULL, HFILL }},
10606
14
    { &hf_p1_OriginatorReportRequest_spare_bit0,
10607
14
      { "spare_bit0", "p1.OriginatorReportRequest.spare.bit0",
10608
14
        FT_BOOLEAN, 8, NULL, 0x80,
10609
14
        NULL, HFILL }},
10610
14
    { &hf_p1_OriginatorReportRequest_spare_bit1,
10611
14
      { "spare_bit1", "p1.OriginatorReportRequest.spare.bit1",
10612
14
        FT_BOOLEAN, 8, NULL, 0x40,
10613
14
        NULL, HFILL }},
10614
14
    { &hf_p1_OriginatorReportRequest_spare_bit2,
10615
14
      { "spare_bit2", "p1.OriginatorReportRequest.spare.bit2",
10616
14
        FT_BOOLEAN, 8, NULL, 0x20,
10617
14
        NULL, HFILL }},
10618
14
    { &hf_p1_OriginatorReportRequest_report,
10619
14
      { "report", "p1.OriginatorReportRequest.report",
10620
14
        FT_BOOLEAN, 8, NULL, 0x10,
10621
14
        NULL, HFILL }},
10622
14
    { &hf_p1_OriginatorReportRequest_non_delivery_report,
10623
14
      { "non-delivery-report", "p1.OriginatorReportRequest.non.delivery.report",
10624
14
        FT_BOOLEAN, 8, NULL, 0x08,
10625
14
        NULL, HFILL }},
10626
14
    { &hf_p1_DeliveryFlags_spare_bit0,
10627
14
      { "spare_bit0", "p1.DeliveryFlags.spare.bit0",
10628
14
        FT_BOOLEAN, 8, NULL, 0x80,
10629
14
        NULL, HFILL }},
10630
14
    { &hf_p1_DeliveryFlags_implicit_conversion_prohibited,
10631
14
      { "implicit-conversion-prohibited", "p1.DeliveryFlags.implicit.conversion.prohibited",
10632
14
        FT_BOOLEAN, 8, NULL, 0x40,
10633
14
        NULL, HFILL }},
10634
14
    { &hf_p1_Criticality_for_submission,
10635
14
      { "for-submission", "p1.Criticality.for.submission",
10636
14
        FT_BOOLEAN, 8, NULL, 0x80,
10637
14
        NULL, HFILL }},
10638
14
    { &hf_p1_Criticality_for_transfer,
10639
14
      { "for-transfer", "p1.Criticality.for.transfer",
10640
14
        FT_BOOLEAN, 8, NULL, 0x40,
10641
14
        NULL, HFILL }},
10642
14
    { &hf_p1_Criticality_for_delivery,
10643
14
      { "for-delivery", "p1.Criticality.for.delivery",
10644
14
        FT_BOOLEAN, 8, NULL, 0x20,
10645
14
        NULL, HFILL }},
10646
14
    { &hf_p1_PhysicalDeliveryModes_ordinary_mail,
10647
14
      { "ordinary-mail", "p1.PhysicalDeliveryModes.ordinary.mail",
10648
14
        FT_BOOLEAN, 8, NULL, 0x80,
10649
14
        NULL, HFILL }},
10650
14
    { &hf_p1_PhysicalDeliveryModes_special_delivery,
10651
14
      { "special-delivery", "p1.PhysicalDeliveryModes.special.delivery",
10652
14
        FT_BOOLEAN, 8, NULL, 0x40,
10653
14
        NULL, HFILL }},
10654
14
    { &hf_p1_PhysicalDeliveryModes_express_mail,
10655
14
      { "express-mail", "p1.PhysicalDeliveryModes.express.mail",
10656
14
        FT_BOOLEAN, 8, NULL, 0x20,
10657
14
        NULL, HFILL }},
10658
14
    { &hf_p1_PhysicalDeliveryModes_counter_collection,
10659
14
      { "counter-collection", "p1.PhysicalDeliveryModes.counter.collection",
10660
14
        FT_BOOLEAN, 8, NULL, 0x10,
10661
14
        NULL, HFILL }},
10662
14
    { &hf_p1_PhysicalDeliveryModes_counter_collection_with_telephone_advice,
10663
14
      { "counter-collection-with-telephone-advice", "p1.PhysicalDeliveryModes.counter.collection.with.telephone.advice",
10664
14
        FT_BOOLEAN, 8, NULL, 0x08,
10665
14
        NULL, HFILL }},
10666
14
    { &hf_p1_PhysicalDeliveryModes_counter_collection_with_telex_advice,
10667
14
      { "counter-collection-with-telex-advice", "p1.PhysicalDeliveryModes.counter.collection.with.telex.advice",
10668
14
        FT_BOOLEAN, 8, NULL, 0x04,
10669
14
        NULL, HFILL }},
10670
14
    { &hf_p1_PhysicalDeliveryModes_counter_collection_with_teletex_advice,
10671
14
      { "counter-collection-with-teletex-advice", "p1.PhysicalDeliveryModes.counter.collection.with.teletex.advice",
10672
14
        FT_BOOLEAN, 8, NULL, 0x02,
10673
14
        NULL, HFILL }},
10674
14
    { &hf_p1_PhysicalDeliveryModes_bureau_fax_delivery,
10675
14
      { "bureau-fax-delivery", "p1.PhysicalDeliveryModes.bureau.fax.delivery",
10676
14
        FT_BOOLEAN, 8, NULL, 0x01,
10677
14
        NULL, HFILL }},
10678
14
    { &hf_p1_BuiltInEncodedInformationTypes_unknown,
10679
14
      { "unknown", "p1.BuiltInEncodedInformationTypes.unknown",
10680
14
        FT_BOOLEAN, 8, NULL, 0x80,
10681
14
        NULL, HFILL }},
10682
14
    { &hf_p1_BuiltInEncodedInformationTypes_telex,
10683
14
      { "telex", "p1.BuiltInEncodedInformationTypes.telex",
10684
14
        FT_BOOLEAN, 8, NULL, 0x40,
10685
14
        NULL, HFILL }},
10686
14
    { &hf_p1_BuiltInEncodedInformationTypes_ia5_text,
10687
14
      { "ia5-text", "p1.BuiltInEncodedInformationTypes.ia5.text",
10688
14
        FT_BOOLEAN, 8, NULL, 0x20,
10689
14
        NULL, HFILL }},
10690
14
    { &hf_p1_BuiltInEncodedInformationTypes_g3_facsimile,
10691
14
      { "g3-facsimile", "p1.BuiltInEncodedInformationTypes.g3.facsimile",
10692
14
        FT_BOOLEAN, 8, NULL, 0x10,
10693
14
        NULL, HFILL }},
10694
14
    { &hf_p1_BuiltInEncodedInformationTypes_g4_class_1,
10695
14
      { "g4-class-1", "p1.BuiltInEncodedInformationTypes.g4.class.1",
10696
14
        FT_BOOLEAN, 8, NULL, 0x08,
10697
14
        NULL, HFILL }},
10698
14
    { &hf_p1_BuiltInEncodedInformationTypes_teletex,
10699
14
      { "teletex", "p1.BuiltInEncodedInformationTypes.teletex",
10700
14
        FT_BOOLEAN, 8, NULL, 0x04,
10701
14
        NULL, HFILL }},
10702
14
    { &hf_p1_BuiltInEncodedInformationTypes_videotex,
10703
14
      { "videotex", "p1.BuiltInEncodedInformationTypes.videotex",
10704
14
        FT_BOOLEAN, 8, NULL, 0x02,
10705
14
        NULL, HFILL }},
10706
14
    { &hf_p1_BuiltInEncodedInformationTypes_voice,
10707
14
      { "voice", "p1.BuiltInEncodedInformationTypes.voice",
10708
14
        FT_BOOLEAN, 8, NULL, 0x01,
10709
14
        NULL, HFILL }},
10710
14
    { &hf_p1_BuiltInEncodedInformationTypes_sfd,
10711
14
      { "sfd", "p1.BuiltInEncodedInformationTypes.sfd",
10712
14
        FT_BOOLEAN, 8, NULL, 0x80,
10713
14
        NULL, HFILL }},
10714
14
    { &hf_p1_BuiltInEncodedInformationTypes_mixed_mode,
10715
14
      { "mixed-mode", "p1.BuiltInEncodedInformationTypes.mixed.mode",
10716
14
        FT_BOOLEAN, 8, NULL, 0x40,
10717
14
        NULL, HFILL }},
10718
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit0,
10719
14
      { "spare_bit0", "p1.G3FacsimileNonBasicParameters.spare.bit0",
10720
14
        FT_BOOLEAN, 8, NULL, 0x80,
10721
14
        NULL, HFILL }},
10722
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit1,
10723
14
      { "spare_bit1", "p1.G3FacsimileNonBasicParameters.spare.bit1",
10724
14
        FT_BOOLEAN, 8, NULL, 0x40,
10725
14
        NULL, HFILL }},
10726
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit2,
10727
14
      { "spare_bit2", "p1.G3FacsimileNonBasicParameters.spare.bit2",
10728
14
        FT_BOOLEAN, 8, NULL, 0x20,
10729
14
        NULL, HFILL }},
10730
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit3,
10731
14
      { "spare_bit3", "p1.G3FacsimileNonBasicParameters.spare.bit3",
10732
14
        FT_BOOLEAN, 8, NULL, 0x10,
10733
14
        NULL, HFILL }},
10734
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit4,
10735
14
      { "spare_bit4", "p1.G3FacsimileNonBasicParameters.spare.bit4",
10736
14
        FT_BOOLEAN, 8, NULL, 0x08,
10737
14
        NULL, HFILL }},
10738
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit5,
10739
14
      { "spare_bit5", "p1.G3FacsimileNonBasicParameters.spare.bit5",
10740
14
        FT_BOOLEAN, 8, NULL, 0x04,
10741
14
        NULL, HFILL }},
10742
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit6,
10743
14
      { "spare_bit6", "p1.G3FacsimileNonBasicParameters.spare.bit6",
10744
14
        FT_BOOLEAN, 8, NULL, 0x02,
10745
14
        NULL, HFILL }},
10746
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit7,
10747
14
      { "spare_bit7", "p1.G3FacsimileNonBasicParameters.spare.bit7",
10748
14
        FT_BOOLEAN, 8, NULL, 0x01,
10749
14
        NULL, HFILL }},
10750
14
    { &hf_p1_G3FacsimileNonBasicParameters_two_dimensional,
10751
14
      { "two-dimensional", "p1.G3FacsimileNonBasicParameters.two.dimensional",
10752
14
        FT_BOOLEAN, 8, NULL, 0x80,
10753
14
        NULL, HFILL }},
10754
14
    { &hf_p1_G3FacsimileNonBasicParameters_fine_resolution,
10755
14
      { "fine-resolution", "p1.G3FacsimileNonBasicParameters.fine.resolution",
10756
14
        FT_BOOLEAN, 8, NULL, 0x40,
10757
14
        NULL, HFILL }},
10758
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit10,
10759
14
      { "spare_bit10", "p1.G3FacsimileNonBasicParameters.spare.bit10",
10760
14
        FT_BOOLEAN, 8, NULL, 0x20,
10761
14
        NULL, HFILL }},
10762
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit11,
10763
14
      { "spare_bit11", "p1.G3FacsimileNonBasicParameters.spare.bit11",
10764
14
        FT_BOOLEAN, 8, NULL, 0x10,
10765
14
        NULL, HFILL }},
10766
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit12,
10767
14
      { "spare_bit12", "p1.G3FacsimileNonBasicParameters.spare.bit12",
10768
14
        FT_BOOLEAN, 8, NULL, 0x08,
10769
14
        NULL, HFILL }},
10770
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit13,
10771
14
      { "spare_bit13", "p1.G3FacsimileNonBasicParameters.spare.bit13",
10772
14
        FT_BOOLEAN, 8, NULL, 0x04,
10773
14
        NULL, HFILL }},
10774
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit14,
10775
14
      { "spare_bit14", "p1.G3FacsimileNonBasicParameters.spare.bit14",
10776
14
        FT_BOOLEAN, 8, NULL, 0x02,
10777
14
        NULL, HFILL }},
10778
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit15,
10779
14
      { "spare_bit15", "p1.G3FacsimileNonBasicParameters.spare.bit15",
10780
14
        FT_BOOLEAN, 8, NULL, 0x01,
10781
14
        NULL, HFILL }},
10782
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit16,
10783
14
      { "spare_bit16", "p1.G3FacsimileNonBasicParameters.spare.bit16",
10784
14
        FT_BOOLEAN, 8, NULL, 0x80,
10785
14
        NULL, HFILL }},
10786
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit17,
10787
14
      { "spare_bit17", "p1.G3FacsimileNonBasicParameters.spare.bit17",
10788
14
        FT_BOOLEAN, 8, NULL, 0x40,
10789
14
        NULL, HFILL }},
10790
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit18,
10791
14
      { "spare_bit18", "p1.G3FacsimileNonBasicParameters.spare.bit18",
10792
14
        FT_BOOLEAN, 8, NULL, 0x20,
10793
14
        NULL, HFILL }},
10794
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit19,
10795
14
      { "spare_bit19", "p1.G3FacsimileNonBasicParameters.spare.bit19",
10796
14
        FT_BOOLEAN, 8, NULL, 0x10,
10797
14
        NULL, HFILL }},
10798
14
    { &hf_p1_G3FacsimileNonBasicParameters_unlimited_length,
10799
14
      { "unlimited-length", "p1.G3FacsimileNonBasicParameters.unlimited.length",
10800
14
        FT_BOOLEAN, 8, NULL, 0x08,
10801
14
        NULL, HFILL }},
10802
14
    { &hf_p1_G3FacsimileNonBasicParameters_b4_length,
10803
14
      { "b4-length", "p1.G3FacsimileNonBasicParameters.b4.length",
10804
14
        FT_BOOLEAN, 8, NULL, 0x04,
10805
14
        NULL, HFILL }},
10806
14
    { &hf_p1_G3FacsimileNonBasicParameters_a3_width,
10807
14
      { "a3-width", "p1.G3FacsimileNonBasicParameters.a3.width",
10808
14
        FT_BOOLEAN, 8, NULL, 0x02,
10809
14
        NULL, HFILL }},
10810
14
    { &hf_p1_G3FacsimileNonBasicParameters_b4_width,
10811
14
      { "b4-width", "p1.G3FacsimileNonBasicParameters.b4.width",
10812
14
        FT_BOOLEAN, 8, NULL, 0x01,
10813
14
        NULL, HFILL }},
10814
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit24,
10815
14
      { "spare_bit24", "p1.G3FacsimileNonBasicParameters.spare.bit24",
10816
14
        FT_BOOLEAN, 8, NULL, 0x80,
10817
14
        NULL, HFILL }},
10818
14
    { &hf_p1_G3FacsimileNonBasicParameters_t6_coding,
10819
14
      { "t6-coding", "p1.G3FacsimileNonBasicParameters.t6.coding",
10820
14
        FT_BOOLEAN, 8, NULL, 0x40,
10821
14
        NULL, HFILL }},
10822
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit26,
10823
14
      { "spare_bit26", "p1.G3FacsimileNonBasicParameters.spare.bit26",
10824
14
        FT_BOOLEAN, 8, NULL, 0x20,
10825
14
        NULL, HFILL }},
10826
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit27,
10827
14
      { "spare_bit27", "p1.G3FacsimileNonBasicParameters.spare.bit27",
10828
14
        FT_BOOLEAN, 8, NULL, 0x10,
10829
14
        NULL, HFILL }},
10830
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit28,
10831
14
      { "spare_bit28", "p1.G3FacsimileNonBasicParameters.spare.bit28",
10832
14
        FT_BOOLEAN, 8, NULL, 0x08,
10833
14
        NULL, HFILL }},
10834
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit29,
10835
14
      { "spare_bit29", "p1.G3FacsimileNonBasicParameters.spare.bit29",
10836
14
        FT_BOOLEAN, 8, NULL, 0x04,
10837
14
        NULL, HFILL }},
10838
14
    { &hf_p1_G3FacsimileNonBasicParameters_uncompressed,
10839
14
      { "uncompressed", "p1.G3FacsimileNonBasicParameters.uncompressed",
10840
14
        FT_BOOLEAN, 8, NULL, 0x02,
10841
14
        NULL, HFILL }},
10842
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit31,
10843
14
      { "spare_bit31", "p1.G3FacsimileNonBasicParameters.spare.bit31",
10844
14
        FT_BOOLEAN, 8, NULL, 0x01,
10845
14
        NULL, HFILL }},
10846
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit32,
10847
14
      { "spare_bit32", "p1.G3FacsimileNonBasicParameters.spare.bit32",
10848
14
        FT_BOOLEAN, 8, NULL, 0x80,
10849
14
        NULL, HFILL }},
10850
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit33,
10851
14
      { "spare_bit33", "p1.G3FacsimileNonBasicParameters.spare.bit33",
10852
14
        FT_BOOLEAN, 8, NULL, 0x40,
10853
14
        NULL, HFILL }},
10854
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit34,
10855
14
      { "spare_bit34", "p1.G3FacsimileNonBasicParameters.spare.bit34",
10856
14
        FT_BOOLEAN, 8, NULL, 0x20,
10857
14
        NULL, HFILL }},
10858
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit35,
10859
14
      { "spare_bit35", "p1.G3FacsimileNonBasicParameters.spare.bit35",
10860
14
        FT_BOOLEAN, 8, NULL, 0x10,
10861
14
        NULL, HFILL }},
10862
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit36,
10863
14
      { "spare_bit36", "p1.G3FacsimileNonBasicParameters.spare.bit36",
10864
14
        FT_BOOLEAN, 8, NULL, 0x08,
10865
14
        NULL, HFILL }},
10866
14
    { &hf_p1_G3FacsimileNonBasicParameters_width_middle_864_of_1728,
10867
14
      { "width-middle-864-of-1728", "p1.G3FacsimileNonBasicParameters.width.middle.864.of.1728",
10868
14
        FT_BOOLEAN, 8, NULL, 0x04,
10869
14
        NULL, HFILL }},
10870
14
    { &hf_p1_G3FacsimileNonBasicParameters_width_middle_1216_of_1728,
10871
14
      { "width-middle-1216-of-1728", "p1.G3FacsimileNonBasicParameters.width.middle.1216.of.1728",
10872
14
        FT_BOOLEAN, 8, NULL, 0x02,
10873
14
        NULL, HFILL }},
10874
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit39,
10875
14
      { "spare_bit39", "p1.G3FacsimileNonBasicParameters.spare.bit39",
10876
14
        FT_BOOLEAN, 8, NULL, 0x01,
10877
14
        NULL, HFILL }},
10878
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit40,
10879
14
      { "spare_bit40", "p1.G3FacsimileNonBasicParameters.spare.bit40",
10880
14
        FT_BOOLEAN, 8, NULL, 0x80,
10881
14
        NULL, HFILL }},
10882
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit41,
10883
14
      { "spare_bit41", "p1.G3FacsimileNonBasicParameters.spare.bit41",
10884
14
        FT_BOOLEAN, 8, NULL, 0x40,
10885
14
        NULL, HFILL }},
10886
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit42,
10887
14
      { "spare_bit42", "p1.G3FacsimileNonBasicParameters.spare.bit42",
10888
14
        FT_BOOLEAN, 8, NULL, 0x20,
10889
14
        NULL, HFILL }},
10890
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit43,
10891
14
      { "spare_bit43", "p1.G3FacsimileNonBasicParameters.spare.bit43",
10892
14
        FT_BOOLEAN, 8, NULL, 0x10,
10893
14
        NULL, HFILL }},
10894
14
    { &hf_p1_G3FacsimileNonBasicParameters_resolution_type,
10895
14
      { "resolution-type", "p1.G3FacsimileNonBasicParameters.resolution.type",
10896
14
        FT_BOOLEAN, 8, NULL, 0x08,
10897
14
        NULL, HFILL }},
10898
14
    { &hf_p1_G3FacsimileNonBasicParameters_resolution_400x400,
10899
14
      { "resolution-400x400", "p1.G3FacsimileNonBasicParameters.resolution.400x400",
10900
14
        FT_BOOLEAN, 8, NULL, 0x04,
10901
14
        NULL, HFILL }},
10902
14
    { &hf_p1_G3FacsimileNonBasicParameters_resolution_300x300,
10903
14
      { "resolution-300x300", "p1.G3FacsimileNonBasicParameters.resolution.300x300",
10904
14
        FT_BOOLEAN, 8, NULL, 0x02,
10905
14
        NULL, HFILL }},
10906
14
    { &hf_p1_G3FacsimileNonBasicParameters_resolution_8x15,
10907
14
      { "resolution-8x15", "p1.G3FacsimileNonBasicParameters.resolution.8x15",
10908
14
        FT_BOOLEAN, 8, NULL, 0x01,
10909
14
        NULL, HFILL }},
10910
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit48,
10911
14
      { "spare_bit48", "p1.G3FacsimileNonBasicParameters.spare.bit48",
10912
14
        FT_BOOLEAN, 8, NULL, 0x80,
10913
14
        NULL, HFILL }},
10914
14
    { &hf_p1_G3FacsimileNonBasicParameters_edi,
10915
14
      { "edi", "p1.G3FacsimileNonBasicParameters.edi",
10916
14
        FT_BOOLEAN, 8, NULL, 0x40,
10917
14
        NULL, HFILL }},
10918
14
    { &hf_p1_G3FacsimileNonBasicParameters_dtm,
10919
14
      { "dtm", "p1.G3FacsimileNonBasicParameters.dtm",
10920
14
        FT_BOOLEAN, 8, NULL, 0x20,
10921
14
        NULL, HFILL }},
10922
14
    { &hf_p1_G3FacsimileNonBasicParameters_bft,
10923
14
      { "bft", "p1.G3FacsimileNonBasicParameters.bft",
10924
14
        FT_BOOLEAN, 8, NULL, 0x10,
10925
14
        NULL, HFILL }},
10926
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit52,
10927
14
      { "spare_bit52", "p1.G3FacsimileNonBasicParameters.spare.bit52",
10928
14
        FT_BOOLEAN, 8, NULL, 0x08,
10929
14
        NULL, HFILL }},
10930
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit53,
10931
14
      { "spare_bit53", "p1.G3FacsimileNonBasicParameters.spare.bit53",
10932
14
        FT_BOOLEAN, 8, NULL, 0x04,
10933
14
        NULL, HFILL }},
10934
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit54,
10935
14
      { "spare_bit54", "p1.G3FacsimileNonBasicParameters.spare.bit54",
10936
14
        FT_BOOLEAN, 8, NULL, 0x02,
10937
14
        NULL, HFILL }},
10938
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit55,
10939
14
      { "spare_bit55", "p1.G3FacsimileNonBasicParameters.spare.bit55",
10940
14
        FT_BOOLEAN, 8, NULL, 0x01,
10941
14
        NULL, HFILL }},
10942
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit56,
10943
14
      { "spare_bit56", "p1.G3FacsimileNonBasicParameters.spare.bit56",
10944
14
        FT_BOOLEAN, 8, NULL, 0x80,
10945
14
        NULL, HFILL }},
10946
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit57,
10947
14
      { "spare_bit57", "p1.G3FacsimileNonBasicParameters.spare.bit57",
10948
14
        FT_BOOLEAN, 8, NULL, 0x40,
10949
14
        NULL, HFILL }},
10950
14
    { &hf_p1_G3FacsimileNonBasicParameters_mixed_mode,
10951
14
      { "mixed-mode", "p1.G3FacsimileNonBasicParameters.mixed.mode",
10952
14
        FT_BOOLEAN, 8, NULL, 0x20,
10953
14
        NULL, HFILL }},
10954
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit59,
10955
14
      { "spare_bit59", "p1.G3FacsimileNonBasicParameters.spare.bit59",
10956
14
        FT_BOOLEAN, 8, NULL, 0x10,
10957
14
        NULL, HFILL }},
10958
14
    { &hf_p1_G3FacsimileNonBasicParameters_character_mode,
10959
14
      { "character-mode", "p1.G3FacsimileNonBasicParameters.character.mode",
10960
14
        FT_BOOLEAN, 8, NULL, 0x08,
10961
14
        NULL, HFILL }},
10962
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit61,
10963
14
      { "spare_bit61", "p1.G3FacsimileNonBasicParameters.spare.bit61",
10964
14
        FT_BOOLEAN, 8, NULL, 0x04,
10965
14
        NULL, HFILL }},
10966
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit62,
10967
14
      { "spare_bit62", "p1.G3FacsimileNonBasicParameters.spare.bit62",
10968
14
        FT_BOOLEAN, 8, NULL, 0x02,
10969
14
        NULL, HFILL }},
10970
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit63,
10971
14
      { "spare_bit63", "p1.G3FacsimileNonBasicParameters.spare.bit63",
10972
14
        FT_BOOLEAN, 8, NULL, 0x01,
10973
14
        NULL, HFILL }},
10974
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit64,
10975
14
      { "spare_bit64", "p1.G3FacsimileNonBasicParameters.spare.bit64",
10976
14
        FT_BOOLEAN, 8, NULL, 0x80,
10977
14
        NULL, HFILL }},
10978
14
    { &hf_p1_G3FacsimileNonBasicParameters_twelve_bits,
10979
14
      { "twelve-bits", "p1.G3FacsimileNonBasicParameters.twelve.bits",
10980
14
        FT_BOOLEAN, 8, NULL, 0x40,
10981
14
        NULL, HFILL }},
10982
14
    { &hf_p1_G3FacsimileNonBasicParameters_preferred_huffmann,
10983
14
      { "preferred-huffmann", "p1.G3FacsimileNonBasicParameters.preferred.huffmann",
10984
14
        FT_BOOLEAN, 8, NULL, 0x20,
10985
14
        NULL, HFILL }},
10986
14
    { &hf_p1_G3FacsimileNonBasicParameters_full_colour,
10987
14
      { "full-colour", "p1.G3FacsimileNonBasicParameters.full.colour",
10988
14
        FT_BOOLEAN, 8, NULL, 0x10,
10989
14
        NULL, HFILL }},
10990
14
    { &hf_p1_G3FacsimileNonBasicParameters_jpeg,
10991
14
      { "jpeg", "p1.G3FacsimileNonBasicParameters.jpeg",
10992
14
        FT_BOOLEAN, 8, NULL, 0x08,
10993
14
        NULL, HFILL }},
10994
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit69,
10995
14
      { "spare_bit69", "p1.G3FacsimileNonBasicParameters.spare.bit69",
10996
14
        FT_BOOLEAN, 8, NULL, 0x04,
10997
14
        NULL, HFILL }},
10998
14
    { &hf_p1_G3FacsimileNonBasicParameters_spare_bit70,
10999
14
      { "spare_bit70", "p1.G3FacsimileNonBasicParameters.spare.bit70",
11000
14
        FT_BOOLEAN, 8, NULL, 0x02,
11001
14
        NULL, HFILL }},
11002
14
    { &hf_p1_G3FacsimileNonBasicParameters_processable_mode_26,
11003
14
      { "processable-mode-26", "p1.G3FacsimileNonBasicParameters.processable.mode.26",
11004
14
        FT_BOOLEAN, 8, NULL, 0x01,
11005
14
        NULL, HFILL }},
11006
14
  };
11007
11008
  /* List of subtrees */
11009
14
  static int *ett[] = {
11010
14
    &ett_p1,
11011
14
    &ett_p3,
11012
14
    &ett_p1_content_unknown,
11013
14
    &ett_p1_bilateral_information,
11014
14
    &ett_p1_additional_information,
11015
14
    &ett_p1_unknown_standard_extension,
11016
14
    &ett_p1_unknown_extension_attribute_type,
11017
14
    &ett_p1_unknown_tokendata_type,
11018
14
    &ett_p1_MTABindArgument,
11019
14
    &ett_p1_AuthenticatedArgument,
11020
14
    &ett_p1_MTABindResult,
11021
14
    &ett_p1_AuthenticatedResult,
11022
14
    &ett_p1_MTS_APDU,
11023
14
    &ett_p1_Message,
11024
14
    &ett_p1_Report,
11025
14
    &ett_p1_MessageTransferEnvelope,
11026
14
    &ett_p1_PerMessageTransferFields,
11027
14
    &ett_p1_SEQUENCE_SIZE_1_ub_transfers_OF_PerDomainBilateralInformation,
11028
14
    &ett_p1_SET_OF_ExtensionField,
11029
14
    &ett_p1_PerRecipientMessageTransferFields,
11030
14
    &ett_p1_ProbeTransferEnvelope,
11031
14
    &ett_p1_PerProbeTransferFields,
11032
14
    &ett_p1_PerRecipientProbeTransferFields,
11033
14
    &ett_p1_ReportTransferEnvelope,
11034
14
    &ett_p1_ReportTransferContent,
11035
14
    &ett_p1_PerReportTransferFields,
11036
14
    &ett_p1_PerRecipientReportTransferFields,
11037
14
    &ett_p1_PerDomainBilateralInformation,
11038
14
    &ett_p1_T_bilateral_domain,
11039
14
    &ett_p1_T_private_domain,
11040
14
    &ett_p1_PerRecipientIndicators,
11041
14
    &ett_p1_LastTraceInformation,
11042
14
    &ett_p1_InternalTraceInformation,
11043
14
    &ett_p1_InternalTraceInformationElement,
11044
14
    &ett_p1_MTASuppliedInformation,
11045
14
    &ett_p1_SEQUENCE_SIZE_1_ub_transfers_OF_TraceInformationElement,
11046
14
    &ett_p1_TraceInformationElement,
11047
14
    &ett_p1_DomainSuppliedInformation,
11048
14
    &ett_p1_AdditionalActions,
11049
14
    &ett_p1_OtherActions,
11050
14
    &ett_p1_MTSBindArgument,
11051
14
    &ett_p1_MTSBindResult,
11052
14
    &ett_p1_ObjectName,
11053
14
    &ett_p1_MessagesWaiting,
11054
14
    &ett_p1_DeliveryQueue,
11055
14
    &ett_p1_Credentials,
11056
14
    &ett_p1_Password,
11057
14
    &ett_p1_StrongCredentials,
11058
14
    &ett_p1_ProtectedPassword,
11059
14
    &ett_p1_Signature,
11060
14
    &ett_p1_SecurityContext,
11061
14
    &ett_p1_MessageSubmissionArgument,
11062
14
    &ett_p1_MessageSubmissionResult,
11063
14
    &ett_p1_ProbeSubmissionResult,
11064
14
    &ett_p1_ImproperlySpecifiedRecipients,
11065
14
    &ett_p1_Waiting,
11066
14
    &ett_p1_SET_SIZE_0_ub_content_types_OF_ContentType,
11067
14
    &ett_p1_Operations,
11068
14
    &ett_p1_WaitingMessages,
11069
14
    &ett_p1_MessageDeliveryArgument,
11070
14
    &ett_p1_MessageDeliveryResult,
11071
14
    &ett_p1_ReportDeliveryArgument,
11072
14
    &ett_p1_ReportDeliveryResult,
11073
14
    &ett_p1_SET_SIZE_1_MAX_OF_ExtensionField,
11074
14
    &ett_p1_DeliveryControlArgument,
11075
14
    &ett_p1_DeliveryControlResult,
11076
14
    &ett_p1_RefusedOperation,
11077
14
    &ett_p1_T_refused_argument,
11078
14
    &ett_p1_Controls,
11079
14
    &ett_p1_RegisterArgument,
11080
14
    &ett_p1_SET_SIZE_1_ub_deliverable_class_OF_DeliverableClass,
11081
14
    &ett_p1_RegisterResult,
11082
14
    &ett_p1_T_non_empty_result,
11083
14
    &ett_p1_ChangeCredentialsArgument,
11084
14
    &ett_p1_UserAddress,
11085
14
    &ett_p1_T_x121,
11086
14
    &ett_p1_Redirections,
11087
14
    &ett_p1_RecipientRedirection,
11088
14
    &ett_p1_SET_SIZE_1_ub_redirection_classes_OF_RedirectionClass,
11089
14
    &ett_p1_MessageClass,
11090
14
    &ett_p1_SET_OF_Priority,
11091
14
    &ett_p1_SEQUENCE_OF_Restriction,
11092
14
    &ett_p1_EncodedInformationTypesConstraints,
11093
14
    &ett_p1_RestrictedDelivery,
11094
14
    &ett_p1_Restriction,
11095
14
    &ett_p1_T_source_type,
11096
14
    &ett_p1_ExactOrPattern,
11097
14
    &ett_p1_RegistrationTypes,
11098
14
    &ett_p1_T_standard_parameters,
11099
14
    &ett_p1_T_type_extensions,
11100
14
    &ett_p1_MessageSubmissionEnvelope,
11101
14
    &ett_p1_PerMessageSubmissionFields,
11102
14
    &ett_p1_PerRecipientMessageSubmissionFields,
11103
14
    &ett_p1_ProbeSubmissionEnvelope,
11104
14
    &ett_p1_PerProbeSubmissionFields,
11105
14
    &ett_p1_PerRecipientProbeSubmissionFields,
11106
14
    &ett_p1_MessageDeliveryEnvelope,
11107
14
    &ett_p1_OtherMessageDeliveryFields,
11108
14
    &ett_p1_ReportDeliveryEnvelope,
11109
14
    &ett_p1_PerReportDeliveryFields,
11110
14
    &ett_p1_PerRecipientReportDeliveryFields,
11111
14
    &ett_p1_ReportType,
11112
14
    &ett_p1_DeliveryReport,
11113
14
    &ett_p1_NonDeliveryReport,
11114
14
    &ett_p1_ContentTypes,
11115
14
    &ett_p1_ContentType,
11116
14
    &ett_p1_DeliveredContentType,
11117
14
    &ett_p1_PerMessageIndicators_U,
11118
14
    &ett_p1_OriginatorReportRequest,
11119
14
    &ett_p1_DeliveryFlags,
11120
14
    &ett_p1_OtherRecipientNames,
11121
14
    &ett_p1_ExtensionType,
11122
14
    &ett_p1_Criticality,
11123
14
    &ett_p1_ExtensionField,
11124
14
    &ett_p1_RequestedDeliveryMethod,
11125
14
    &ett_p1_PhysicalDeliveryModes,
11126
14
    &ett_p1_ContentCorrelator,
11127
14
    &ett_p1_RedirectionHistory,
11128
14
    &ett_p1_Redirection,
11129
14
    &ett_p1_IntendedRecipientName,
11130
14
    &ett_p1_DLExpansionHistory,
11131
14
    &ett_p1_DLExpansion,
11132
14
    &ett_p1_OriginatorAndDLExpansionHistory,
11133
14
    &ett_p1_OriginatorAndDLExpansion,
11134
14
    &ett_p1_PerRecipientDeliveryReportFields,
11135
14
    &ett_p1_PerRecipientNonDeliveryReportFields,
11136
14
    &ett_p1_ReportingMTAName,
11137
14
    &ett_p1_ExtendedCertificates,
11138
14
    &ett_p1_ExtendedCertificate,
11139
14
    &ett_p1_DLExemptedRecipients,
11140
14
    &ett_p1_CertificateSelectors,
11141
14
    &ett_p1_MTSIdentifier_U,
11142
14
    &ett_p1_GlobalDomainIdentifier_U,
11143
14
    &ett_p1_PrivateDomainIdentifier,
11144
14
    &ett_p1_ORName_U,
11145
14
    &ett_p1_ORAddress,
11146
14
    &ett_p1_BuiltInStandardAttributes,
11147
14
    &ett_p1_CountryName_U,
11148
14
    &ett_p1_AdministrationDomainName_U,
11149
14
    &ett_p1_PrivateDomainName,
11150
14
    &ett_p1_PersonalName,
11151
14
    &ett_p1_OrganizationalUnitNames,
11152
14
    &ett_p1_BuiltInDomainDefinedAttributes,
11153
14
    &ett_p1_BuiltInDomainDefinedAttribute,
11154
14
    &ett_p1_ExtensionAttributes,
11155
14
    &ett_p1_ExtensionAttribute,
11156
14
    &ett_p1_TeletexPersonalName,
11157
14
    &ett_p1_UniversalPersonalName,
11158
14
    &ett_p1_TeletexOrganizationalUnitNames,
11159
14
    &ett_p1_UniversalOrganizationalUnitNames,
11160
14
    &ett_p1_UniversalOrBMPString,
11161
14
    &ett_p1_T_character_encoding,
11162
14
    &ett_p1_PhysicalDeliveryCountryName,
11163
14
    &ett_p1_PostalCode,
11164
14
    &ett_p1_UnformattedPostalAddress,
11165
14
    &ett_p1_T_printable_address,
11166
14
    &ett_p1_PDSParameter,
11167
14
    &ett_p1_ExtendedNetworkAddress,
11168
14
    &ett_p1_T_e163_4_address,
11169
14
    &ett_p1_TeletexDomainDefinedAttributes,
11170
14
    &ett_p1_TeletexDomainDefinedAttribute,
11171
14
    &ett_p1_UniversalDomainDefinedAttributes,
11172
14
    &ett_p1_UniversalDomainDefinedAttribute,
11173
14
    &ett_p1_EncodedInformationTypes_U,
11174
14
    &ett_p1_BuiltInEncodedInformationTypes,
11175
14
    &ett_p1_ExtendedEncodedInformationTypes,
11176
14
    &ett_p1_NonBasicParameters,
11177
14
    &ett_p1_G3FacsimileNonBasicParameters,
11178
14
    &ett_p1_TeletexNonBasicParameters,
11179
14
    &ett_p1_Token,
11180
14
    &ett_p1_AsymmetricTokenData,
11181
14
    &ett_p1_T_name,
11182
14
    &ett_p1_MTANameAndOptionalGDI,
11183
14
    &ett_p1_AsymmetricToken,
11184
14
    &ett_p1_TokenData,
11185
14
    &ett_p1_MessageTokenSignedData,
11186
14
    &ett_p1_MessageTokenEncryptedData,
11187
14
    &ett_p1_SecurityLabel,
11188
14
    &ett_p1_SecurityCategories,
11189
14
    &ett_p1_SecurityCategory,
11190
14
    &ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageTransferFields,
11191
14
    &ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeTransferFields,
11192
14
    &ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportTransferFields,
11193
14
    &ett_p1_T_attempted,
11194
14
    &ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportDeliveryFields,
11195
14
    &ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageSubmissionFields,
11196
14
    &ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeSubmissionFields,
11197
14
  };
11198
11199
14
  static ei_register_info ei[] = {
11200
14
     { &ei_p1_unknown_extension_attribute_type, { "p1.unknown.extension_attribute_type", PI_UNDECODED, PI_WARN, "Unknown extension-attribute-type", EXPFILL }},
11201
14
     { &ei_p1_unknown_standard_extension, { "p1.unknown.standard_extension", PI_UNDECODED, PI_WARN, "Unknown standard-extension", EXPFILL }},
11202
14
     { &ei_p1_unknown_built_in_content_type, { "p1.unknown.built_in_content_type", PI_UNDECODED, PI_WARN, "P1 Unknown Content (unknown built-in content-type)", EXPFILL }},
11203
14
     { &ei_p1_unknown_tokendata_type, { "p1.unknown.tokendata_type", PI_UNDECODED, PI_WARN, "Unknown tokendata-type", EXPFILL }},
11204
14
     { &ei_p1_unsupported_pdu, { "p1.unsupported_pdu", PI_UNDECODED, PI_WARN, "Unsupported P1 PDU", EXPFILL }},
11205
14
     { &ei_p1_zero_pdu, { "p1.zero_pdu", PI_PROTOCOL, PI_ERROR, "Internal error, zero-byte P1 PDU", EXPFILL }},
11206
14
  };
11207
11208
14
  expert_module_t* expert_p1;
11209
14
  module_t *p1_module;
11210
11211
  /* Register protocol */
11212
14
  proto_p1 = proto_register_protocol(PNAME, PSNAME, PFNAME);
11213
14
  p1_handle = register_dissector("p1", dissect_p1, proto_p1);
11214
11215
14
  proto_p3 = proto_register_protocol("X.411 Message Access Service", "P3", "p3");
11216
11217
  /* Register fields and subtrees */
11218
14
  proto_register_field_array(proto_p1, hf, array_length(hf));
11219
14
  proto_register_subtree_array(ett, array_length(ett));
11220
14
  expert_p1 = expert_register_protocol(proto_p1);
11221
14
  expert_register_field_array(expert_p1, ei, array_length(ei));
11222
11223
14
  p1_extension_dissector_table = register_dissector_table("p1.extension", "P1-EXTENSION", proto_p1, FT_UINT32, BASE_DEC);
11224
14
  p1_extension_attribute_dissector_table = register_dissector_table("p1.extension-attribute", "P1-EXTENSION-ATTRIBUTE", proto_p1, FT_UINT32, BASE_DEC);
11225
14
  p1_tokendata_dissector_table = register_dissector_table("p1.tokendata", "P1-TOKENDATA", proto_p1, FT_UINT32, BASE_DEC);
11226
11227
  /* Register our configuration options for P1, particularly our port */
11228
11229
14
  p1_module = prefs_register_protocol_subtree("OSI/X.400", proto_p1, NULL);
11230
  /* For reading older preference files with "x411." preferences */
11231
14
  prefs_register_module_alias("x411", p1_module);
11232
11233
14
  prefs_register_obsolete_preference(p1_module, "tcp.port");
11234
11235
14
  prefs_register_static_text_preference(p1_module, "tcp_port_info",
11236
14
            "The TCP ports used by the P1 protocol should be added to the TPKT preference \"TPKT TCP ports\", or by selecting \"TPKT\" as the \"Transport\" protocol in the \"Decode As\" dialog.",
11237
14
            "P1 TCP Port preference moved information");
11238
11239
14
  register_ber_syntax_dissector("P1 Message", proto_p1, dissect_p1_mts_apdu);
11240
  /*--- Syntax registrations ---*/
11241
14
  register_ber_syntax_dissector("ORAddress", proto_p1, dissect_ORAddress_PDU);
11242
14
  register_ber_syntax_dissector("ORName", proto_p1, dissect_ORName_PDU);
11243
14
}
11244
11245
11246
/*--- proto_reg_handoff_p1 --- */
11247
14
void proto_reg_handoff_p1(void) {
11248
14
  dissector_add_uint("p1.extension", 1, create_dissector_handle(dissect_RecipientReassignmentProhibited_PDU, proto_p1));
11249
14
  dissector_add_uint("p1.extension", 2, create_dissector_handle(dissect_OriginatorRequestedAlternateRecipient_PDU, proto_p1));
11250
14
  dissector_add_uint("p1.extension", 3, create_dissector_handle(dissect_DLExpansionProhibited_PDU, proto_p1));
11251
14
  dissector_add_uint("p1.extension", 4, create_dissector_handle(dissect_ConversionWithLossProhibited_PDU, proto_p1));
11252
14
  dissector_add_uint("p1.extension", 5, create_dissector_handle(dissect_LatestDeliveryTime_PDU, proto_p1));
11253
14
  dissector_add_uint("p1.extension", 6, create_dissector_handle(dissect_RequestedDeliveryMethod_PDU, proto_p1));
11254
14
  dissector_add_uint("p1.extension", 7, create_dissector_handle(dissect_PhysicalForwardingProhibited_PDU, proto_p1));
11255
14
  dissector_add_uint("p1.extension", 8, create_dissector_handle(dissect_PhysicalForwardingAddressRequest_PDU, proto_p1));
11256
14
  dissector_add_uint("p1.extension", 9, create_dissector_handle(dissect_PhysicalDeliveryModes_PDU, proto_p1));
11257
14
  dissector_add_uint("p1.extension", 10, create_dissector_handle(dissect_RegisteredMailType_PDU, proto_p1));
11258
14
  dissector_add_uint("p1.extension", 11, create_dissector_handle(dissect_RecipientNumberForAdvice_PDU, proto_p1));
11259
14
  dissector_add_uint("p1.extension", 12, create_dissector_handle(dissect_PhysicalRenditionAttributes_PDU, proto_p1));
11260
14
  dissector_add_uint("p1.extension", 13, create_dissector_handle(dissect_OriginatorReturnAddress_PDU, proto_p1));
11261
14
  dissector_add_uint("p1.extension", 14, create_dissector_handle(dissect_PhysicalDeliveryReportRequest_PDU, proto_p1));
11262
14
  dissector_add_uint("p1.extension", 15, create_dissector_handle(dissect_OriginatorCertificate_PDU, proto_p1));
11263
14
  dissector_add_uint("p1.extension", 16, create_dissector_handle(dissect_MessageToken_PDU, proto_p1));
11264
14
  dissector_add_uint("p1.extension", 17, create_dissector_handle(dissect_ContentConfidentialityAlgorithmIdentifier_PDU, proto_p1));
11265
14
  dissector_add_uint("p1.extension", 18, create_dissector_handle(dissect_ContentIntegrityCheck_PDU, proto_p1));
11266
14
  dissector_add_uint("p1.extension", 19, create_dissector_handle(dissect_MessageOriginAuthenticationCheck_PDU, proto_p1));
11267
14
  dissector_add_uint("p1.extension", 20, create_dissector_handle(dissect_p1_MessageSecurityLabel_PDU, proto_p1));
11268
14
  dissector_add_uint("p1.extension", 21, create_dissector_handle(dissect_ProofOfSubmissionRequest_PDU, proto_p1));
11269
14
  dissector_add_uint("p1.extension", 22, create_dissector_handle(dissect_ProofOfDeliveryRequest_PDU, proto_p1));
11270
14
  dissector_add_uint("p1.extension", 23, create_dissector_handle(dissect_ContentCorrelator_PDU, proto_p1));
11271
14
  dissector_add_uint("p1.extension", 24, create_dissector_handle(dissect_ProbeOriginAuthenticationCheck_PDU, proto_p1));
11272
14
  dissector_add_uint("p1.extension", 25, create_dissector_handle(dissect_RedirectionHistory_PDU, proto_p1));
11273
14
  dissector_add_uint("p1.extension", 26, create_dissector_handle(dissect_DLExpansionHistory_PDU, proto_p1));
11274
14
  dissector_add_uint("p1.extension", 27, create_dissector_handle(dissect_PhysicalForwardingAddress_PDU, proto_p1));
11275
14
  dissector_add_uint("p1.extension", 28, create_dissector_handle(dissect_RecipientCertificate_PDU, proto_p1));
11276
14
  dissector_add_uint("p1.extension", 29, create_dissector_handle(dissect_ProofOfDelivery_PDU, proto_p1));
11277
14
  dissector_add_uint("p1.extension", 30, create_dissector_handle(dissect_OriginatorAndDLExpansionHistory_PDU, proto_p1));
11278
14
  dissector_add_uint("p1.extension", 31, create_dissector_handle(dissect_ReportingDLName_PDU, proto_p1));
11279
14
  dissector_add_uint("p1.extension", 32, create_dissector_handle(dissect_ReportingMTACertificate_PDU, proto_p1));
11280
14
  dissector_add_uint("p1.extension", 33, create_dissector_handle(dissect_ReportOriginAuthenticationCheck_PDU, proto_p1));
11281
14
  dissector_add_uint("p1.extension", 34, create_dissector_handle(dissect_OriginatingMTACertificate_PDU, proto_p1));
11282
14
  dissector_add_uint("p1.extension", 35, create_dissector_handle(dissect_ProofOfSubmission_PDU, proto_p1));
11283
14
  dissector_add_uint("p1.extension", 37, create_dissector_handle(dissect_TraceInformation_PDU, proto_p1));
11284
14
  dissector_add_uint("p1.extension", 38, create_dissector_handle(dissect_InternalTraceInformation_PDU, proto_p1));
11285
14
  dissector_add_uint("p1.extension", 39, create_dissector_handle(dissect_ReportingMTAName_PDU, proto_p1));
11286
14
  dissector_add_uint("p1.extension", 40, create_dissector_handle(dissect_ExtendedCertificates_PDU, proto_p1));
11287
14
  dissector_add_uint("p1.extension", 42, create_dissector_handle(dissect_DLExemptedRecipients_PDU, proto_p1));
11288
14
  dissector_add_uint("p1.extension", 45, create_dissector_handle(dissect_CertificateSelectors_PDU, proto_p1));
11289
14
  dissector_add_uint("p1.extension-attribute", 1, create_dissector_handle(dissect_CommonName_PDU, proto_p1));
11290
14
  dissector_add_uint("p1.extension-attribute", 2, create_dissector_handle(dissect_TeletexCommonName_PDU, proto_p1));
11291
14
  dissector_add_uint("p1.extension-attribute", 3, create_dissector_handle(dissect_TeletexOrganizationName_PDU, proto_p1));
11292
14
  dissector_add_uint("p1.extension-attribute", 4, create_dissector_handle(dissect_TeletexPersonalName_PDU, proto_p1));
11293
14
  dissector_add_uint("p1.extension-attribute", 5, create_dissector_handle(dissect_TeletexOrganizationalUnitNames_PDU, proto_p1));
11294
14
  dissector_add_uint("p1.extension-attribute", 6, create_dissector_handle(dissect_TeletexDomainDefinedAttributes_PDU, proto_p1));
11295
14
  dissector_add_uint("p1.extension-attribute", 7, create_dissector_handle(dissect_PDSName_PDU, proto_p1));
11296
14
  dissector_add_uint("p1.extension-attribute", 8, create_dissector_handle(dissect_PhysicalDeliveryCountryName_PDU, proto_p1));
11297
14
  dissector_add_uint("p1.extension-attribute", 9, create_dissector_handle(dissect_PostalCode_PDU, proto_p1));
11298
14
  dissector_add_uint("p1.extension-attribute", 10, create_dissector_handle(dissect_PhysicalDeliveryOfficeName_PDU, proto_p1));
11299
14
  dissector_add_uint("p1.extension-attribute", 11, create_dissector_handle(dissect_PhysicalDeliveryOfficeNumber_PDU, proto_p1));
11300
14
  dissector_add_uint("p1.extension-attribute", 12, create_dissector_handle(dissect_ExtensionORAddressComponents_PDU, proto_p1));
11301
14
  dissector_add_uint("p1.extension-attribute", 13, create_dissector_handle(dissect_PhysicalDeliveryPersonalName_PDU, proto_p1));
11302
14
  dissector_add_uint("p1.extension-attribute", 14, create_dissector_handle(dissect_PhysicalDeliveryOrganizationName_PDU, proto_p1));
11303
14
  dissector_add_uint("p1.extension-attribute", 15, create_dissector_handle(dissect_ExtensionPhysicalDeliveryAddressComponents_PDU, proto_p1));
11304
14
  dissector_add_uint("p1.extension-attribute", 16, create_dissector_handle(dissect_UnformattedPostalAddress_PDU, proto_p1));
11305
14
  dissector_add_uint("p1.extension-attribute", 17, create_dissector_handle(dissect_StreetAddress_PDU, proto_p1));
11306
14
  dissector_add_uint("p1.extension-attribute", 18, create_dissector_handle(dissect_PostOfficeBoxAddress_PDU, proto_p1));
11307
14
  dissector_add_uint("p1.extension-attribute", 19, create_dissector_handle(dissect_PosteRestanteAddress_PDU, proto_p1));
11308
14
  dissector_add_uint("p1.extension-attribute", 20, create_dissector_handle(dissect_UniquePostalName_PDU, proto_p1));
11309
14
  dissector_add_uint("p1.extension-attribute", 21, create_dissector_handle(dissect_LocalPostalAttributes_PDU, proto_p1));
11310
14
  dissector_add_uint("p1.extension-attribute", 22, create_dissector_handle(dissect_ExtendedNetworkAddress_PDU, proto_p1));
11311
14
  dissector_add_uint("p1.extension-attribute", 23, create_dissector_handle(dissect_TerminalType_PDU, proto_p1));
11312
14
  dissector_add_uint("p1.extension-attribute", 24, create_dissector_handle(dissect_UniversalCommonName_PDU, proto_p1));
11313
14
  dissector_add_uint("p1.extension-attribute", 25, create_dissector_handle(dissect_UniversalOrganizationName_PDU, proto_p1));
11314
14
  dissector_add_uint("p1.extension-attribute", 26, create_dissector_handle(dissect_UniversalPersonalName_PDU, proto_p1));
11315
14
  dissector_add_uint("p1.extension-attribute", 27, create_dissector_handle(dissect_UniversalOrganizationalUnitNames_PDU, proto_p1));
11316
14
  dissector_add_uint("p1.extension-attribute", 28, create_dissector_handle(dissect_UniversalDomainDefinedAttributes_PDU, proto_p1));
11317
14
  dissector_add_uint("p1.extension-attribute", 29, create_dissector_handle(dissect_UniversalPhysicalDeliveryOfficeName_PDU, proto_p1));
11318
14
  dissector_add_uint("p1.extension-attribute", 30, create_dissector_handle(dissect_UniversalPhysicalDeliveryOfficeNumber_PDU, proto_p1));
11319
14
  dissector_add_uint("p1.extension-attribute", 31, create_dissector_handle(dissect_UniversalExtensionORAddressComponents_PDU, proto_p1));
11320
14
  dissector_add_uint("p1.extension-attribute", 32, create_dissector_handle(dissect_UniversalPhysicalDeliveryPersonalName_PDU, proto_p1));
11321
14
  dissector_add_uint("p1.extension-attribute", 33, create_dissector_handle(dissect_UniversalPhysicalDeliveryOrganizationName_PDU, proto_p1));
11322
14
  dissector_add_uint("p1.extension-attribute", 34, create_dissector_handle(dissect_UniversalExtensionPhysicalDeliveryAddressComponents_PDU, proto_p1));
11323
14
  dissector_add_uint("p1.extension-attribute", 35, create_dissector_handle(dissect_UniversalUnformattedPostalAddress_PDU, proto_p1));
11324
14
  dissector_add_uint("p1.extension-attribute", 36, create_dissector_handle(dissect_UniversalStreetAddress_PDU, proto_p1));
11325
14
  dissector_add_uint("p1.extension-attribute", 37, create_dissector_handle(dissect_UniversalPostOfficeBoxAddress_PDU, proto_p1));
11326
14
  dissector_add_uint("p1.extension-attribute", 38, create_dissector_handle(dissect_UniversalPosteRestanteAddress_PDU, proto_p1));
11327
14
  dissector_add_uint("p1.extension-attribute", 39, create_dissector_handle(dissect_UniversalUniquePostalName_PDU, proto_p1));
11328
14
  dissector_add_uint("p1.extension-attribute", 40, create_dissector_handle(dissect_UniversalLocalPostalAttributes_PDU, proto_p1));
11329
14
  register_ber_oid_dissector("2.6.3.6.0", dissect_AsymmetricToken_PDU, proto_p1, "id-tok-asymmetricToken");
11330
14
  register_ber_oid_dissector("2.6.5.6.0", dissect_MTANameAndOptionalGDI_PDU, proto_p1, "id-on-mtaName");
11331
14
  dissector_add_uint("p1.tokendata", 1, create_dissector_handle(dissect_BindTokenSignedData_PDU, proto_p1));
11332
14
  dissector_add_uint("p1.tokendata", 2, create_dissector_handle(dissect_MessageTokenSignedData_PDU, proto_p1));
11333
14
  dissector_add_uint("p1.tokendata", 3, create_dissector_handle(dissect_MessageTokenEncryptedData_PDU, proto_p1));
11334
14
  dissector_add_uint("p1.tokendata", 4, create_dissector_handle(dissect_BindTokenEncryptedData_PDU, proto_p1));
11335
14
  register_ber_oid_dissector("2.6.5.2.0", dissect_ContentLength_PDU, proto_p1, "id-at-mhs-maximum-content-length");
11336
14
  register_ber_oid_dissector("2.6.5.2.1", dissect_ExtendedContentType_PDU, proto_p1, "id-at-mhs-deliverable-content-types");
11337
14
  register_ber_oid_dissector("2.6.5.2.2", dissect_ExtendedEncodedInformationType_PDU, proto_p1, "id-at-mhs-exclusively-acceptable-eits");
11338
14
  register_ber_oid_dissector("2.6.5.2.3", dissect_ORName_PDU, proto_p1, "id-at-mhs-dl-members");
11339
14
  register_ber_oid_dissector("2.6.5.2.6", dissect_ORAddress_PDU, proto_p1, "id-at-mhs-or-addresses");
11340
14
  register_ber_oid_dissector("2.6.5.2.9", dissect_ExtendedContentType_PDU, proto_p1, "id-at-mhs-supported-content-types");
11341
14
  register_ber_oid_dissector("2.6.5.2.12", dissect_ORName_PDU, proto_p1, "id-at-mhs-dl-archive-service");
11342
14
  register_ber_oid_dissector("2.6.5.2.15", dissect_ORName_PDU, proto_p1, "id-at-mhs-dl-subscription-service");
11343
14
  register_ber_oid_dissector("2.6.5.2.17", dissect_ExtendedEncodedInformationType_PDU, proto_p1, "id-at-mhs-acceptable-eits");
11344
14
  register_ber_oid_dissector("2.6.5.2.18", dissect_ExtendedEncodedInformationType_PDU, proto_p1, "id-at-mhs-unacceptable-eits");
11345
14
  register_ber_oid_dissector("2.16.840.1.101.2.1.5.47", dissect_ORName_PDU, proto_p1, "id-at-aLExemptedAddressProcessor");
11346
14
  register_ber_oid_dissector("2.16.840.1.101.2.2.1.134.1", dissect_ORAddress_PDU, proto_p1, "id-at-collective-mhs-or-addresses");
11347
14
  register_ber_oid_dissector("2.6.4.3.80", dissect_CertificateSelectors_PDU, proto_p1, "id-att-certificate-selectors");
11348
14
  register_ber_oid_dissector("2.6.4.3.1", dissect_Content_PDU, proto_p1, "id-att-content");
11349
14
  register_ber_oid_dissector("2.6.4.3.3", dissect_ContentCorrelator_PDU, proto_p1, "id-att-content-correlator");
11350
14
  register_ber_oid_dissector("2.6.4.3.4", dissect_ContentIdentifier_PDU, proto_p1, "id-att-content-identifier");
11351
14
  register_ber_oid_dissector("2.6.4.3.5", dissect_ContentIntegrityCheck_PDU, proto_p1, "id-att-content-inetgrity-check");
11352
14
  register_ber_oid_dissector("2.6.4.3.6", dissect_ContentLength_PDU, proto_p1, "id-att-content-length");
11353
14
  register_ber_oid_dissector("2.6.4.3.8", dissect_ExtendedContentType_PDU, proto_p1, "id-att-content-type");
11354
14
  register_ber_oid_dissector("2.6.4.3.9", dissect_ConversionWithLossProhibited_PDU, proto_p1, "id-att-conversion-with-loss-prohibited");
11355
14
  register_ber_oid_dissector("2.6.4.3.51", dissect_DeferredDeliveryTime_PDU, proto_p1, "id-att-deferred-delivery-time");
11356
14
  register_ber_oid_dissector("2.6.4.3.13", dissect_DeliveryFlags_PDU, proto_p1, "id-att-delivery-flags");
11357
14
  register_ber_oid_dissector("2.6.4.3.78", dissect_ORName_PDU, proto_p1, "id-att-dl-exempted-recipients");
11358
14
  register_ber_oid_dissector("2.6.4.3.14", dissect_DLExpansion_PDU, proto_p1, "id-att-dl-expansion-history");
11359
14
  register_ber_oid_dissector("2.6.4.3.53", dissect_DLExpansionProhibited_PDU, proto_p1, "id-att-dl-expansion-prohibited");
11360
14
  register_ber_oid_dissector("2.6.4.3.54", dissect_InternalTraceInformationElement_PDU, proto_p1, "id-att-internal-trace-information");
11361
14
  register_ber_oid_dissector("2.6.4.3.55", dissect_LatestDeliveryTime_PDU, proto_p1, "id-att-latest-delivery-time");
11362
14
  register_ber_oid_dissector("2.6.4.3.18", dissect_MessageDeliveryEnvelope_PDU, proto_p1, "id-att-message-delivery-envelope");
11363
14
  register_ber_oid_dissector("2.6.4.3.20", dissect_MessageDeliveryTime_PDU, proto_p1, "id-att-message-delivery-time");
11364
14
  register_ber_oid_dissector("2.6.4.3.19", dissect_MTSIdentifier_PDU, proto_p1, "id-att-message-identifier");
11365
14
  register_ber_oid_dissector("2.6.4.3.21", dissect_MessageOriginAuthenticationCheck_PDU, proto_p1, "id-at-message-orgin-authentication-check");
11366
14
  register_ber_oid_dissector("2.6.4.3.22", dissect_p1_MessageSecurityLabel_PDU, proto_p1, "id-att-message-security-label");
11367
14
  register_ber_oid_dissector("2.6.4.3.59", dissect_MessageSubmissionEnvelope_PDU, proto_p1, "id-att-message-submission-envelope");
11368
14
  register_ber_oid_dissector("2.6.4.3.23", dissect_MessageSubmissionTime_PDU, proto_p1, "id-att-message-submission-time");
11369
14
  register_ber_oid_dissector("2.6.4.3.24", dissect_MessageToken_PDU, proto_p1, "id-att-message-token");
11370
14
  register_ber_oid_dissector("2.6.4.3.81", dissect_ExtendedCertificates_PDU, proto_p1, "id-att-multiple-originator-certificates");
11371
14
  register_ber_oid_dissector("2.6.4.3.17", dissect_ORName_PDU, proto_p1, "id-att-originally-intended-recipient-name");
11372
14
  register_ber_oid_dissector("2.6.4.3.62", dissect_OriginatingMTACertificate_PDU, proto_p1, "id-att-originating-MTA-certificate");
11373
14
  register_ber_oid_dissector("2.6.4.3.26", dissect_OriginatorCertificate_PDU, proto_p1, "id-att-originator-certificate");
11374
14
  register_ber_oid_dissector("2.6.4.3.27", dissect_ORName_PDU, proto_p1, "id-att-originator-name");
11375
14
  register_ber_oid_dissector("2.6.4.3.63", dissect_OriginatorReportRequest_PDU, proto_p1, "id-att-originator-report-request");
11376
14
  register_ber_oid_dissector("2.6.4.3.64", dissect_OriginatorReturnAddress_PDU, proto_p1, "id-att-originator-return-address");
11377
14
  register_ber_oid_dissector("2.6.4.3.28", dissect_ORName_PDU, proto_p1, "id-att-other-recipient-names");
11378
14
  register_ber_oid_dissector("2.6.4.3.65", dissect_PerMessageIndicators_PDU, proto_p1, "id-att-per-message-indicators");
11379
14
  register_ber_oid_dissector("2.6.4.3.66", dissect_PerRecipientMessageSubmissionFields_PDU, proto_p1, "id-att-per-recipient-message-submission-fields");
11380
14
  register_ber_oid_dissector("2.6.4.3.67", dissect_PerRecipientProbeSubmissionFields_PDU, proto_p1, "id-att-per-recipient-probe-submission-fields");
11381
14
  register_ber_oid_dissector("2.6.4.3.30", dissect_PerRecipientReportDeliveryFields_PDU, proto_p1, "id-att-per-recipient-report-delivery-fields");
11382
14
  register_ber_oid_dissector("2.6.4.3.31", dissect_Priority_PDU, proto_p1, "id-att-priority");
11383
14
  register_ber_oid_dissector("2.6.4.3.68", dissect_ProbeOriginAuthenticationCheck_PDU, proto_p1, "id-att-probe-origin-authentication-check");
11384
14
  register_ber_oid_dissector("2.6.4.3.69", dissect_ProbeSubmissionEnvelope_PDU, proto_p1, "id-att-probe-submission-envelope");
11385
14
  register_ber_oid_dissector("2.6.4.3.32", dissect_ProofOfDeliveryRequest_PDU, proto_p1, "id-att-proof-of-delivery-request");
11386
14
  register_ber_oid_dissector("2.6.4.3.70", dissect_ProofOfSubmission_PDU, proto_p1, "id-att-proof-of-submission");
11387
14
  register_ber_oid_dissector("2.6.4.3.82", dissect_ExtendedCertificates_PDU, proto_p1, "id-att-recipient-certificate");
11388
14
  register_ber_oid_dissector("2.6.4.3.71", dissect_ORName_PDU, proto_p1, "id-att-recipient-names");
11389
14
  register_ber_oid_dissector("2.6.4.3.72", dissect_RecipientReassignmentProhibited_PDU, proto_p1, "id-att-recipient-reassignment-prohibited");
11390
14
  register_ber_oid_dissector("2.6.4.3.33", dissect_Redirection_PDU, proto_p1, "id-at-redirection-history");
11391
14
  register_ber_oid_dissector("2.6.4.3.34", dissect_ReportDeliveryEnvelope_PDU, proto_p1, "id-att-report-delivery-envelope");
11392
14
  register_ber_oid_dissector("2.6.4.3.35", dissect_ReportingDLName_PDU, proto_p1, "id-att-reporting-DL-name");
11393
14
  register_ber_oid_dissector("2.6.4.3.36", dissect_ReportingMTACertificate_PDU, proto_p1, "id-att-reporting-MTA-certificate");
11394
14
  register_ber_oid_dissector("2.6.4.3.37", dissect_ReportOriginAuthenticationCheck_PDU, proto_p1, "id-att-report-origin-authentication-check");
11395
14
  register_ber_oid_dissector("2.6.4.3.38", dissect_SecurityClassification_PDU, proto_p1, "id-att-security-classification");
11396
14
  register_ber_oid_dissector("2.6.4.3.40", dissect_SubjectSubmissionIdentifier_PDU, proto_p1, "id-att-subject-submission-identifier");
11397
14
  register_ber_oid_dissector("2.6.4.3.41", dissect_ORName_PDU, proto_p1, "id-att-this-recipient-name");
11398
14
  register_ber_oid_dissector("2.6.4.3.75", dissect_TraceInformationElement_PDU, proto_p1, "id-att-trace-information");
11399
14
  register_ber_oid_dissector("2.6.1.7.36", dissect_MessageToken_PDU, proto_p1, "id-hat-forwarded-token");
11400
11401
11402
  /* APPLICATION CONTEXT */
11403
11404
14
  oid_add_from_string("id-ac-mts-transfer","2.6.0.1.6");
11405
11406
  /* ABSTRACT SYNTAXES */
11407
14
  register_rtse_oid_dissector_handle("2.6.0.2.12", p1_handle, 0, "id-as-mta-rtse", true);
11408
14
  register_rtse_oid_dissector_handle("2.6.0.2.7", p1_handle, 0, "id-as-mtse", false);
11409
11410
11411
14
  register_rtse_oid_dissector_handle("applicationProtocol.1", p1_handle, 0, "mts-transfer-protocol-1984", false);
11412
14
  register_rtse_oid_dissector_handle("applicationProtocol.12", p1_handle, 0, "mta-transfer-protocol", false);
11413
11414
  /* the ROS dissector will use the registered P3 ros info */
11415
14
  register_rtse_oid_dissector_handle(id_as_mts_rtse, NULL, 0, "id-as-mts-rtse", true);
11416
14
  register_rtse_oid_dissector_handle(id_as_msse, NULL, 0, "id-as-msse", true);
11417
11418
  /* APPLICATION CONTEXT */
11419
11420
14
  oid_add_from_string("id-ac-mts-access-88", id_ac_mts_access_88);
11421
14
  oid_add_from_string("id-ac-mts-forced-access-88", id_ac_mts_forced_access_88);
11422
14
  oid_add_from_string("id-ac-mts-access-94", id_ac_mts_access_94);
11423
14
  oid_add_from_string("id-ac-mts-forced-access-94", id_ac_mts_forced_access_94);
11424
11425
11426
  /* Register P3 with ROS */
11427
11428
14
  register_ros_protocol_info(id_as_msse, &p3_ros_info, 0, "id-as-msse", false);
11429
11430
14
  register_ros_protocol_info(id_as_mdse_88, &p3_ros_info, 0, "id-as-mdse-88", false);
11431
14
  register_ros_protocol_info(id_as_mdse_94, &p3_ros_info, 0, "id-as-mdse-94", false);
11432
11433
14
  register_ros_protocol_info(id_as_mase_88, &p3_ros_info, 0, "id-as-mase-88", false);
11434
14
  register_ros_protocol_info(id_as_mase_94, &p3_ros_info, 0, "id-as-mase-94", false);
11435
11436
14
  register_ros_protocol_info(id_as_mts, &p3_ros_info, 0, "id-as-mts", false);
11437
14
  register_ros_protocol_info(id_as_mts_rtse, &p3_ros_info, 0, "id-as-mts-rtse", true);
11438
11439
14
}
11440
11441
/*
11442
 * Editor modelines  -  https://www.wireshark.org/tools/modelines.html
11443
 *
11444
 * Local variables:
11445
 * c-basic-offset: 4
11446
 * tab-width: 8
11447
 * indent-tabs-mode: nil
11448
 * End:
11449
 *
11450
 * vi: set shiftwidth=4 tabstop=8 expandtab:
11451
 * :indentSize=4:tabSize=8:noTabs=true:
11452
 */