Coverage Report

Created: 2026-09-28 06:52

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/wireshark/epan/dissectors/packet-h450.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-h450.c                                                              */
4
/* asn2wrs.py -q -L -c ./h450.cnf -s ./packet-h450-template -D . -O ../.. H4501-Supplementary-ServiceAPDU-Structure.asn Addressing-Data-Elements.asn H225-generic-parameters-definition.asn Manufacturer-specific-service-extension-definition.asn H4501-General-Error-List.asn Call-Transfer-Operations.asn Call-Diversion-Operations.asn Call-Hold-Operations.asn Call-Park-Pickup-Operations.asn Call-Waiting-Operations.asn Message-Waiting-Indication-Operations.asn Name-Operations.asn Call-Completion-Operations.asn Call-Offer-Operations.asn Call-Intrusion-Operations.asn Common-Information-Operations.asn */
5
6
/* packet-h450.c
7
 * Routines for h450 packet dissection
8
 * Based on the previous h450 dissector by:
9
 * 2003  Graeme Reid (graeme.reid@norwoodsystems.com)
10
 * Copyright 2005, Anders Broman <anders.broman@ericsson.com>
11
 *
12
 * Wireshark - Network traffic analyzer
13
 * By Gerald Combs <gerald@wireshark.org>
14
 * Copyright 1998 Gerald Combs
15
 *
16
 * SPDX-License-Identifier: GPL-2.0-or-later
17
 *
18
 * Credit to Tomas Kukosa for developing the asn2wrs compiler.
19
 *
20
 */
21
22
#include "config.h"
23
24
#include <epan/packet.h>
25
#include <epan/expert.h>
26
27
#include <epan/asn1.h>
28
#include <wsutil/array.h>
29
30
#include "packet-per.h"
31
#include "packet-h225.h"
32
33
#include "packet-h450-ros.h"
34
35
void proto_register_h450(void);
36
void proto_reg_handoff_h450(void);
37
38
static dissector_handle_t h450_arg_handle;
39
static dissector_handle_t h450_res_handle;
40
static dissector_handle_t h450_err_handle;
41
42
/* Initialize the protocol and registered fields */
43
static int proto_h450;
44
static int hf_h450_operation;
45
static int hf_h450_error;
46
47
/* --- Modules H4501-Supplementary-ServiceAPDU-Structure Addressing-Data-Elements H225-generic-parameters-definition Manufacturer-specific-service-extension-definition H4501-General-Error-List --- --- --- */
48
49
static int hf_h450_h450_H4501SupplementaryService_PDU;  /* H4501SupplementaryService */
50
static int hf_h450_networkFacilityExtension;      /* NetworkFacilityExtension */
51
static int hf_h450_interpretationApdu;            /* InterpretationApdu */
52
static int hf_h450_serviceApdu;                   /* ServiceApdus */
53
static int hf_h450_sourceEntity;                  /* EntityType */
54
static int hf_h450_sourceEntityAddress;           /* AddressInformation */
55
static int hf_h450_destinationEntity;             /* EntityType */
56
static int hf_h450_destinationEntityAddress;      /* AddressInformation */
57
static int hf_h450_endpoint;                      /* NULL */
58
static int hf_h450_anyEntity;                     /* NULL */
59
static int hf_h450_discardAnyUnrecognizedInvokePdu;  /* NULL */
60
static int hf_h450_clearCallIfAnyInvokePduNotRecognized;  /* NULL */
61
static int hf_h450_rejectAnyUnrecognizedInvokePdu;  /* NULL */
62
static int hf_h450_rosApdus;                      /* T_rosApdus */
63
static int hf_h450_rosApdus_item;                 /* T_rosApdus_item */
64
static int hf_h450_destinationAddress;            /* SEQUENCE_OF_AliasAddress */
65
static int hf_h450_destinationAddress_item;       /* AliasAddress */
66
static int hf_h450_remoteExtensionAddress;        /* AliasAddress */
67
static int hf_h450_destinationAddressPresentationIndicator;  /* PresentationIndicator */
68
static int hf_h450_destinationAddressScreeningIndicator;  /* ScreeningIndicator */
69
static int hf_h450_remoteExtensionAddressPresentationIndicator;  /* PresentationIndicator */
70
static int hf_h450_remoteExtensionAddressScreeningIndicator;  /* ScreeningIndicator */
71
static int hf_h450_userSpecifiedSubaddress;       /* UserSpecifiedSubaddress */
72
static int hf_h450_nsapSubaddress;                /* NSAPSubaddress */
73
static int hf_h450_subaddressInformation;         /* SubaddressInformation */
74
static int hf_h450_oddCountIndicator;             /* BOOLEAN */
75
static int hf_h450_extensionId;                   /* OBJECT_IDENTIFIER */
76
static int hf_h450_extensionArgument;             /* T_extensionArgument */
77
78
/* --- Module Call-Transfer-Operations --- --- ---                            */
79
80
static int hf_h450_2_h450_2_DummyArg_PDU;         /* DummyArg */
81
static int hf_h450_2_h450_2_CTIdentifyRes_PDU;    /* CTIdentifyRes */
82
static int hf_h450_2_h450_2_CTInitiateArg_PDU;    /* CTInitiateArg */
83
static int hf_h450_2_h450_2_DummyRes_PDU;         /* DummyRes */
84
static int hf_h450_2_h450_2_CTSetupArg_PDU;       /* CTSetupArg */
85
static int hf_h450_2_h450_2_CTUpdateArg_PDU;      /* CTUpdateArg */
86
static int hf_h450_2_h450_2_SubaddressTransferArg_PDU;  /* SubaddressTransferArg */
87
static int hf_h450_2_h450_2_CTCompleteArg_PDU;    /* CTCompleteArg */
88
static int hf_h450_2_h450_2_CTActiveArg_PDU;      /* CTActiveArg */
89
static int hf_h450_2_h450_2_PAR_unspecified_PDU;  /* PAR_unspecified */
90
static int hf_h450_2_extensionSeq;                /* ExtensionSeq */
91
static int hf_h450_2_nonStandardData;             /* NonStandardParameter */
92
static int hf_h450_2_callIdentity;                /* CallIdentity */
93
static int hf_h450_2_reroutingNumber;             /* EndpointAddress */
94
static int hf_h450_2_cTInitiateArg_argumentExtension;  /* T_cTInitiateArg_argumentExtension */
95
static int hf_h450_2_transferringNumber;          /* EndpointAddress */
96
static int hf_h450_2_cTSetupArg_argumentExtension;  /* T_cTSetupArg_argumentExtension */
97
static int hf_h450_2_resultExtension;             /* T_resultExtension */
98
static int hf_h450_2_redirectionNumber;           /* EndpointAddress */
99
static int hf_h450_2_redirectionInfo;             /* BMPString_SIZE_1_128 */
100
static int hf_h450_2_basicCallInfoElements;       /* H225InformationElement */
101
static int hf_h450_2_cTUpdateArg_argumentExtension;  /* T_cTUpdateArg_argumentExtension */
102
static int hf_h450_2_redirectionSubaddress;       /* PartySubaddress */
103
static int hf_h450_2_subaddressTransferArg_argumentExtension;  /* T_subaddressTransferArg_argumentExtension */
104
static int hf_h450_2_endDesignation;              /* EndDesignation */
105
static int hf_h450_2_callStatus;                  /* CallStatus */
106
static int hf_h450_2_cTCompleteArg_argumentExtension;  /* T_cTCompleteArg_argumentExtension */
107
static int hf_h450_2_connectedAddress;            /* EndpointAddress */
108
static int hf_h450_2_connectedInfo;               /* BMPString_SIZE_1_128 */
109
static int hf_h450_2_cTActiveArg_argumentExtension;  /* T_cTActiveArg_argumentExtension */
110
static int hf_h450_2_ExtensionSeq_item;           /* Extension */
111
static int hf_h450_2_unspecified_extension;       /* Extension */
112
static int hf_h450_2_nonStandard;                 /* NonStandardParameter */
113
114
/* --- Module Call-Diversion-Operations --- --- ---                           */
115
116
static int hf_h450_3_h450_3_ARG_activateDiversionQ_PDU;  /* ARG_activateDiversionQ */
117
static int hf_h450_3_h450_3_RES_activateDiversionQ_PDU;  /* RES_activateDiversionQ */
118
static int hf_h450_3_h450_3_ARG_deactivateDiversionQ_PDU;  /* ARG_deactivateDiversionQ */
119
static int hf_h450_3_h450_3_RES_deactivateDiversionQ_PDU;  /* RES_deactivateDiversionQ */
120
static int hf_h450_3_h450_3_ARG_interrogateDiversionQ_PDU;  /* ARG_interrogateDiversionQ */
121
static int hf_h450_3_h450_3_IntResultList_PDU;    /* IntResultList */
122
static int hf_h450_3_h450_3_ARG_checkRestriction_PDU;  /* ARG_checkRestriction */
123
static int hf_h450_3_h450_3_RES_checkRestriction_PDU;  /* RES_checkRestriction */
124
static int hf_h450_3_h450_3_ARG_callRerouting_PDU;  /* ARG_callRerouting */
125
static int hf_h450_3_h450_3_RES_callRerouting_PDU;  /* RES_callRerouting */
126
static int hf_h450_3_h450_3_ARG_divertingLegInformation1_PDU;  /* ARG_divertingLegInformation1 */
127
static int hf_h450_3_h450_3_ARG_divertingLegInformation2_PDU;  /* ARG_divertingLegInformation2 */
128
static int hf_h450_3_h450_3_ARG_divertingLegInformation3_PDU;  /* ARG_divertingLegInformation3 */
129
static int hf_h450_3_h450_3_ARG_divertingLegInformation4_PDU;  /* ARG_divertingLegInformation4 */
130
static int hf_h450_3_h450_3_ARG_cfnrDivertedLegFailed_PDU;  /* ARG_cfnrDivertedLegFailed */
131
static int hf_h450_3_h450_3_PAR_unspecified_PDU;  /* PAR_unspecified */
132
static int hf_h450_3_procedure;                   /* Procedure */
133
static int hf_h450_3_basicService;                /* BasicService */
134
static int hf_h450_3_divertedToAddress;           /* EndpointAddress */
135
static int hf_h450_3_servedUserNr;                /* EndpointAddress */
136
static int hf_h450_3_activatingUserNr;            /* EndpointAddress */
137
static int hf_h450_3_activateDiversionQArg_extension;  /* ActivateDiversionQArg_extension */
138
static int hf_h450_3_extensionSeq;                /* ExtensionSeq */
139
static int hf_h450_3_nonStandardData;             /* NonStandardParameter */
140
static int hf_h450_3_deactivatingUserNr;          /* EndpointAddress */
141
static int hf_h450_3_deactivateDiversionQArg_extension;  /* DeactivateDiversionQArg_extension */
142
static int hf_h450_3_interrogatingUserNr;         /* EndpointAddress */
143
static int hf_h450_3_interrogateDiversionQ_extension;  /* InterrogateDiversionQ_extension */
144
static int hf_h450_3_divertedToNr;                /* EndpointAddress */
145
static int hf_h450_3_checkRestrictionArg_extension;  /* CheckRestrictionArg_extension */
146
static int hf_h450_3_reroutingReason;             /* DiversionReason */
147
static int hf_h450_3_originalReroutingReason;     /* DiversionReason */
148
static int hf_h450_3_calledAddress;               /* EndpointAddress */
149
static int hf_h450_3_diversionCounter;            /* INTEGER_1_15 */
150
static int hf_h450_3_h225InfoElement;             /* H225InformationElement */
151
static int hf_h450_3_lastReroutingNr;             /* EndpointAddress */
152
static int hf_h450_3_subscriptionOption;          /* SubscriptionOption */
153
static int hf_h450_3_callingPartySubaddress;      /* PartySubaddress */
154
static int hf_h450_3_callingNumber;               /* EndpointAddress */
155
static int hf_h450_3_callingInfo;                 /* BMPString_SIZE_1_128 */
156
static int hf_h450_3_originalCalledNr;            /* EndpointAddress */
157
static int hf_h450_3_redirectingInfo;             /* BMPString_SIZE_1_128 */
158
static int hf_h450_3_originalCalledInfo;          /* BMPString_SIZE_1_128 */
159
static int hf_h450_3_callReroutingArg_extension;  /* CallReroutingArg_extension */
160
static int hf_h450_3_diversionReason;             /* DiversionReason */
161
static int hf_h450_3_nominatedNr;                 /* EndpointAddress */
162
static int hf_h450_3_nominatedInfo;               /* BMPString_SIZE_1_128 */
163
static int hf_h450_3_redirectingNr;               /* EndpointAddress */
164
static int hf_h450_3_divertingLegInformation1Arg_extension;  /* DivertingLegInformation1Arg_extension */
165
static int hf_h450_3_originalDiversionReason;     /* DiversionReason */
166
static int hf_h450_3_divertingNr;                 /* EndpointAddress */
167
static int hf_h450_3_divertingLegInformation2Arg_extension;  /* DivertingLegInformation2Arg_extension */
168
static int hf_h450_3_presentationAllowedIndicator;  /* PresentationAllowedIndicator */
169
static int hf_h450_3_redirectionNr;               /* EndpointAddress */
170
static int hf_h450_3_redirectionInfo;             /* BMPString_SIZE_1_128 */
171
static int hf_h450_3_divertingLegInformation3Arg_extension;  /* DivertingLegInformation3Arg_extension */
172
static int hf_h450_3_callingNr;                   /* EndpointAddress */
173
static int hf_h450_3_divertingLegInformation4Arg_extension;  /* DivertingLegInformation4Arg_extension */
174
static int hf_h450_3_IntResultList_item;          /* IntResult */
175
static int hf_h450_3_remoteEnabled;               /* BOOLEAN */
176
static int hf_h450_3_intResult_extension;         /* IntResult_extension */
177
static int hf_h450_3_unspecified_extension;       /* Extension */
178
static int hf_h450_3_nonStandard;                 /* NonStandardParameter */
179
static int hf_h450_3_ExtensionSeq_item;           /* Extension */
180
181
/* --- Module Call-Hold-Operations --- --- ---                                */
182
183
static int hf_h450_4_h450_4_HoldNotificArg_PDU;   /* HoldNotificArg */
184
static int hf_h450_4_h450_4_RetrieveNotificArg_PDU;  /* RetrieveNotificArg */
185
static int hf_h450_4_h450_4_RemoteHoldArg_PDU;    /* RemoteHoldArg */
186
static int hf_h450_4_h450_4_RemoteHoldRes_PDU;    /* RemoteHoldRes */
187
static int hf_h450_4_h450_4_RemoteRetrieveArg_PDU;  /* RemoteRetrieveArg */
188
static int hf_h450_4_h450_4_RemoteRetrieveRes_PDU;  /* RemoteRetrieveRes */
189
static int hf_h450_4_h450_4_PAR_undefined_PDU;    /* PAR_undefined */
190
static int hf_h450_4_holdNotificArg_extensionArg;  /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
191
static int hf_h450_4_holdNotificArg_extensionArg_item;  /* MixedExtension */
192
static int hf_h450_4_retrieveNotificArg_extensionArg;  /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
193
static int hf_h450_4_retrieveNotificArg_extensionArg_item;  /* MixedExtension */
194
static int hf_h450_4_remoteHoldArg_extensionArg;  /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
195
static int hf_h450_4_remoteHoldArg_extensionArg_item;  /* MixedExtension */
196
static int hf_h450_4_extensionRes;                /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
197
static int hf_h450_4_extensionRes_item;           /* MixedExtension */
198
static int hf_h450_4_remoteRetrieveArg_extensionArg;  /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
199
static int hf_h450_4_remoteRetrieveArg_extensionArg_item;  /* MixedExtension */
200
static int hf_h450_4_mixedExtension_extension;    /* Extension */
201
static int hf_h450_4_nonStandardData;             /* NonStandardParameter */
202
static int hf_h450_4_PAR_undefined_item;          /* MixedExtension */
203
204
/* --- Module Call-Park-Pickup-Operations --- --- ---                         */
205
206
static int hf_h450_5_h450_5_CpRequestArg_PDU;     /* CpRequestArg */
207
static int hf_h450_5_h450_5_CpRequestRes_PDU;     /* CpRequestRes */
208
static int hf_h450_5_h450_5_CpSetupArg_PDU;       /* CpSetupArg */
209
static int hf_h450_5_h450_5_CpSetupRes_PDU;       /* CpSetupRes */
210
static int hf_h450_5_h450_5_GroupIndicationOnArg_PDU;  /* GroupIndicationOnArg */
211
static int hf_h450_5_h450_5_GroupIndicationOnRes_PDU;  /* GroupIndicationOnRes */
212
static int hf_h450_5_h450_5_GroupIndicationOffArg_PDU;  /* GroupIndicationOffArg */
213
static int hf_h450_5_h450_5_GroupIndicationOffRes_PDU;  /* GroupIndicationOffRes */
214
static int hf_h450_5_h450_5_PickrequArg_PDU;      /* PickrequArg */
215
static int hf_h450_5_h450_5_PickrequRes_PDU;      /* PickrequRes */
216
static int hf_h450_5_h450_5_PickupArg_PDU;        /* PickupArg */
217
static int hf_h450_5_h450_5_PickupRes_PDU;        /* PickupRes */
218
static int hf_h450_5_h450_5_PickExeArg_PDU;       /* PickExeArg */
219
static int hf_h450_5_h450_5_PickExeRes_PDU;       /* PickExeRes */
220
static int hf_h450_5_h450_5_CpNotifyArg_PDU;      /* CpNotifyArg */
221
static int hf_h450_5_h450_5_CpickupNotifyArg_PDU;  /* CpickupNotifyArg */
222
static int hf_h450_5_h450_5_PAR_undefined_PDU;    /* PAR_undefined */
223
static int hf_h450_5_parkingNumber;               /* EndpointAddress */
224
static int hf_h450_5_parkedNumber;                /* EndpointAddress */
225
static int hf_h450_5_parkedToNumber;              /* EndpointAddress */
226
static int hf_h450_5_parkedToPosition;            /* ParkedToPosition */
227
static int hf_h450_5_cpRequestArg_extensionArg;   /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
228
static int hf_h450_5_cpRequestArg_extensionArg_item;  /* MixedExtension */
229
static int hf_h450_5_parkCondition;               /* ParkCondition */
230
static int hf_h450_5_extensionRes;                /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
231
static int hf_h450_5_extensionRes_item;           /* MixedExtension */
232
static int hf_h450_5_cpSetupArg_extensionArg;     /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
233
static int hf_h450_5_cpSetupArg_extensionArg_item;  /* MixedExtension */
234
static int hf_h450_5_callPickupId;                /* CallIdentifier */
235
static int hf_h450_5_groupMemberUserNr;           /* EndpointAddress */
236
static int hf_h450_5_retrieveCallType;            /* CallType */
237
static int hf_h450_5_partyToRetrieve;             /* EndpointAddress */
238
static int hf_h450_5_retrieveAddress;             /* EndpointAddress */
239
static int hf_h450_5_parkPosition;                /* ParkedToPosition */
240
static int hf_h450_5_groupIndicationOnArg_extensionArg;  /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
241
static int hf_h450_5_groupIndicationOnArg_extensionArg_item;  /* MixedExtension */
242
static int hf_h450_5_groupIndicationOffArg_extensionArg;  /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
243
static int hf_h450_5_groupIndicationOffArg_extensionArg_item;  /* MixedExtension */
244
static int hf_h450_5_picking_upNumber;            /* EndpointAddress */
245
static int hf_h450_5_pickrequArg_extensionArg;    /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
246
static int hf_h450_5_pickrequArg_extensionArg_item;  /* MixedExtension */
247
static int hf_h450_5_pickupArg_extensionArg;      /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
248
static int hf_h450_5_pickupArg_extensionArg_item;  /* MixedExtension */
249
static int hf_h450_5_pickExeArg_extensionArg;     /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
250
static int hf_h450_5_pickExeArg_extensionArg_item;  /* MixedExtension */
251
static int hf_h450_5_cpNotifyArg_extensionArg;    /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
252
static int hf_h450_5_cpNotifyArg_extensionArg_item;  /* MixedExtension */
253
static int hf_h450_5_cpickupNotifyArg_extensionArg;  /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
254
static int hf_h450_5_cpickupNotifyArg_extensionArg_item;  /* MixedExtension */
255
static int hf_h450_5_PAR_undefined_item;          /* MixedExtension */
256
257
/* --- Module Call-Waiting-Operations --- --- ---                             */
258
259
static int hf_h450_6_h450_6_CallWaitingArg_PDU;   /* CallWaitingArg */
260
static int hf_h450_6_nbOfAddWaitingCalls;         /* INTEGER_0_255 */
261
static int hf_h450_6_callWaitingArg_extensionArg;  /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
262
static int hf_h450_6_callWaitingArg_extensionArg_item;  /* MixedExtension */
263
264
/* --- Module Message-Waiting-Indication-Operations --- --- ---               */
265
266
static int hf_h450_7_h450_7_MWIActivateArg_PDU;   /* MWIActivateArg */
267
static int hf_h450_7_h450_7_DummyRes_PDU;         /* DummyRes */
268
static int hf_h450_7_h450_7_MWIDeactivateArg_PDU;  /* MWIDeactivateArg */
269
static int hf_h450_7_h450_7_MWIInterrogateArg_PDU;  /* MWIInterrogateArg */
270
static int hf_h450_7_h450_7_MWIInterrogateRes_PDU;  /* MWIInterrogateRes */
271
static int hf_h450_7_h450_7_PAR_undefined_PDU;    /* PAR_undefined */
272
static int hf_h450_7_servedUserNr;                /* EndpointAddress */
273
static int hf_h450_7_basicService;                /* BasicService */
274
static int hf_h450_7_msgCentreId;                 /* MsgCentreId */
275
static int hf_h450_7_nbOfMessages;                /* NbOfMessages */
276
static int hf_h450_7_originatingNr;               /* EndpointAddress */
277
static int hf_h450_7_timestamp;                   /* TimeStamp */
278
static int hf_h450_7_priority;                    /* INTEGER_0_9 */
279
static int hf_h450_7_mWIActivateArg_extensionArg;  /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
280
static int hf_h450_7_mWIActivateArg_extensionArg_item;  /* MixedExtension */
281
static int hf_h450_7_DummyRes_item;               /* MixedExtension */
282
static int hf_h450_7_callbackReq;                 /* BOOLEAN */
283
static int hf_h450_7_mWIDeactivateArg_extensionArg;  /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
284
static int hf_h450_7_mWIDeactivateArg_extensionArg_item;  /* MixedExtension */
285
static int hf_h450_7_mWIInterrogateArg_extensionArg;  /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
286
static int hf_h450_7_mWIInterrogateArg_extensionArg_item;  /* MixedExtension */
287
static int hf_h450_7_MWIInterrogateRes_item;      /* MWIInterrogateResElt */
288
static int hf_h450_7_mWIInterrogateResElt_extensionArg;  /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
289
static int hf_h450_7_mWIInterrogateResElt_extensionArg_item;  /* MixedExtension */
290
static int hf_h450_7_integer;                     /* INTEGER_0_65535 */
291
static int hf_h450_7_partyNumber;                 /* EndpointAddress */
292
static int hf_h450_7_numericString;               /* NumericString_SIZE_1_10 */
293
static int hf_h450_7_PAR_undefined_item;          /* MixedExtension */
294
295
/* --- Module Name-Operations --- --- ---                                     */
296
297
static int hf_h450_8_h450_8_ARG_callingName_PDU;  /* ARG_callingName */
298
static int hf_h450_8_h450_8_ARG_alertingName_PDU;  /* ARG_alertingName */
299
static int hf_h450_8_h450_8_ARG_connectedName_PDU;  /* ARG_connectedName */
300
static int hf_h450_8_h450_8_ARG_busyName_PDU;     /* ARG_busyName */
301
static int hf_h450_8_name;                        /* Name */
302
static int hf_h450_8_extensionArg;                /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
303
static int hf_h450_8_extensionArg_item;           /* MixedExtension */
304
static int hf_h450_8_namePresentationAllowed;     /* NamePresentationAllowed */
305
static int hf_h450_8_namePresentationRestricted;  /* NamePresentationRestricted */
306
static int hf_h450_8_nameNotAvailable;            /* NULL */
307
static int hf_h450_8_simpleName;                  /* SimpleName */
308
static int hf_h450_8_extendedName;                /* ExtendedName */
309
static int hf_h450_8_restrictedNull;              /* NULL */
310
311
/* --- Module Call-Completion-Operations --- --- ---                          */
312
313
static int hf_h450_9_h450_9_CcRequestArg_PDU;     /* CcRequestArg */
314
static int hf_h450_9_h450_9_CcRequestRes_PDU;     /* CcRequestRes */
315
static int hf_h450_9_h450_9_CcArg_PDU;            /* CcArg */
316
static int hf_h450_9_h450_9_CcShortArg_PDU;       /* CcShortArg */
317
static int hf_h450_9_numberA;                     /* EndpointAddress */
318
static int hf_h450_9_numberB;                     /* EndpointAddress */
319
static int hf_h450_9_ccIdentifier;                /* CallIdentifier */
320
static int hf_h450_9_service;                     /* BasicService */
321
static int hf_h450_9_can_retain_service;          /* BOOLEAN */
322
static int hf_h450_9_retain_sig_connection;       /* BOOLEAN */
323
static int hf_h450_9_ccRequestArg_extension;      /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
324
static int hf_h450_9_ccRequestArg_extension_item;  /* MixedExtension */
325
static int hf_h450_9_retain_service;              /* BOOLEAN */
326
static int hf_h450_9_ccRequestRes_extension;      /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
327
static int hf_h450_9_ccRequestRes_extension_item;  /* MixedExtension */
328
static int hf_h450_9_shortArg;                    /* CcShortArg */
329
static int hf_h450_9_longArg;                     /* CcLongArg */
330
static int hf_h450_9_ccShortArg_extension;        /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
331
static int hf_h450_9_ccShortArg_extension_item;   /* MixedExtension */
332
static int hf_h450_9_ccLongArg_extension;         /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
333
static int hf_h450_9_ccLongArg_extension_item;    /* MixedExtension */
334
335
/* --- Module Call-Offer-Operations --- --- ---                               */
336
337
static int hf_h450_10_h450_10_CoReqOptArg_PDU;    /* CoReqOptArg */
338
static int hf_h450_10_h450_10_RUAlertOptArg_PDU;  /* RUAlertOptArg */
339
static int hf_h450_10_h450_10_CfbOvrOptArg_PDU;   /* CfbOvrOptArg */
340
static int hf_h450_10_coReqOptArg_extension;      /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
341
static int hf_h450_10_coReqOptArg_extension_item;  /* MixedExtension */
342
static int hf_h450_10_rUAlertOptArg_extension;    /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
343
static int hf_h450_10_rUAlertOptArg_extension_item;  /* MixedExtension */
344
static int hf_h450_10_cfbOvrOptArg_extension;     /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
345
static int hf_h450_10_cfbOvrOptArg_extension_item;  /* MixedExtension */
346
347
/* --- Module Call-Intrusion-Operations --- --- ---                           */
348
349
static int hf_h450_11_h450_11_CIRequestArg_PDU;   /* CIRequestArg */
350
static int hf_h450_11_h450_11_CIRequestRes_PDU;   /* CIRequestRes */
351
static int hf_h450_11_h450_11_CIGetCIPLOptArg_PDU;  /* CIGetCIPLOptArg */
352
static int hf_h450_11_h450_11_CIGetCIPLRes_PDU;   /* CIGetCIPLRes */
353
static int hf_h450_11_h450_11_CIIsOptArg_PDU;     /* CIIsOptArg */
354
static int hf_h450_11_h450_11_CIIsOptRes_PDU;     /* CIIsOptRes */
355
static int hf_h450_11_h450_11_CIFrcRelArg_PDU;    /* CIFrcRelArg */
356
static int hf_h450_11_h450_11_CIFrcRelOptRes_PDU;  /* CIFrcRelOptRes */
357
static int hf_h450_11_h450_11_CIWobOptArg_PDU;    /* CIWobOptArg */
358
static int hf_h450_11_h450_11_CIWobOptRes_PDU;    /* CIWobOptRes */
359
static int hf_h450_11_h450_11_CISilentArg_PDU;    /* CISilentArg */
360
static int hf_h450_11_h450_11_CISilentOptRes_PDU;  /* CISilentOptRes */
361
static int hf_h450_11_h450_11_CINotificationArg_PDU;  /* CINotificationArg */
362
static int hf_h450_11_ciCapabilityLevel;          /* CICapabilityLevel */
363
static int hf_h450_11_cIRequestArg_argumentExtension;  /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
364
static int hf_h450_11_cIRequestArg_argumentExtension_item;  /* MixedExtension */
365
static int hf_h450_11_ciStatusInformation;        /* CIStatusInformation */
366
static int hf_h450_11_cIRequestRes_resultExtension;  /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
367
static int hf_h450_11_cIRequestRes_resultExtension_item;  /* MixedExtension */
368
static int hf_h450_11_cIGetCIPLOptArg_argumentExtension;  /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
369
static int hf_h450_11_cIGetCIPLOptArg_argumentExtension_item;  /* MixedExtension */
370
static int hf_h450_11_ciProtectionLevel;          /* CIProtectionLevel */
371
static int hf_h450_11_silentMonitoringPermitted;  /* NULL */
372
static int hf_h450_11_cIGetCIPLRes_resultExtension;  /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
373
static int hf_h450_11_cIGetCIPLRes_resultExtension_item;  /* MixedExtension */
374
static int hf_h450_11_cIIsOptArg_argumentExtension;  /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
375
static int hf_h450_11_cIIsOptArg_argumentExtension_item;  /* MixedExtension */
376
static int hf_h450_11_cIIsOptRes_resultExtension;  /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
377
static int hf_h450_11_cIIsOptRes_resultExtension_item;  /* MixedExtension */
378
static int hf_h450_11_cIFrcRelArg_argumentExtension;  /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
379
static int hf_h450_11_cIFrcRelArg_argumentExtension_item;  /* MixedExtension */
380
static int hf_h450_11_cIFrcRelOptRes_resultExtension;  /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
381
static int hf_h450_11_cIFrcRelOptRes_resultExtension_item;  /* MixedExtension */
382
static int hf_h450_11_cIWobOptArg_argumentExtension;  /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
383
static int hf_h450_11_cIWobOptArg_argumentExtension_item;  /* MixedExtension */
384
static int hf_h450_11_cIWobOptRes_resultExtension;  /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
385
static int hf_h450_11_cIWobOptRes_resultExtension_item;  /* MixedExtension */
386
static int hf_h450_11_specificCall;               /* CallIdentifier */
387
static int hf_h450_11_cISilentArg_argumentExtension;  /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
388
static int hf_h450_11_cISilentArg_argumentExtension_item;  /* MixedExtension */
389
static int hf_h450_11_cISilentOptRes_resultExtension;  /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
390
static int hf_h450_11_cISilentOptRes_resultExtension_item;  /* MixedExtension */
391
static int hf_h450_11_cINotificationArg_argumentExtension;  /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
392
static int hf_h450_11_cINotificationArg_argumentExtension_item;  /* MixedExtension */
393
static int hf_h450_11_callIntrusionImpending;     /* NULL */
394
static int hf_h450_11_callIntruded;               /* NULL */
395
static int hf_h450_11_callIsolated;               /* NULL */
396
static int hf_h450_11_callForceReleased;          /* NULL */
397
static int hf_h450_11_callIntrusionComplete;      /* NULL */
398
static int hf_h450_11_callIntrusionEnd;           /* NULL */
399
400
/* --- Module Common-Information-Operations --- --- ---                       */
401
402
static int hf_h450_12_h450_12_DummyArg_PDU;       /* DummyArg */
403
static int hf_h450_12_h450_12_CmnArg_PDU;         /* CmnArg */
404
static int hf_h450_12_featureList;                /* FeatureList */
405
static int hf_h450_12_featureValues;              /* FeatureValues */
406
static int hf_h450_12_featureControl;             /* FeatureControl */
407
static int hf_h450_12_cmnArg_extension;           /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
408
static int hf_h450_12_cmnArg_extension_item;      /* MixedExtension */
409
static int hf_h450_12_extensionArg;               /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
410
static int hf_h450_12_extensionArg_item;          /* MixedExtension */
411
static int hf_h450_12_ssCFreRoutingSupported;     /* NULL */
412
static int hf_h450_12_ssCTreRoutingSupported;     /* NULL */
413
static int hf_h450_12_ssCCBSPossible;             /* NULL */
414
static int hf_h450_12_ssCCNRPossible;             /* NULL */
415
static int hf_h450_12_ssCOSupported;              /* NULL */
416
static int hf_h450_12_ssCIForcedReleaseSupported;  /* NULL */
417
static int hf_h450_12_ssCIIsolationSupported;     /* NULL */
418
static int hf_h450_12_ssCIWaitOnBusySupported;    /* NULL */
419
static int hf_h450_12_ssCISilentMonitoringSupported;  /* NULL */
420
static int hf_h450_12_ssCIConferenceSupported;    /* NULL */
421
static int hf_h450_12_ssCHFarHoldSupported;       /* NULL */
422
static int hf_h450_12_ssMWICallbackSupported;     /* NULL */
423
static int hf_h450_12_ssCPCallParkSupported;      /* NULL */
424
static int hf_h450_12_partyCategory;              /* PartyCategory */
425
static int hf_h450_12_ssCIprotectionLevel;        /* SSCIProtectionLevel */
426
static int hf_h450_12_ssCHDoNotHold;              /* NULL */
427
static int hf_h450_12_ssCTDoNotTransfer;          /* NULL */
428
static int hf_h450_12_ssMWICallbackCall;          /* NULL */
429
static int hf_h450_12_ssCISilentMonitorPermitted;  /* NULL */
430
431
/* Initialize the subtree pointers */
432
433
/* --- Modules H4501-Supplementary-ServiceAPDU-Structure Addressing-Data-Elements H225-generic-parameters-definition Manufacturer-specific-service-extension-definition H4501-General-Error-List --- --- --- */
434
435
static int ett_h450_H4501SupplementaryService;
436
static int ett_h450_NetworkFacilityExtension;
437
static int ett_h450_EntityType;
438
static int ett_h450_InterpretationApdu;
439
static int ett_h450_ServiceApdus;
440
static int ett_h450_T_rosApdus;
441
static int ett_h450_EndpointAddress;
442
static int ett_h450_SEQUENCE_OF_AliasAddress;
443
static int ett_h450_PartySubaddress;
444
static int ett_h450_UserSpecifiedSubaddress;
445
static int ett_h450_Extension;
446
447
/* --- Module Call-Transfer-Operations --- --- ---                            */
448
449
static int ett_h450_2_DummyArg;
450
static int ett_h450_2_DummyRes;
451
static int ett_h450_2_CTInitiateArg;
452
static int ett_h450_2_T_cTInitiateArg_argumentExtension;
453
static int ett_h450_2_CTSetupArg;
454
static int ett_h450_2_T_cTSetupArg_argumentExtension;
455
static int ett_h450_2_CTIdentifyRes;
456
static int ett_h450_2_T_resultExtension;
457
static int ett_h450_2_CTUpdateArg;
458
static int ett_h450_2_T_cTUpdateArg_argumentExtension;
459
static int ett_h450_2_SubaddressTransferArg;
460
static int ett_h450_2_T_subaddressTransferArg_argumentExtension;
461
static int ett_h450_2_CTCompleteArg;
462
static int ett_h450_2_T_cTCompleteArg_argumentExtension;
463
static int ett_h450_2_CTActiveArg;
464
static int ett_h450_2_T_cTActiveArg_argumentExtension;
465
static int ett_h450_2_ExtensionSeq;
466
static int ett_h450_2_PAR_unspecified;
467
468
/* --- Module Call-Diversion-Operations --- --- ---                           */
469
470
static int ett_h450_3_ARG_activateDiversionQ;
471
static int ett_h450_3_ActivateDiversionQArg_extension;
472
static int ett_h450_3_RES_activateDiversionQ;
473
static int ett_h450_3_ARG_deactivateDiversionQ;
474
static int ett_h450_3_DeactivateDiversionQArg_extension;
475
static int ett_h450_3_RES_deactivateDiversionQ;
476
static int ett_h450_3_ARG_interrogateDiversionQ;
477
static int ett_h450_3_InterrogateDiversionQ_extension;
478
static int ett_h450_3_ARG_checkRestriction;
479
static int ett_h450_3_CheckRestrictionArg_extension;
480
static int ett_h450_3_RES_checkRestriction;
481
static int ett_h450_3_ARG_callRerouting;
482
static int ett_h450_3_CallReroutingArg_extension;
483
static int ett_h450_3_RES_callRerouting;
484
static int ett_h450_3_ARG_divertingLegInformation1;
485
static int ett_h450_3_DivertingLegInformation1Arg_extension;
486
static int ett_h450_3_ARG_divertingLegInformation2;
487
static int ett_h450_3_DivertingLegInformation2Arg_extension;
488
static int ett_h450_3_ARG_divertingLegInformation3;
489
static int ett_h450_3_DivertingLegInformation3Arg_extension;
490
static int ett_h450_3_ARG_divertingLegInformation4;
491
static int ett_h450_3_DivertingLegInformation4Arg_extension;
492
static int ett_h450_3_ARG_cfnrDivertedLegFailed;
493
static int ett_h450_3_IntResultList;
494
static int ett_h450_3_IntResult;
495
static int ett_h450_3_IntResult_extension;
496
static int ett_h450_3_PAR_unspecified;
497
static int ett_h450_3_ExtensionSeq;
498
499
/* --- Module Call-Hold-Operations --- --- ---                                */
500
501
static int ett_h450_4_HoldNotificArg;
502
static int ett_h450_4_SEQUENCE_SIZE_0_255_OF_MixedExtension;
503
static int ett_h450_4_RetrieveNotificArg;
504
static int ett_h450_4_RemoteHoldArg;
505
static int ett_h450_4_RemoteHoldRes;
506
static int ett_h450_4_RemoteRetrieveArg;
507
static int ett_h450_4_RemoteRetrieveRes;
508
static int ett_h450_4_MixedExtension;
509
static int ett_h450_4_PAR_undefined;
510
511
/* --- Module Call-Park-Pickup-Operations --- --- ---                         */
512
513
static int ett_h450_5_CpRequestArg;
514
static int ett_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension;
515
static int ett_h450_5_CpRequestRes;
516
static int ett_h450_5_CpSetupArg;
517
static int ett_h450_5_CpSetupRes;
518
static int ett_h450_5_GroupIndicationOnArg;
519
static int ett_h450_5_GroupIndicationOnRes;
520
static int ett_h450_5_GroupIndicationOffArg;
521
static int ett_h450_5_GroupIndicationOffRes;
522
static int ett_h450_5_PickrequArg;
523
static int ett_h450_5_PickrequRes;
524
static int ett_h450_5_PickupArg;
525
static int ett_h450_5_PickupRes;
526
static int ett_h450_5_PickExeArg;
527
static int ett_h450_5_PickExeRes;
528
static int ett_h450_5_CpNotifyArg;
529
static int ett_h450_5_CpickupNotifyArg;
530
static int ett_h450_5_PAR_undefined;
531
532
/* --- Module Call-Waiting-Operations --- --- ---                             */
533
534
static int ett_h450_6_CallWaitingArg;
535
static int ett_h450_6_SEQUENCE_SIZE_0_255_OF_MixedExtension;
536
537
/* --- Module Message-Waiting-Indication-Operations --- --- ---               */
538
539
static int ett_h450_7_MWIActivateArg;
540
static int ett_h450_7_SEQUENCE_SIZE_0_255_OF_MixedExtension;
541
static int ett_h450_7_DummyRes;
542
static int ett_h450_7_MWIDeactivateArg;
543
static int ett_h450_7_MWIInterrogateArg;
544
static int ett_h450_7_MWIInterrogateRes;
545
static int ett_h450_7_MWIInterrogateResElt;
546
static int ett_h450_7_MsgCentreId;
547
static int ett_h450_7_PAR_undefined;
548
549
/* --- Module Name-Operations --- --- ---                                     */
550
551
static int ett_h450_8_ARG_callingName;
552
static int ett_h450_8_SEQUENCE_SIZE_0_255_OF_MixedExtension;
553
static int ett_h450_8_ARG_alertingName;
554
static int ett_h450_8_ARG_connectedName;
555
static int ett_h450_8_ARG_busyName;
556
static int ett_h450_8_Name;
557
static int ett_h450_8_NamePresentationAllowed;
558
static int ett_h450_8_NamePresentationRestricted;
559
560
/* --- Module Call-Completion-Operations --- --- ---                          */
561
562
static int ett_h450_9_CcRequestArg;
563
static int ett_h450_9_SEQUENCE_SIZE_0_255_OF_MixedExtension;
564
static int ett_h450_9_CcRequestRes;
565
static int ett_h450_9_CcArg;
566
static int ett_h450_9_CcShortArg;
567
static int ett_h450_9_CcLongArg;
568
569
/* --- Module Call-Offer-Operations --- --- ---                               */
570
571
static int ett_h450_10_CoReqOptArg;
572
static int ett_h450_10_SEQUENCE_SIZE_0_255_OF_MixedExtension;
573
static int ett_h450_10_RUAlertOptArg;
574
static int ett_h450_10_CfbOvrOptArg;
575
576
/* --- Module Call-Intrusion-Operations --- --- ---                           */
577
578
static int ett_h450_11_CIRequestArg;
579
static int ett_h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension;
580
static int ett_h450_11_CIRequestRes;
581
static int ett_h450_11_CIGetCIPLOptArg;
582
static int ett_h450_11_CIGetCIPLRes;
583
static int ett_h450_11_CIIsOptArg;
584
static int ett_h450_11_CIIsOptRes;
585
static int ett_h450_11_CIFrcRelArg;
586
static int ett_h450_11_CIFrcRelOptRes;
587
static int ett_h450_11_CIWobOptArg;
588
static int ett_h450_11_CIWobOptRes;
589
static int ett_h450_11_CISilentArg;
590
static int ett_h450_11_CISilentOptRes;
591
static int ett_h450_11_CINotificationArg;
592
static int ett_h450_11_CIStatusInformation;
593
594
/* --- Module Common-Information-Operations --- --- ---                       */
595
596
static int ett_h450_12_CmnArg;
597
static int ett_h450_12_SEQUENCE_SIZE_0_255_OF_MixedExtension;
598
static int ett_h450_12_DummyArg;
599
static int ett_h450_12_FeatureList;
600
static int ett_h450_12_FeatureValues;
601
static int ett_h450_12_FeatureControl;
602
603
static expert_field ei_h450_unsupported_arg_type;
604
static expert_field ei_h450_unsupported_result_type;
605
static expert_field ei_h450_unsupported_error_type;
606
607
static const value_string h450_str_operation[] = {
608
609
/* --- Modules H4501-Supplementary-ServiceAPDU-Structure Addressing-Data-Elements H225-generic-parameters-definition Manufacturer-specific-service-extension-definition H4501-General-Error-List --- --- --- */
610
611
/* Unknown or empty loop list OPERATION */
612
613
/* --- Module Call-Transfer-Operations --- --- ---                            */
614
615
  {   7, "callTransferIdentify" },
616
  {   8, "callTransferAbandon" },
617
  {   9, "callTransferInitiate" },
618
  {  10, "callTransferSetup" },
619
  {  13, "callTransferUpdate" },
620
  {  14, "subaddressTransfer" },
621
  {  12, "callTransferComplete" },
622
  {  11, "callTransferActive" },
623
624
/* --- Module Call-Diversion-Operations --- --- ---                           */
625
626
  {  15, "activateDiversionQ" },
627
  {  16, "deactivateDiversionQ" },
628
  {  17, "interrogateDiversionQ" },
629
  {  18, "checkRestriction" },
630
  {  19, "callRerouting" },
631
  {  20, "divertingLegInformation1" },
632
  {  21, "divertingLegInformation2" },
633
  {  22, "divertingLegInformation3" },
634
  { 100, "divertingLegInformation4" },
635
  {  23, "cfnrDivertedLegFailed" },
636
637
/* --- Module Call-Hold-Operations --- --- ---                                */
638
639
  { 101, "holdNotific" },
640
  { 102, "retrieveNotific" },
641
  { 103, "remoteHold" },
642
  { 104, "remoteRetrieve" },
643
644
/* --- Module Call-Park-Pickup-Operations --- --- ---                         */
645
646
  { 106, "cpRequest" },
647
  { 107, "cpSetup" },
648
  { 108, "groupIndicationOn" },
649
  { 109, "groupIndicationOff" },
650
  { 110, "pickrequ" },
651
  { 111, "pickup" },
652
  { 112, "pickExe" },
653
  { 113, "cpNotify" },
654
  { 114, "cpickupNotify" },
655
656
/* --- Module Call-Waiting-Operations --- --- ---                             */
657
658
  { 105, "callWaiting" },
659
660
/* --- Module Message-Waiting-Indication-Operations --- --- ---               */
661
662
  {  80, "mwiActivate" },
663
  {  81, "mwiDeactivate" },
664
  {  82, "mwiInterrogate" },
665
666
/* --- Module Name-Operations --- --- ---                                     */
667
668
  {   0, "callingName" },
669
  {   1, "alertingName" },
670
  {   2, "connectedName" },
671
  {   3, "busyName" },
672
673
/* --- Module Call-Completion-Operations --- --- ---                          */
674
675
  {  40, "ccbsRequest" },
676
  {  27, "ccnrRequest" },
677
  {  28, "ccCancel" },
678
  {  29, "ccExecPossible" },
679
  {  31, "ccRingout" },
680
  {  32, "ccSuspend" },
681
  {  33, "ccResume" },
682
683
/* --- Module Call-Offer-Operations --- --- ---                               */
684
685
  {  34, "callOfferRequest" },
686
  { 115, "remoteUserAlerting" },
687
  {  49, "cfbOverride" },
688
689
/* --- Module Call-Intrusion-Operations --- --- ---                           */
690
691
  {  43, "callIntrusionRequest" },
692
  {  44, "callIntrusionGetCIPL" },
693
  {  45, "callIntrusionIsolate" },
694
  {  46, "callIntrusionForcedRelease" },
695
  {  47, "callIntrusionWOBRequest" },
696
  { 116, "callIntrusionSilentMonitor" },
697
  { 117, "callIntrusionNotification" },
698
699
/* --- Module Common-Information-Operations --- --- ---                       */
700
701
  {  84, "cmnRequest" },
702
  {  85, "cmnInform" },
703
  {   0, NULL}
704
};
705
706
static const value_string h450_str_error[] = {
707
708
/* --- Modules H4501-Supplementary-ServiceAPDU-Structure Addressing-Data-Elements H225-generic-parameters-definition Manufacturer-specific-service-extension-definition H4501-General-Error-List --- --- --- */
709
710
  {    0, "userNotSubscribed" },
711
  {    1, "rejectedByNetwork" },
712
  {    2, "rejectedByUser" },
713
  {    3, "notAvailable" },
714
  {    5, "insufficientInformation" },
715
  {    6, "invalidServedUserNumber" },
716
  {    7, "invalidCallState" },
717
  {    8, "basicServiceNotProvided" },
718
  {    9, "notIncomingCall" },
719
  {   10, "supplementaryServiceInteractionNotAllowed" },
720
  {   11, "resourceUnavailable" },
721
  {   25, "callFailure" },
722
  {   43, "proceduralError" },
723
724
/* --- Module Call-Transfer-Operations --- --- ---                            */
725
726
  { 1008, "unspecified" },
727
  { 1004, "invalidReroutingNumber" },
728
  { 1005, "unrecognizedCallIdentity" },
729
  { 1006, "establishmentFailure" },
730
731
/* --- Module Call-Diversion-Operations --- --- ---                           */
732
733
  {   12, "invalidDivertedNumber" },
734
  {   14, "specialServiceNumber" },
735
  {   15, "diversionToServedUserNumber" },
736
  {   24, "numberOfDiversionsExceeded" },
737
  { 1000, "temporarilyUnavailable" },
738
  { 1007, "notAuthorized" },
739
  { 1008, "unspecified" },
740
741
/* --- Module Call-Hold-Operations --- --- ---                                */
742
743
  { 2002, "undefined" },
744
745
/* --- Module Call-Park-Pickup-Operations --- --- ---                         */
746
747
  { 2000, "callPickupIdInvalid" },
748
  { 2001, "callAlreadyPickedUp" },
749
  { 2002, "undefined" },
750
751
/* --- Module Call-Waiting-Operations --- --- ---                             */
752
753
/* Unknown or empty loop list ERROR */
754
755
/* --- Module Message-Waiting-Indication-Operations --- --- ---               */
756
757
  { 2002, "undefined" },
758
  { 1018, "invalidMsgCentreId" },
759
  {   31, "notActivated" },
760
761
/* --- Module Name-Operations --- --- ---                                     */
762
763
/* Unknown or empty loop list ERROR */
764
765
/* --- Module Call-Completion-Operations --- --- ---                          */
766
767
  { 1010, "shortTermRejection" },
768
  { 1011, "longTermRejection" },
769
  { 1012, "remoteUserBusyAgain" },
770
  { 1013, "failureToMatch" },
771
772
/* --- Module Call-Offer-Operations --- --- ---                               */
773
774
/* Unknown or empty loop list ERROR */
775
776
/* --- Module Call-Intrusion-Operations --- --- ---                           */
777
778
  { 1009, "notBusy" },
779
  { 1000, "temporarilyUnavailable" },
780
  { 1007, "notAuthorized" },
781
782
/* --- Module Common-Information-Operations --- --- ---                       */
783
784
/* Unknown or empty loop list ERROR */
785
  {   0, NULL}
786
};
787
788
/* ROSE context */
789
static rose_ctx_t h450_rose_ctx;
790
791
/* Global variables */
792
793
794
/* --- Modules H4501-Supplementary-ServiceAPDU-Structure Addressing-Data-Elements H225-generic-parameters-definition Manufacturer-specific-service-extension-definition H4501-General-Error-List --- --- --- */
795
796
/*--- Cyclic dependencies ---*/
797
798
/* Extension/extensionArgument -> Extension/extensionArgument */
799
static unsigned dissect_h450_T_extensionArgument(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
800
801
802
803
804
static unsigned
805
2
dissect_h450_NULL(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
806
2
  offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
807
808
2
  return offset;
809
2
}
810
811
812
static const value_string h450_EntityType_vals[] = {
813
  {   0, "endpoint" },
814
  {   1, "anyEntity" },
815
  { 0, NULL }
816
};
817
818
static const per_choice_t h450_EntityType_choice[] = {
819
  {   0, &hf_h450_endpoint       , ASN1_EXTENSION_ROOT    , dissect_h450_NULL },
820
  {   1, &hf_h450_anyEntity      , ASN1_EXTENSION_ROOT    , dissect_h450_NULL },
821
  { 0, NULL, 0, NULL }
822
};
823
824
static unsigned
825
3
dissect_h450_EntityType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
826
3
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
827
3
                                 ett_h450_EntityType, h450_EntityType_choice,
828
3
                                 NULL);
829
830
3
  return offset;
831
3
}
832
833
834
835
static unsigned
836
0
dissect_h450_AddressInformation(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
837
0
  offset = dissect_h225_AliasAddress(tvb, offset, actx, tree, hf_index);
838
839
0
  return offset;
840
0
}
841
842
843
static const per_sequence_t h450_NetworkFacilityExtension_sequence[] = {
844
  { &hf_h450_sourceEntity   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EntityType },
845
  { &hf_h450_sourceEntityAddress, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_AddressInformation },
846
  { &hf_h450_destinationEntity, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EntityType },
847
  { &hf_h450_destinationEntityAddress, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_AddressInformation },
848
  { NULL, 0, 0, NULL }
849
};
850
851
static unsigned
852
2
dissect_h450_NetworkFacilityExtension(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
853
2
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
854
2
                                   ett_h450_NetworkFacilityExtension, h450_NetworkFacilityExtension_sequence);
855
856
2
  return offset;
857
2
}
858
859
860
static const value_string h450_InterpretationApdu_vals[] = {
861
  {   0, "discardAnyUnrecognizedInvokePdu" },
862
  {   1, "clearCallIfAnyInvokePduNotRecognized" },
863
  {   2, "rejectAnyUnrecognizedInvokePdu" },
864
  { 0, NULL }
865
};
866
867
static const per_choice_t h450_InterpretationApdu_choice[] = {
868
  {   0, &hf_h450_discardAnyUnrecognizedInvokePdu, ASN1_EXTENSION_ROOT    , dissect_h450_NULL },
869
  {   1, &hf_h450_clearCallIfAnyInvokePduNotRecognized, ASN1_EXTENSION_ROOT    , dissect_h450_NULL },
870
  {   2, &hf_h450_rejectAnyUnrecognizedInvokePdu, ASN1_EXTENSION_ROOT    , dissect_h450_NULL },
871
  { 0, NULL, 0, NULL }
872
};
873
874
static unsigned
875
0
dissect_h450_InterpretationApdu(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
876
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
877
0
                                 ett_h450_InterpretationApdu, h450_InterpretationApdu_choice,
878
0
                                 NULL);
879
880
0
  return offset;
881
0
}
882
883
884
885
static unsigned
886
2
dissect_h450_T_rosApdus_item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
887
2
  h450_rose_ctx.apdu_depth = 1;
888
2
  actx->rose_ctx = &h450_rose_ctx;
889
2
  offset = dissect_h450_ros_ROS(tvb, offset, actx, tree, hf_index);
890
891
2
  return offset;
892
2
}
893
894
895
static const per_sequence_t h450_T_rosApdus_sequence_of[1] = {
896
  { &hf_h450_rosApdus_item  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h450_T_rosApdus_item },
897
};
898
899
static unsigned
900
4
dissect_h450_T_rosApdus(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
901
4
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
902
4
                                                  ett_h450_T_rosApdus, h450_T_rosApdus_sequence_of,
903
4
                                                  1, NO_BOUND, false);
904
905
4
  return offset;
906
4
}
907
908
909
static const value_string h450_ServiceApdus_vals[] = {
910
  {   0, "rosApdus" },
911
  { 0, NULL }
912
};
913
914
static const per_choice_t h450_ServiceApdus_choice[] = {
915
  {   0, &hf_h450_rosApdus       , ASN1_EXTENSION_ROOT    , dissect_h450_T_rosApdus },
916
  { 0, NULL, 0, NULL }
917
};
918
919
static unsigned
920
5
dissect_h450_ServiceApdus(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
921
5
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
922
5
                                 ett_h450_ServiceApdus, h450_ServiceApdus_choice,
923
5
                                 NULL);
924
925
5
  return offset;
926
5
}
927
928
929
static const per_sequence_t h450_H4501SupplementaryService_sequence[] = {
930
  { &hf_h450_networkFacilityExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_NetworkFacilityExtension },
931
  { &hf_h450_interpretationApdu, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_InterpretationApdu },
932
  { &hf_h450_serviceApdu    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_ServiceApdus },
933
  { NULL, 0, 0, NULL }
934
};
935
936
static unsigned
937
6
dissect_h450_H4501SupplementaryService(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
938
6
  proto_item *hidden_item;
939
940
6
  hidden_item = proto_tree_add_item(tree, proto_h450, tvb, offset, -1, ENC_NA);
941
6
  proto_item_set_hidden(hidden_item);
942
6
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
943
6
                                   ett_h450_H4501SupplementaryService, h450_H4501SupplementaryService_sequence);
944
945
6
  return offset;
946
6
}
947
948
949
static const per_sequence_t h450_SEQUENCE_OF_AliasAddress_sequence_of[1] = {
950
  { &hf_h450_destinationAddress_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h225_AliasAddress },
951
};
952
953
static unsigned
954
0
dissect_h450_SEQUENCE_OF_AliasAddress(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
955
0
  offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
956
0
                                      ett_h450_SEQUENCE_OF_AliasAddress, h450_SEQUENCE_OF_AliasAddress_sequence_of);
957
958
0
  return offset;
959
0
}
960
961
962
static const per_sequence_t h450_EndpointAddress_sequence[] = {
963
  { &hf_h450_destinationAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_SEQUENCE_OF_AliasAddress },
964
  { &hf_h450_remoteExtensionAddress, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_AliasAddress },
965
  { &hf_h450_destinationAddressPresentationIndicator, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_PresentationIndicator },
966
  { &hf_h450_destinationAddressScreeningIndicator, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_ScreeningIndicator },
967
  { &hf_h450_remoteExtensionAddressPresentationIndicator, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_PresentationIndicator },
968
  { &hf_h450_remoteExtensionAddressScreeningIndicator, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h225_ScreeningIndicator },
969
  { NULL, 0, 0, NULL }
970
};
971
972
static unsigned
973
0
dissect_h450_EndpointAddress(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
974
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
975
0
                                   ett_h450_EndpointAddress, h450_EndpointAddress_sequence);
976
977
0
  return offset;
978
0
}
979
980
981
982
static unsigned
983
0
dissect_h450_SubaddressInformation(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
984
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
985
0
                                       1, 20, false, NULL);
986
987
0
  return offset;
988
0
}
989
990
991
992
static unsigned
993
0
dissect_h450_BOOLEAN(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
994
0
  offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);
995
996
0
  return offset;
997
0
}
998
999
1000
static const per_sequence_t h450_UserSpecifiedSubaddress_sequence[] = {
1001
  { &hf_h450_subaddressInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_SubaddressInformation },
1002
  { &hf_h450_oddCountIndicator, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_BOOLEAN },
1003
  { NULL, 0, 0, NULL }
1004
};
1005
1006
static unsigned
1007
0
dissect_h450_UserSpecifiedSubaddress(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1008
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1009
0
                                   ett_h450_UserSpecifiedSubaddress, h450_UserSpecifiedSubaddress_sequence);
1010
1011
0
  return offset;
1012
0
}
1013
1014
1015
1016
static unsigned
1017
0
dissect_h450_NSAPSubaddress(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1018
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1019
0
                                       1, 20, false, NULL);
1020
1021
0
  return offset;
1022
0
}
1023
1024
1025
static const value_string h450_PartySubaddress_vals[] = {
1026
  {   0, "userSpecifiedSubaddress" },
1027
  {   1, "nsapSubaddress" },
1028
  { 0, NULL }
1029
};
1030
1031
static const per_choice_t h450_PartySubaddress_choice[] = {
1032
  {   0, &hf_h450_userSpecifiedSubaddress, ASN1_EXTENSION_ROOT    , dissect_h450_UserSpecifiedSubaddress },
1033
  {   1, &hf_h450_nsapSubaddress , ASN1_EXTENSION_ROOT    , dissect_h450_NSAPSubaddress },
1034
  { 0, NULL, 0, NULL }
1035
};
1036
1037
static unsigned
1038
0
dissect_h450_PartySubaddress(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1039
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1040
0
                                 ett_h450_PartySubaddress, h450_PartySubaddress_choice,
1041
0
                                 NULL);
1042
1043
0
  return offset;
1044
0
}
1045
1046
1047
1048
static unsigned
1049
0
dissect_h450_PresentationAllowedIndicator(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1050
0
  offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);
1051
1052
0
  return offset;
1053
0
}
1054
1055
1056
1057
static unsigned
1058
0
dissect_h450_H225InformationElement(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1059
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1060
0
                                       NO_BOUND, NO_BOUND, false, NULL);
1061
1062
0
  return offset;
1063
0
}
1064
1065
1066
1067
static unsigned
1068
0
dissect_h450_OBJECT_IDENTIFIER(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1069
0
  offset = dissect_per_object_identifier(tvb, offset, actx, tree, hf_index, NULL);
1070
1071
0
  return offset;
1072
0
}
1073
1074
1075
1076
static unsigned
1077
0
dissect_h450_T_extensionArgument(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1078
  // Extension/extensionArgument -> Extension/extensionArgument
1079
0
  increment_dissection_depth_by_n(actx->pinfo, 1);
1080
0
  offset = dissect_per_open_type(tvb, offset, actx, tree, hf_index, NULL);
1081
1082
0
  decrement_dissection_depth_by_n(actx->pinfo, 1);
1083
0
  return offset;
1084
0
}
1085
1086
1087
static const per_sequence_t h450_Extension_sequence[] = {
1088
  { &hf_h450_extensionId    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h450_OBJECT_IDENTIFIER },
1089
  { &hf_h450_extensionArgument, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h450_T_extensionArgument },
1090
  { NULL, 0, 0, NULL }
1091
};
1092
1093
static unsigned
1094
0
dissect_h450_Extension(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1095
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1096
0
                                   ett_h450_Extension, h450_Extension_sequence);
1097
1098
0
  return offset;
1099
0
}
1100
1101
/*--- PDUs ---*/
1102
1103
6
static int dissect_h450_H4501SupplementaryService_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1104
6
  unsigned offset = 0;
1105
6
  asn1_ctx_t asn1_ctx;
1106
6
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
1107
6
  offset = dissect_h450_H4501SupplementaryService(tvb, offset, &asn1_ctx, tree, hf_h450_h450_H4501SupplementaryService_PDU);
1108
6
  offset += 7; offset >>= 3;
1109
6
  return offset;
1110
6
}
1111
1112
1113
/* --- Module Call-Transfer-Operations --- --- ---                            */
1114
1115
1116
static const per_sequence_t h450_2_ExtensionSeq_sequence_of[1] = {
1117
  { &hf_h450_2_ExtensionSeq_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h450_Extension },
1118
};
1119
1120
static unsigned
1121
0
dissect_h450_2_ExtensionSeq(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1122
0
  offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
1123
0
                                      ett_h450_2_ExtensionSeq, h450_2_ExtensionSeq_sequence_of);
1124
1125
0
  return offset;
1126
0
}
1127
1128
1129
static const value_string h450_2_DummyArg_vals[] = {
1130
  {   0, "extensionSeq" },
1131
  {   1, "nonStandardData" },
1132
  { 0, NULL }
1133
};
1134
1135
static const per_choice_t h450_2_DummyArg_choice[] = {
1136
  {   0, &hf_h450_2_extensionSeq , ASN1_NO_EXTENSIONS     , dissect_h450_2_ExtensionSeq },
1137
  {   1, &hf_h450_2_nonStandardData, ASN1_NO_EXTENSIONS     , dissect_h225_NonStandardParameter },
1138
  { 0, NULL, 0, NULL }
1139
};
1140
1141
static unsigned
1142
0
dissect_h450_2_DummyArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1143
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1144
0
                                 ett_h450_2_DummyArg, h450_2_DummyArg_choice,
1145
0
                                 NULL);
1146
1147
0
  return offset;
1148
0
}
1149
1150
1151
static const value_string h450_2_DummyRes_vals[] = {
1152
  {   0, "extensionSeq" },
1153
  {   1, "nonStandardData" },
1154
  { 0, NULL }
1155
};
1156
1157
static const per_choice_t h450_2_DummyRes_choice[] = {
1158
  {   0, &hf_h450_2_extensionSeq , ASN1_NO_EXTENSIONS     , dissect_h450_2_ExtensionSeq },
1159
  {   1, &hf_h450_2_nonStandardData, ASN1_NO_EXTENSIONS     , dissect_h225_NonStandardParameter },
1160
  { 0, NULL, 0, NULL }
1161
};
1162
1163
static unsigned
1164
0
dissect_h450_2_DummyRes(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1165
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1166
0
                                 ett_h450_2_DummyRes, h450_2_DummyRes_choice,
1167
0
                                 NULL);
1168
1169
0
  return offset;
1170
0
}
1171
1172
1173
1174
static unsigned
1175
0
dissect_h450_2_CallIdentity(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1176
0
  offset = dissect_per_NumericString(tvb, offset, actx, tree, hf_index,
1177
0
                                          0, 4, false,
1178
0
                                          NULL);
1179
1180
0
  return offset;
1181
0
}
1182
1183
1184
static const value_string h450_2_T_cTInitiateArg_argumentExtension_vals[] = {
1185
  {   0, "extensionSeq" },
1186
  {   1, "nonStandardData" },
1187
  { 0, NULL }
1188
};
1189
1190
static const per_choice_t h450_2_T_cTInitiateArg_argumentExtension_choice[] = {
1191
  {   0, &hf_h450_2_extensionSeq , ASN1_NO_EXTENSIONS     , dissect_h450_2_ExtensionSeq },
1192
  {   1, &hf_h450_2_nonStandardData, ASN1_NO_EXTENSIONS     , dissect_h225_NonStandardParameter },
1193
  { 0, NULL, 0, NULL }
1194
};
1195
1196
static unsigned
1197
0
dissect_h450_2_T_cTInitiateArg_argumentExtension(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1198
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1199
0
                                 ett_h450_2_T_cTInitiateArg_argumentExtension, h450_2_T_cTInitiateArg_argumentExtension_choice,
1200
0
                                 NULL);
1201
1202
0
  return offset;
1203
0
}
1204
1205
1206
static const per_sequence_t h450_2_CTInitiateArg_sequence[] = {
1207
  { &hf_h450_2_callIdentity , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_2_CallIdentity },
1208
  { &hf_h450_2_reroutingNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
1209
  { &hf_h450_2_cTInitiateArg_argumentExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_2_T_cTInitiateArg_argumentExtension },
1210
  { NULL, 0, 0, NULL }
1211
};
1212
1213
static unsigned
1214
0
dissect_h450_2_CTInitiateArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1215
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1216
0
                                   ett_h450_2_CTInitiateArg, h450_2_CTInitiateArg_sequence);
1217
1218
0
  return offset;
1219
0
}
1220
1221
1222
static const value_string h450_2_T_cTSetupArg_argumentExtension_vals[] = {
1223
  {   0, "extensionSeq" },
1224
  {   1, "nonStandardData" },
1225
  { 0, NULL }
1226
};
1227
1228
static const per_choice_t h450_2_T_cTSetupArg_argumentExtension_choice[] = {
1229
  {   0, &hf_h450_2_extensionSeq , ASN1_NO_EXTENSIONS     , dissect_h450_2_ExtensionSeq },
1230
  {   1, &hf_h450_2_nonStandardData, ASN1_NO_EXTENSIONS     , dissect_h225_NonStandardParameter },
1231
  { 0, NULL, 0, NULL }
1232
};
1233
1234
static unsigned
1235
0
dissect_h450_2_T_cTSetupArg_argumentExtension(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1236
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1237
0
                                 ett_h450_2_T_cTSetupArg_argumentExtension, h450_2_T_cTSetupArg_argumentExtension_choice,
1238
0
                                 NULL);
1239
1240
0
  return offset;
1241
0
}
1242
1243
1244
static const per_sequence_t h450_2_CTSetupArg_sequence[] = {
1245
  { &hf_h450_2_callIdentity , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_2_CallIdentity },
1246
  { &hf_h450_2_transferringNumber, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_EndpointAddress },
1247
  { &hf_h450_2_cTSetupArg_argumentExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_2_T_cTSetupArg_argumentExtension },
1248
  { NULL, 0, 0, NULL }
1249
};
1250
1251
static unsigned
1252
0
dissect_h450_2_CTSetupArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1253
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1254
0
                                   ett_h450_2_CTSetupArg, h450_2_CTSetupArg_sequence);
1255
1256
0
  return offset;
1257
0
}
1258
1259
1260
static const value_string h450_2_T_resultExtension_vals[] = {
1261
  {   0, "extensionSeq" },
1262
  {   1, "nonStandardData" },
1263
  { 0, NULL }
1264
};
1265
1266
static const per_choice_t h450_2_T_resultExtension_choice[] = {
1267
  {   0, &hf_h450_2_extensionSeq , ASN1_NO_EXTENSIONS     , dissect_h450_2_ExtensionSeq },
1268
  {   1, &hf_h450_2_nonStandardData, ASN1_NO_EXTENSIONS     , dissect_h225_NonStandardParameter },
1269
  { 0, NULL, 0, NULL }
1270
};
1271
1272
static unsigned
1273
0
dissect_h450_2_T_resultExtension(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1274
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1275
0
                                 ett_h450_2_T_resultExtension, h450_2_T_resultExtension_choice,
1276
0
                                 NULL);
1277
1278
0
  return offset;
1279
0
}
1280
1281
1282
static const per_sequence_t h450_2_CTIdentifyRes_sequence[] = {
1283
  { &hf_h450_2_callIdentity , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_2_CallIdentity },
1284
  { &hf_h450_2_reroutingNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
1285
  { &hf_h450_2_resultExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_2_T_resultExtension },
1286
  { NULL, 0, 0, NULL }
1287
};
1288
1289
static unsigned
1290
0
dissect_h450_2_CTIdentifyRes(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1291
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1292
0
                                   ett_h450_2_CTIdentifyRes, h450_2_CTIdentifyRes_sequence);
1293
1294
0
  return offset;
1295
0
}
1296
1297
1298
1299
static unsigned
1300
0
dissect_h450_2_BMPString_SIZE_1_128(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1301
0
  offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
1302
0
                                          1, 128, false);
1303
1304
0
  return offset;
1305
0
}
1306
1307
1308
static const value_string h450_2_T_cTUpdateArg_argumentExtension_vals[] = {
1309
  {   0, "extensionSeq" },
1310
  {   1, "nonStandardData" },
1311
  { 0, NULL }
1312
};
1313
1314
static const per_choice_t h450_2_T_cTUpdateArg_argumentExtension_choice[] = {
1315
  {   0, &hf_h450_2_extensionSeq , ASN1_NO_EXTENSIONS     , dissect_h450_2_ExtensionSeq },
1316
  {   1, &hf_h450_2_nonStandardData, ASN1_NO_EXTENSIONS     , dissect_h225_NonStandardParameter },
1317
  { 0, NULL, 0, NULL }
1318
};
1319
1320
static unsigned
1321
0
dissect_h450_2_T_cTUpdateArg_argumentExtension(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1322
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1323
0
                                 ett_h450_2_T_cTUpdateArg_argumentExtension, h450_2_T_cTUpdateArg_argumentExtension_choice,
1324
0
                                 NULL);
1325
1326
0
  return offset;
1327
0
}
1328
1329
1330
static const per_sequence_t h450_2_CTUpdateArg_sequence[] = {
1331
  { &hf_h450_2_redirectionNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
1332
  { &hf_h450_2_redirectionInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_2_BMPString_SIZE_1_128 },
1333
  { &hf_h450_2_basicCallInfoElements, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_H225InformationElement },
1334
  { &hf_h450_2_cTUpdateArg_argumentExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_2_T_cTUpdateArg_argumentExtension },
1335
  { NULL, 0, 0, NULL }
1336
};
1337
1338
static unsigned
1339
0
dissect_h450_2_CTUpdateArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1340
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1341
0
                                   ett_h450_2_CTUpdateArg, h450_2_CTUpdateArg_sequence);
1342
1343
0
  return offset;
1344
0
}
1345
1346
1347
static const value_string h450_2_T_subaddressTransferArg_argumentExtension_vals[] = {
1348
  {   0, "extensionSeq" },
1349
  {   1, "nonStandardData" },
1350
  { 0, NULL }
1351
};
1352
1353
static const per_choice_t h450_2_T_subaddressTransferArg_argumentExtension_choice[] = {
1354
  {   0, &hf_h450_2_extensionSeq , ASN1_NO_EXTENSIONS     , dissect_h450_2_ExtensionSeq },
1355
  {   1, &hf_h450_2_nonStandardData, ASN1_NO_EXTENSIONS     , dissect_h225_NonStandardParameter },
1356
  { 0, NULL, 0, NULL }
1357
};
1358
1359
static unsigned
1360
0
dissect_h450_2_T_subaddressTransferArg_argumentExtension(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1361
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1362
0
                                 ett_h450_2_T_subaddressTransferArg_argumentExtension, h450_2_T_subaddressTransferArg_argumentExtension_choice,
1363
0
                                 NULL);
1364
1365
0
  return offset;
1366
0
}
1367
1368
1369
static const per_sequence_t h450_2_SubaddressTransferArg_sequence[] = {
1370
  { &hf_h450_2_redirectionSubaddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_PartySubaddress },
1371
  { &hf_h450_2_subaddressTransferArg_argumentExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_2_T_subaddressTransferArg_argumentExtension },
1372
  { NULL, 0, 0, NULL }
1373
};
1374
1375
static unsigned
1376
0
dissect_h450_2_SubaddressTransferArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1377
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1378
0
                                   ett_h450_2_SubaddressTransferArg, h450_2_SubaddressTransferArg_sequence);
1379
1380
0
  return offset;
1381
0
}
1382
1383
1384
static const value_string h450_2_EndDesignation_vals[] = {
1385
  {   0, "primaryEnd" },
1386
  {   1, "secondaryEnd" },
1387
  { 0, NULL }
1388
};
1389
1390
1391
static unsigned
1392
0
dissect_h450_2_EndDesignation(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1393
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1394
0
                                     2, NULL, true, 0, NULL);
1395
1396
0
  return offset;
1397
0
}
1398
1399
1400
static const value_string h450_2_CallStatus_vals[] = {
1401
  {   0, "answered" },
1402
  {   1, "alerting" },
1403
  { 0, NULL }
1404
};
1405
1406
1407
static unsigned
1408
0
dissect_h450_2_CallStatus(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1409
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1410
0
                                     2, NULL, true, 0, NULL);
1411
1412
0
  return offset;
1413
0
}
1414
1415
1416
static const value_string h450_2_T_cTCompleteArg_argumentExtension_vals[] = {
1417
  {   0, "extensionSeq" },
1418
  {   1, "nonStandardData" },
1419
  { 0, NULL }
1420
};
1421
1422
static const per_choice_t h450_2_T_cTCompleteArg_argumentExtension_choice[] = {
1423
  {   0, &hf_h450_2_extensionSeq , ASN1_NO_EXTENSIONS     , dissect_h450_2_ExtensionSeq },
1424
  {   1, &hf_h450_2_nonStandardData, ASN1_NO_EXTENSIONS     , dissect_h225_NonStandardParameter },
1425
  { 0, NULL, 0, NULL }
1426
};
1427
1428
static unsigned
1429
0
dissect_h450_2_T_cTCompleteArg_argumentExtension(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1430
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1431
0
                                 ett_h450_2_T_cTCompleteArg_argumentExtension, h450_2_T_cTCompleteArg_argumentExtension_choice,
1432
0
                                 NULL);
1433
1434
0
  return offset;
1435
0
}
1436
1437
1438
static const per_sequence_t h450_2_CTCompleteArg_sequence[] = {
1439
  { &hf_h450_2_endDesignation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_2_EndDesignation },
1440
  { &hf_h450_2_redirectionNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
1441
  { &hf_h450_2_basicCallInfoElements, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_H225InformationElement },
1442
  { &hf_h450_2_redirectionInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_2_BMPString_SIZE_1_128 },
1443
  { &hf_h450_2_callStatus   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_2_CallStatus },
1444
  { &hf_h450_2_cTCompleteArg_argumentExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_2_T_cTCompleteArg_argumentExtension },
1445
  { NULL, 0, 0, NULL }
1446
};
1447
1448
static unsigned
1449
0
dissect_h450_2_CTCompleteArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1450
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1451
0
                                   ett_h450_2_CTCompleteArg, h450_2_CTCompleteArg_sequence);
1452
1453
0
  return offset;
1454
0
}
1455
1456
1457
static const value_string h450_2_T_cTActiveArg_argumentExtension_vals[] = {
1458
  {   0, "extensionSeq" },
1459
  {   1, "nonStandardData" },
1460
  { 0, NULL }
1461
};
1462
1463
static const per_choice_t h450_2_T_cTActiveArg_argumentExtension_choice[] = {
1464
  {   0, &hf_h450_2_extensionSeq , ASN1_NO_EXTENSIONS     , dissect_h450_2_ExtensionSeq },
1465
  {   1, &hf_h450_2_nonStandardData, ASN1_NO_EXTENSIONS     , dissect_h225_NonStandardParameter },
1466
  { 0, NULL, 0, NULL }
1467
};
1468
1469
static unsigned
1470
0
dissect_h450_2_T_cTActiveArg_argumentExtension(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1471
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1472
0
                                 ett_h450_2_T_cTActiveArg_argumentExtension, h450_2_T_cTActiveArg_argumentExtension_choice,
1473
0
                                 NULL);
1474
1475
0
  return offset;
1476
0
}
1477
1478
1479
static const per_sequence_t h450_2_CTActiveArg_sequence[] = {
1480
  { &hf_h450_2_connectedAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
1481
  { &hf_h450_2_basicCallInfoElements, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_H225InformationElement },
1482
  { &hf_h450_2_connectedInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_2_BMPString_SIZE_1_128 },
1483
  { &hf_h450_2_cTActiveArg_argumentExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_2_T_cTActiveArg_argumentExtension },
1484
  { NULL, 0, 0, NULL }
1485
};
1486
1487
static unsigned
1488
0
dissect_h450_2_CTActiveArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1489
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1490
0
                                   ett_h450_2_CTActiveArg, h450_2_CTActiveArg_sequence);
1491
1492
0
  return offset;
1493
0
}
1494
1495
1496
static const value_string h450_2_PAR_unspecified_vals[] = {
1497
  {   0, "extension" },
1498
  {   1, "nonStandard" },
1499
  { 0, NULL }
1500
};
1501
1502
static const per_choice_t h450_2_PAR_unspecified_choice[] = {
1503
  {   0, &hf_h450_2_unspecified_extension, ASN1_NO_EXTENSIONS     , dissect_h450_Extension },
1504
  {   1, &hf_h450_2_nonStandard  , ASN1_NO_EXTENSIONS     , dissect_h225_NonStandardParameter },
1505
  { 0, NULL, 0, NULL }
1506
};
1507
1508
static unsigned
1509
0
dissect_h450_2_PAR_unspecified(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1510
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1511
0
                                 ett_h450_2_PAR_unspecified, h450_2_PAR_unspecified_choice,
1512
0
                                 NULL);
1513
1514
0
  return offset;
1515
0
}
1516
1517
/*--- PDUs ---*/
1518
1519
0
static int dissect_h450_2_DummyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1520
0
  unsigned offset = 0;
1521
0
  asn1_ctx_t asn1_ctx;
1522
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
1523
0
  offset = dissect_h450_2_DummyArg(tvb, offset, &asn1_ctx, tree, hf_h450_2_h450_2_DummyArg_PDU);
1524
0
  offset += 7; offset >>= 3;
1525
0
  return offset;
1526
0
}
1527
0
static int dissect_h450_2_CTIdentifyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1528
0
  unsigned offset = 0;
1529
0
  asn1_ctx_t asn1_ctx;
1530
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
1531
0
  offset = dissect_h450_2_CTIdentifyRes(tvb, offset, &asn1_ctx, tree, hf_h450_2_h450_2_CTIdentifyRes_PDU);
1532
0
  offset += 7; offset >>= 3;
1533
0
  return offset;
1534
0
}
1535
0
static int dissect_h450_2_CTInitiateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1536
0
  unsigned offset = 0;
1537
0
  asn1_ctx_t asn1_ctx;
1538
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
1539
0
  offset = dissect_h450_2_CTInitiateArg(tvb, offset, &asn1_ctx, tree, hf_h450_2_h450_2_CTInitiateArg_PDU);
1540
0
  offset += 7; offset >>= 3;
1541
0
  return offset;
1542
0
}
1543
0
static int dissect_h450_2_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1544
0
  unsigned offset = 0;
1545
0
  asn1_ctx_t asn1_ctx;
1546
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
1547
0
  offset = dissect_h450_2_DummyRes(tvb, offset, &asn1_ctx, tree, hf_h450_2_h450_2_DummyRes_PDU);
1548
0
  offset += 7; offset >>= 3;
1549
0
  return offset;
1550
0
}
1551
0
static int dissect_h450_2_CTSetupArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1552
0
  unsigned offset = 0;
1553
0
  asn1_ctx_t asn1_ctx;
1554
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
1555
0
  offset = dissect_h450_2_CTSetupArg(tvb, offset, &asn1_ctx, tree, hf_h450_2_h450_2_CTSetupArg_PDU);
1556
0
  offset += 7; offset >>= 3;
1557
0
  return offset;
1558
0
}
1559
0
static int dissect_h450_2_CTUpdateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1560
0
  unsigned offset = 0;
1561
0
  asn1_ctx_t asn1_ctx;
1562
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
1563
0
  offset = dissect_h450_2_CTUpdateArg(tvb, offset, &asn1_ctx, tree, hf_h450_2_h450_2_CTUpdateArg_PDU);
1564
0
  offset += 7; offset >>= 3;
1565
0
  return offset;
1566
0
}
1567
0
static int dissect_h450_2_SubaddressTransferArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1568
0
  unsigned offset = 0;
1569
0
  asn1_ctx_t asn1_ctx;
1570
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
1571
0
  offset = dissect_h450_2_SubaddressTransferArg(tvb, offset, &asn1_ctx, tree, hf_h450_2_h450_2_SubaddressTransferArg_PDU);
1572
0
  offset += 7; offset >>= 3;
1573
0
  return offset;
1574
0
}
1575
0
static int dissect_h450_2_CTCompleteArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1576
0
  unsigned offset = 0;
1577
0
  asn1_ctx_t asn1_ctx;
1578
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
1579
0
  offset = dissect_h450_2_CTCompleteArg(tvb, offset, &asn1_ctx, tree, hf_h450_2_h450_2_CTCompleteArg_PDU);
1580
0
  offset += 7; offset >>= 3;
1581
0
  return offset;
1582
0
}
1583
0
static int dissect_h450_2_CTActiveArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1584
0
  unsigned offset = 0;
1585
0
  asn1_ctx_t asn1_ctx;
1586
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
1587
0
  offset = dissect_h450_2_CTActiveArg(tvb, offset, &asn1_ctx, tree, hf_h450_2_h450_2_CTActiveArg_PDU);
1588
0
  offset += 7; offset >>= 3;
1589
0
  return offset;
1590
0
}
1591
0
static int dissect_h450_2_PAR_unspecified_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1592
0
  unsigned offset = 0;
1593
0
  asn1_ctx_t asn1_ctx;
1594
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
1595
0
  offset = dissect_h450_2_PAR_unspecified(tvb, offset, &asn1_ctx, tree, hf_h450_2_h450_2_PAR_unspecified_PDU);
1596
0
  offset += 7; offset >>= 3;
1597
0
  return offset;
1598
0
}
1599
1600
1601
/* --- Module Call-Diversion-Operations --- --- ---                           */
1602
1603
1604
static const value_string h450_3_Procedure_vals[] = {
1605
  {   0, "cfu" },
1606
  {   1, "cfb" },
1607
  {   2, "cfnr" },
1608
  { 0, NULL }
1609
};
1610
1611
1612
static unsigned
1613
0
dissect_h450_3_Procedure(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1614
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1615
0
                                     3, NULL, true, 0, NULL);
1616
1617
0
  return offset;
1618
0
}
1619
1620
1621
static const value_string h450_3_BasicService_vals[] = {
1622
  {   0, "allServices" },
1623
  { 0, NULL }
1624
};
1625
1626
1627
static unsigned
1628
0
dissect_h450_3_BasicService(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1629
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1630
0
                                     1, NULL, true, 0, NULL);
1631
1632
0
  return offset;
1633
0
}
1634
1635
1636
static const per_sequence_t h450_3_ExtensionSeq_sequence_of[1] = {
1637
  { &hf_h450_3_ExtensionSeq_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h450_Extension },
1638
};
1639
1640
static unsigned
1641
0
dissect_h450_3_ExtensionSeq(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1642
0
  offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
1643
0
                                      ett_h450_3_ExtensionSeq, h450_3_ExtensionSeq_sequence_of);
1644
1645
0
  return offset;
1646
0
}
1647
1648
1649
static const value_string h450_3_ActivateDiversionQArg_extension_vals[] = {
1650
  {   0, "extensionSeq" },
1651
  {   1, "nonStandardData" },
1652
  { 0, NULL }
1653
};
1654
1655
static const per_choice_t h450_3_ActivateDiversionQArg_extension_choice[] = {
1656
  {   0, &hf_h450_3_extensionSeq , ASN1_NO_EXTENSIONS     , dissect_h450_3_ExtensionSeq },
1657
  {   1, &hf_h450_3_nonStandardData, ASN1_NO_EXTENSIONS     , dissect_h225_NonStandardParameter },
1658
  { 0, NULL, 0, NULL }
1659
};
1660
1661
static unsigned
1662
0
dissect_h450_3_ActivateDiversionQArg_extension(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1663
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1664
0
                                 ett_h450_3_ActivateDiversionQArg_extension, h450_3_ActivateDiversionQArg_extension_choice,
1665
0
                                 NULL);
1666
1667
0
  return offset;
1668
0
}
1669
1670
1671
static const per_sequence_t h450_3_ARG_activateDiversionQ_sequence[] = {
1672
  { &hf_h450_3_procedure    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_3_Procedure },
1673
  { &hf_h450_3_basicService , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_3_BasicService },
1674
  { &hf_h450_3_divertedToAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
1675
  { &hf_h450_3_servedUserNr , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
1676
  { &hf_h450_3_activatingUserNr, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
1677
  { &hf_h450_3_activateDiversionQArg_extension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_3_ActivateDiversionQArg_extension },
1678
  { NULL, 0, 0, NULL }
1679
};
1680
1681
static unsigned
1682
0
dissect_h450_3_ARG_activateDiversionQ(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1683
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1684
0
                                   ett_h450_3_ARG_activateDiversionQ, h450_3_ARG_activateDiversionQ_sequence);
1685
1686
0
  return offset;
1687
0
}
1688
1689
1690
static const value_string h450_3_RES_activateDiversionQ_vals[] = {
1691
  {   0, "extensionSeq" },
1692
  {   1, "nonStandardData" },
1693
  { 0, NULL }
1694
};
1695
1696
static const per_choice_t h450_3_RES_activateDiversionQ_choice[] = {
1697
  {   0, &hf_h450_3_extensionSeq , ASN1_NO_EXTENSIONS     , dissect_h450_3_ExtensionSeq },
1698
  {   1, &hf_h450_3_nonStandardData, ASN1_NO_EXTENSIONS     , dissect_h225_NonStandardParameter },
1699
  { 0, NULL, 0, NULL }
1700
};
1701
1702
static unsigned
1703
0
dissect_h450_3_RES_activateDiversionQ(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1704
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1705
0
                                 ett_h450_3_RES_activateDiversionQ, h450_3_RES_activateDiversionQ_choice,
1706
0
                                 NULL);
1707
1708
0
  return offset;
1709
0
}
1710
1711
1712
static const value_string h450_3_DeactivateDiversionQArg_extension_vals[] = {
1713
  {   0, "extensionSeq" },
1714
  {   1, "nonStandardData" },
1715
  { 0, NULL }
1716
};
1717
1718
static const per_choice_t h450_3_DeactivateDiversionQArg_extension_choice[] = {
1719
  {   0, &hf_h450_3_extensionSeq , ASN1_NO_EXTENSIONS     , dissect_h450_3_ExtensionSeq },
1720
  {   1, &hf_h450_3_nonStandardData, ASN1_NO_EXTENSIONS     , dissect_h225_NonStandardParameter },
1721
  { 0, NULL, 0, NULL }
1722
};
1723
1724
static unsigned
1725
0
dissect_h450_3_DeactivateDiversionQArg_extension(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1726
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1727
0
                                 ett_h450_3_DeactivateDiversionQArg_extension, h450_3_DeactivateDiversionQArg_extension_choice,
1728
0
                                 NULL);
1729
1730
0
  return offset;
1731
0
}
1732
1733
1734
static const per_sequence_t h450_3_ARG_deactivateDiversionQ_sequence[] = {
1735
  { &hf_h450_3_procedure    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_3_Procedure },
1736
  { &hf_h450_3_basicService , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_3_BasicService },
1737
  { &hf_h450_3_servedUserNr , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
1738
  { &hf_h450_3_deactivatingUserNr, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
1739
  { &hf_h450_3_deactivateDiversionQArg_extension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_3_DeactivateDiversionQArg_extension },
1740
  { NULL, 0, 0, NULL }
1741
};
1742
1743
static unsigned
1744
0
dissect_h450_3_ARG_deactivateDiversionQ(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1745
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1746
0
                                   ett_h450_3_ARG_deactivateDiversionQ, h450_3_ARG_deactivateDiversionQ_sequence);
1747
1748
0
  return offset;
1749
0
}
1750
1751
1752
static const value_string h450_3_RES_deactivateDiversionQ_vals[] = {
1753
  {   0, "extensionSeq" },
1754
  {   1, "nonStandardData" },
1755
  { 0, NULL }
1756
};
1757
1758
static const per_choice_t h450_3_RES_deactivateDiversionQ_choice[] = {
1759
  {   0, &hf_h450_3_extensionSeq , ASN1_NO_EXTENSIONS     , dissect_h450_3_ExtensionSeq },
1760
  {   1, &hf_h450_3_nonStandardData, ASN1_NO_EXTENSIONS     , dissect_h225_NonStandardParameter },
1761
  { 0, NULL, 0, NULL }
1762
};
1763
1764
static unsigned
1765
0
dissect_h450_3_RES_deactivateDiversionQ(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1766
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1767
0
                                 ett_h450_3_RES_deactivateDiversionQ, h450_3_RES_deactivateDiversionQ_choice,
1768
0
                                 NULL);
1769
1770
0
  return offset;
1771
0
}
1772
1773
1774
static const value_string h450_3_InterrogateDiversionQ_extension_vals[] = {
1775
  {   0, "extensionSeq" },
1776
  {   1, "nonStandardData" },
1777
  { 0, NULL }
1778
};
1779
1780
static const per_choice_t h450_3_InterrogateDiversionQ_extension_choice[] = {
1781
  {   0, &hf_h450_3_extensionSeq , ASN1_NO_EXTENSIONS     , dissect_h450_3_ExtensionSeq },
1782
  {   1, &hf_h450_3_nonStandardData, ASN1_NO_EXTENSIONS     , dissect_h225_NonStandardParameter },
1783
  { 0, NULL, 0, NULL }
1784
};
1785
1786
static unsigned
1787
0
dissect_h450_3_InterrogateDiversionQ_extension(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1788
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1789
0
                                 ett_h450_3_InterrogateDiversionQ_extension, h450_3_InterrogateDiversionQ_extension_choice,
1790
0
                                 NULL);
1791
1792
0
  return offset;
1793
0
}
1794
1795
1796
static const per_sequence_t h450_3_ARG_interrogateDiversionQ_sequence[] = {
1797
  { &hf_h450_3_procedure    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_3_Procedure },
1798
  { &hf_h450_3_basicService , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_3_BasicService },
1799
  { &hf_h450_3_servedUserNr , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
1800
  { &hf_h450_3_interrogatingUserNr, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
1801
  { &hf_h450_3_interrogateDiversionQ_extension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_3_InterrogateDiversionQ_extension },
1802
  { NULL, 0, 0, NULL }
1803
};
1804
1805
static unsigned
1806
0
dissect_h450_3_ARG_interrogateDiversionQ(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1807
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1808
0
                                   ett_h450_3_ARG_interrogateDiversionQ, h450_3_ARG_interrogateDiversionQ_sequence);
1809
1810
0
  return offset;
1811
0
}
1812
1813
1814
static const value_string h450_3_CheckRestrictionArg_extension_vals[] = {
1815
  {   0, "extensionSeq" },
1816
  {   1, "nonStandardData" },
1817
  { 0, NULL }
1818
};
1819
1820
static const per_choice_t h450_3_CheckRestrictionArg_extension_choice[] = {
1821
  {   0, &hf_h450_3_extensionSeq , ASN1_NO_EXTENSIONS     , dissect_h450_3_ExtensionSeq },
1822
  {   1, &hf_h450_3_nonStandardData, ASN1_NO_EXTENSIONS     , dissect_h225_NonStandardParameter },
1823
  { 0, NULL, 0, NULL }
1824
};
1825
1826
static unsigned
1827
0
dissect_h450_3_CheckRestrictionArg_extension(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1828
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1829
0
                                 ett_h450_3_CheckRestrictionArg_extension, h450_3_CheckRestrictionArg_extension_choice,
1830
0
                                 NULL);
1831
1832
0
  return offset;
1833
0
}
1834
1835
1836
static const per_sequence_t h450_3_ARG_checkRestriction_sequence[] = {
1837
  { &hf_h450_3_servedUserNr , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
1838
  { &hf_h450_3_basicService , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_3_BasicService },
1839
  { &hf_h450_3_divertedToNr , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
1840
  { &hf_h450_3_checkRestrictionArg_extension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_3_CheckRestrictionArg_extension },
1841
  { NULL, 0, 0, NULL }
1842
};
1843
1844
static unsigned
1845
0
dissect_h450_3_ARG_checkRestriction(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1846
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1847
0
                                   ett_h450_3_ARG_checkRestriction, h450_3_ARG_checkRestriction_sequence);
1848
1849
0
  return offset;
1850
0
}
1851
1852
1853
static const value_string h450_3_RES_checkRestriction_vals[] = {
1854
  {   0, "extensionSeq" },
1855
  {   1, "nonStandardData" },
1856
  { 0, NULL }
1857
};
1858
1859
static const per_choice_t h450_3_RES_checkRestriction_choice[] = {
1860
  {   0, &hf_h450_3_extensionSeq , ASN1_NO_EXTENSIONS     , dissect_h450_3_ExtensionSeq },
1861
  {   1, &hf_h450_3_nonStandardData, ASN1_NO_EXTENSIONS     , dissect_h225_NonStandardParameter },
1862
  { 0, NULL, 0, NULL }
1863
};
1864
1865
static unsigned
1866
0
dissect_h450_3_RES_checkRestriction(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1867
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1868
0
                                 ett_h450_3_RES_checkRestriction, h450_3_RES_checkRestriction_choice,
1869
0
                                 NULL);
1870
1871
0
  return offset;
1872
0
}
1873
1874
1875
static const value_string h450_3_DiversionReason_vals[] = {
1876
  {   0, "unknown" },
1877
  {   1, "cfu" },
1878
  {   2, "cfb" },
1879
  {   3, "cfnr" },
1880
  { 0, NULL }
1881
};
1882
1883
1884
static unsigned
1885
0
dissect_h450_3_DiversionReason(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1886
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1887
0
                                     4, NULL, true, 0, NULL);
1888
1889
0
  return offset;
1890
0
}
1891
1892
1893
1894
static unsigned
1895
0
dissect_h450_3_INTEGER_1_15(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1896
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1897
0
                                                            1U, 15U, NULL, false);
1898
1899
0
  return offset;
1900
0
}
1901
1902
1903
static const value_string h450_3_SubscriptionOption_vals[] = {
1904
  {   0, "noNotification" },
1905
  {   1, "notificationWithoutDivertedToNr" },
1906
  {   2, "notificationWithDivertedToNr" },
1907
  { 0, NULL }
1908
};
1909
1910
1911
static unsigned
1912
0
dissect_h450_3_SubscriptionOption(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1913
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1914
0
                                     3, NULL, true, 0, NULL);
1915
1916
0
  return offset;
1917
0
}
1918
1919
1920
1921
static unsigned
1922
0
dissect_h450_3_BMPString_SIZE_1_128(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1923
0
  offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
1924
0
                                          1, 128, false);
1925
1926
0
  return offset;
1927
0
}
1928
1929
1930
static const value_string h450_3_CallReroutingArg_extension_vals[] = {
1931
  {   0, "extensionSeq" },
1932
  {   1, "nonStandardData" },
1933
  { 0, NULL }
1934
};
1935
1936
static const per_choice_t h450_3_CallReroutingArg_extension_choice[] = {
1937
  {   0, &hf_h450_3_extensionSeq , ASN1_NO_EXTENSIONS     , dissect_h450_3_ExtensionSeq },
1938
  {   1, &hf_h450_3_nonStandardData, ASN1_NO_EXTENSIONS     , dissect_h225_NonStandardParameter },
1939
  { 0, NULL, 0, NULL }
1940
};
1941
1942
static unsigned
1943
0
dissect_h450_3_CallReroutingArg_extension(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1944
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1945
0
                                 ett_h450_3_CallReroutingArg_extension, h450_3_CallReroutingArg_extension_choice,
1946
0
                                 NULL);
1947
1948
0
  return offset;
1949
0
}
1950
1951
1952
static const per_sequence_t h450_3_ARG_callRerouting_sequence[] = {
1953
  { &hf_h450_3_reroutingReason, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_3_DiversionReason },
1954
  { &hf_h450_3_originalReroutingReason, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_3_DiversionReason },
1955
  { &hf_h450_3_calledAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
1956
  { &hf_h450_3_diversionCounter, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_3_INTEGER_1_15 },
1957
  { &hf_h450_3_h225InfoElement, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_H225InformationElement },
1958
  { &hf_h450_3_lastReroutingNr, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
1959
  { &hf_h450_3_subscriptionOption, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_3_SubscriptionOption },
1960
  { &hf_h450_3_callingPartySubaddress, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_PartySubaddress },
1961
  { &hf_h450_3_callingNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
1962
  { &hf_h450_3_callingInfo  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_3_BMPString_SIZE_1_128 },
1963
  { &hf_h450_3_originalCalledNr, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_EndpointAddress },
1964
  { &hf_h450_3_redirectingInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_3_BMPString_SIZE_1_128 },
1965
  { &hf_h450_3_originalCalledInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_3_BMPString_SIZE_1_128 },
1966
  { &hf_h450_3_callReroutingArg_extension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_3_CallReroutingArg_extension },
1967
  { NULL, 0, 0, NULL }
1968
};
1969
1970
static unsigned
1971
0
dissect_h450_3_ARG_callRerouting(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1972
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1973
0
                                   ett_h450_3_ARG_callRerouting, h450_3_ARG_callRerouting_sequence);
1974
1975
0
  return offset;
1976
0
}
1977
1978
1979
static const value_string h450_3_RES_callRerouting_vals[] = {
1980
  {   0, "extensionSeq" },
1981
  {   1, "nonStandardData" },
1982
  { 0, NULL }
1983
};
1984
1985
static const per_choice_t h450_3_RES_callRerouting_choice[] = {
1986
  {   0, &hf_h450_3_extensionSeq , ASN1_NO_EXTENSIONS     , dissect_h450_3_ExtensionSeq },
1987
  {   1, &hf_h450_3_nonStandardData, ASN1_NO_EXTENSIONS     , dissect_h225_NonStandardParameter },
1988
  { 0, NULL, 0, NULL }
1989
};
1990
1991
static unsigned
1992
0
dissect_h450_3_RES_callRerouting(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1993
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1994
0
                                 ett_h450_3_RES_callRerouting, h450_3_RES_callRerouting_choice,
1995
0
                                 NULL);
1996
1997
0
  return offset;
1998
0
}
1999
2000
2001
static const value_string h450_3_DivertingLegInformation1Arg_extension_vals[] = {
2002
  {   0, "extensionSeq" },
2003
  {   1, "nonStandardData" },
2004
  { 0, NULL }
2005
};
2006
2007
static const per_choice_t h450_3_DivertingLegInformation1Arg_extension_choice[] = {
2008
  {   0, &hf_h450_3_extensionSeq , ASN1_NO_EXTENSIONS     , dissect_h450_3_ExtensionSeq },
2009
  {   1, &hf_h450_3_nonStandardData, ASN1_NO_EXTENSIONS     , dissect_h225_NonStandardParameter },
2010
  { 0, NULL, 0, NULL }
2011
};
2012
2013
static unsigned
2014
0
dissect_h450_3_DivertingLegInformation1Arg_extension(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2015
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2016
0
                                 ett_h450_3_DivertingLegInformation1Arg_extension, h450_3_DivertingLegInformation1Arg_extension_choice,
2017
0
                                 NULL);
2018
2019
0
  return offset;
2020
0
}
2021
2022
2023
static const per_sequence_t h450_3_ARG_divertingLegInformation1_sequence[] = {
2024
  { &hf_h450_3_diversionReason, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_3_DiversionReason },
2025
  { &hf_h450_3_subscriptionOption, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_3_SubscriptionOption },
2026
  { &hf_h450_3_nominatedNr  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
2027
  { &hf_h450_3_nominatedInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_3_BMPString_SIZE_1_128 },
2028
  { &hf_h450_3_redirectingNr, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_EndpointAddress },
2029
  { &hf_h450_3_redirectingInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_3_BMPString_SIZE_1_128 },
2030
  { &hf_h450_3_divertingLegInformation1Arg_extension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_3_DivertingLegInformation1Arg_extension },
2031
  { NULL, 0, 0, NULL }
2032
};
2033
2034
static unsigned
2035
0
dissect_h450_3_ARG_divertingLegInformation1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2036
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2037
0
                                   ett_h450_3_ARG_divertingLegInformation1, h450_3_ARG_divertingLegInformation1_sequence);
2038
2039
0
  return offset;
2040
0
}
2041
2042
2043
static const value_string h450_3_DivertingLegInformation2Arg_extension_vals[] = {
2044
  {   0, "extensionSeq" },
2045
  {   1, "nonStandardData" },
2046
  { 0, NULL }
2047
};
2048
2049
static const per_choice_t h450_3_DivertingLegInformation2Arg_extension_choice[] = {
2050
  {   0, &hf_h450_3_extensionSeq , ASN1_NO_EXTENSIONS     , dissect_h450_3_ExtensionSeq },
2051
  {   1, &hf_h450_3_nonStandardData, ASN1_NO_EXTENSIONS     , dissect_h225_NonStandardParameter },
2052
  { 0, NULL, 0, NULL }
2053
};
2054
2055
static unsigned
2056
0
dissect_h450_3_DivertingLegInformation2Arg_extension(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2057
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2058
0
                                 ett_h450_3_DivertingLegInformation2Arg_extension, h450_3_DivertingLegInformation2Arg_extension_choice,
2059
0
                                 NULL);
2060
2061
0
  return offset;
2062
0
}
2063
2064
2065
static const per_sequence_t h450_3_ARG_divertingLegInformation2_sequence[] = {
2066
  { &hf_h450_3_diversionCounter, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_3_INTEGER_1_15 },
2067
  { &hf_h450_3_diversionReason, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_3_DiversionReason },
2068
  { &hf_h450_3_originalDiversionReason, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_3_DiversionReason },
2069
  { &hf_h450_3_divertingNr  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_EndpointAddress },
2070
  { &hf_h450_3_originalCalledNr, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_EndpointAddress },
2071
  { &hf_h450_3_redirectingInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_3_BMPString_SIZE_1_128 },
2072
  { &hf_h450_3_originalCalledInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_3_BMPString_SIZE_1_128 },
2073
  { &hf_h450_3_divertingLegInformation2Arg_extension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_3_DivertingLegInformation2Arg_extension },
2074
  { NULL, 0, 0, NULL }
2075
};
2076
2077
static unsigned
2078
0
dissect_h450_3_ARG_divertingLegInformation2(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2079
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2080
0
                                   ett_h450_3_ARG_divertingLegInformation2, h450_3_ARG_divertingLegInformation2_sequence);
2081
2082
0
  return offset;
2083
0
}
2084
2085
2086
static const value_string h450_3_DivertingLegInformation3Arg_extension_vals[] = {
2087
  {   0, "extensionSeq" },
2088
  {   1, "nonStandardData" },
2089
  { 0, NULL }
2090
};
2091
2092
static const per_choice_t h450_3_DivertingLegInformation3Arg_extension_choice[] = {
2093
  {   0, &hf_h450_3_extensionSeq , ASN1_NO_EXTENSIONS     , dissect_h450_3_ExtensionSeq },
2094
  {   1, &hf_h450_3_nonStandardData, ASN1_NO_EXTENSIONS     , dissect_h225_NonStandardParameter },
2095
  { 0, NULL, 0, NULL }
2096
};
2097
2098
static unsigned
2099
0
dissect_h450_3_DivertingLegInformation3Arg_extension(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2100
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2101
0
                                 ett_h450_3_DivertingLegInformation3Arg_extension, h450_3_DivertingLegInformation3Arg_extension_choice,
2102
0
                                 NULL);
2103
2104
0
  return offset;
2105
0
}
2106
2107
2108
static const per_sequence_t h450_3_ARG_divertingLegInformation3_sequence[] = {
2109
  { &hf_h450_3_presentationAllowedIndicator, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_PresentationAllowedIndicator },
2110
  { &hf_h450_3_redirectionNr, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_EndpointAddress },
2111
  { &hf_h450_3_redirectionInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_3_BMPString_SIZE_1_128 },
2112
  { &hf_h450_3_divertingLegInformation3Arg_extension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_3_DivertingLegInformation3Arg_extension },
2113
  { NULL, 0, 0, NULL }
2114
};
2115
2116
static unsigned
2117
0
dissect_h450_3_ARG_divertingLegInformation3(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2118
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2119
0
                                   ett_h450_3_ARG_divertingLegInformation3, h450_3_ARG_divertingLegInformation3_sequence);
2120
2121
0
  return offset;
2122
0
}
2123
2124
2125
static const value_string h450_3_DivertingLegInformation4Arg_extension_vals[] = {
2126
  {   0, "extensionSeq" },
2127
  {   1, "nonStandardData" },
2128
  { 0, NULL }
2129
};
2130
2131
static const per_choice_t h450_3_DivertingLegInformation4Arg_extension_choice[] = {
2132
  {   0, &hf_h450_3_extensionSeq , ASN1_NO_EXTENSIONS     , dissect_h450_3_ExtensionSeq },
2133
  {   1, &hf_h450_3_nonStandardData, ASN1_NO_EXTENSIONS     , dissect_h225_NonStandardParameter },
2134
  { 0, NULL, 0, NULL }
2135
};
2136
2137
static unsigned
2138
0
dissect_h450_3_DivertingLegInformation4Arg_extension(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2139
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2140
0
                                 ett_h450_3_DivertingLegInformation4Arg_extension, h450_3_DivertingLegInformation4Arg_extension_choice,
2141
0
                                 NULL);
2142
2143
0
  return offset;
2144
0
}
2145
2146
2147
static const per_sequence_t h450_3_ARG_divertingLegInformation4_sequence[] = {
2148
  { &hf_h450_3_diversionReason, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_3_DiversionReason },
2149
  { &hf_h450_3_subscriptionOption, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_3_SubscriptionOption },
2150
  { &hf_h450_3_callingNr    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
2151
  { &hf_h450_3_callingInfo  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_3_BMPString_SIZE_1_128 },
2152
  { &hf_h450_3_nominatedNr  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
2153
  { &hf_h450_3_nominatedInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_3_BMPString_SIZE_1_128 },
2154
  { &hf_h450_3_divertingLegInformation4Arg_extension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_3_DivertingLegInformation4Arg_extension },
2155
  { NULL, 0, 0, NULL }
2156
};
2157
2158
static unsigned
2159
0
dissect_h450_3_ARG_divertingLegInformation4(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2160
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2161
0
                                   ett_h450_3_ARG_divertingLegInformation4, h450_3_ARG_divertingLegInformation4_sequence);
2162
2163
0
  return offset;
2164
0
}
2165
2166
2167
static const value_string h450_3_ARG_cfnrDivertedLegFailed_vals[] = {
2168
  {   0, "extensionSeq" },
2169
  {   1, "nonStandardData" },
2170
  { 0, NULL }
2171
};
2172
2173
static const per_choice_t h450_3_ARG_cfnrDivertedLegFailed_choice[] = {
2174
  {   0, &hf_h450_3_extensionSeq , ASN1_NO_EXTENSIONS     , dissect_h450_3_ExtensionSeq },
2175
  {   1, &hf_h450_3_nonStandardData, ASN1_NO_EXTENSIONS     , dissect_h225_NonStandardParameter },
2176
  { 0, NULL, 0, NULL }
2177
};
2178
2179
static unsigned
2180
0
dissect_h450_3_ARG_cfnrDivertedLegFailed(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2181
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2182
0
                                 ett_h450_3_ARG_cfnrDivertedLegFailed, h450_3_ARG_cfnrDivertedLegFailed_choice,
2183
0
                                 NULL);
2184
2185
0
  return offset;
2186
0
}
2187
2188
2189
2190
static unsigned
2191
0
dissect_h450_3_BOOLEAN(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2192
0
  offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);
2193
2194
0
  return offset;
2195
0
}
2196
2197
2198
static const value_string h450_3_IntResult_extension_vals[] = {
2199
  {   0, "extensionSeq" },
2200
  {   1, "nonStandardData" },
2201
  { 0, NULL }
2202
};
2203
2204
static const per_choice_t h450_3_IntResult_extension_choice[] = {
2205
  {   0, &hf_h450_3_extensionSeq , ASN1_NO_EXTENSIONS     , dissect_h450_3_ExtensionSeq },
2206
  {   1, &hf_h450_3_nonStandardData, ASN1_NO_EXTENSIONS     , dissect_h225_NonStandardParameter },
2207
  { 0, NULL, 0, NULL }
2208
};
2209
2210
static unsigned
2211
0
dissect_h450_3_IntResult_extension(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2212
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2213
0
                                 ett_h450_3_IntResult_extension, h450_3_IntResult_extension_choice,
2214
0
                                 NULL);
2215
2216
0
  return offset;
2217
0
}
2218
2219
2220
static const per_sequence_t h450_3_IntResult_sequence[] = {
2221
  { &hf_h450_3_servedUserNr , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
2222
  { &hf_h450_3_basicService , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_3_BasicService },
2223
  { &hf_h450_3_procedure    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_3_Procedure },
2224
  { &hf_h450_3_divertedToAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
2225
  { &hf_h450_3_remoteEnabled, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_3_BOOLEAN },
2226
  { &hf_h450_3_intResult_extension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_3_IntResult_extension },
2227
  { NULL, 0, 0, NULL }
2228
};
2229
2230
static unsigned
2231
0
dissect_h450_3_IntResult(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2232
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2233
0
                                   ett_h450_3_IntResult, h450_3_IntResult_sequence);
2234
2235
0
  return offset;
2236
0
}
2237
2238
2239
static const per_sequence_t h450_3_IntResultList_set_of[1] = {
2240
  { &hf_h450_3_IntResultList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h450_3_IntResult },
2241
};
2242
2243
static unsigned
2244
0
dissect_h450_3_IntResultList(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2245
0
  offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
2246
0
                                             ett_h450_3_IntResultList, h450_3_IntResultList_set_of,
2247
0
                                             0, 29, false);
2248
2249
0
  return offset;
2250
0
}
2251
2252
2253
static const value_string h450_3_PAR_unspecified_vals[] = {
2254
  {   0, "extension" },
2255
  {   1, "nonStandard" },
2256
  { 0, NULL }
2257
};
2258
2259
static const per_choice_t h450_3_PAR_unspecified_choice[] = {
2260
  {   0, &hf_h450_3_unspecified_extension, ASN1_NO_EXTENSIONS     , dissect_h450_Extension },
2261
  {   1, &hf_h450_3_nonStandard  , ASN1_NO_EXTENSIONS     , dissect_h225_NonStandardParameter },
2262
  { 0, NULL, 0, NULL }
2263
};
2264
2265
static unsigned
2266
0
dissect_h450_3_PAR_unspecified(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2267
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2268
0
                                 ett_h450_3_PAR_unspecified, h450_3_PAR_unspecified_choice,
2269
0
                                 NULL);
2270
2271
0
  return offset;
2272
0
}
2273
2274
/*--- PDUs ---*/
2275
2276
0
static int dissect_h450_3_ARG_activateDiversionQ_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
2277
0
  unsigned offset = 0;
2278
0
  asn1_ctx_t asn1_ctx;
2279
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
2280
0
  offset = dissect_h450_3_ARG_activateDiversionQ(tvb, offset, &asn1_ctx, tree, hf_h450_3_h450_3_ARG_activateDiversionQ_PDU);
2281
0
  offset += 7; offset >>= 3;
2282
0
  return offset;
2283
0
}
2284
0
static int dissect_h450_3_RES_activateDiversionQ_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
2285
0
  unsigned offset = 0;
2286
0
  asn1_ctx_t asn1_ctx;
2287
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
2288
0
  offset = dissect_h450_3_RES_activateDiversionQ(tvb, offset, &asn1_ctx, tree, hf_h450_3_h450_3_RES_activateDiversionQ_PDU);
2289
0
  offset += 7; offset >>= 3;
2290
0
  return offset;
2291
0
}
2292
0
static int dissect_h450_3_ARG_deactivateDiversionQ_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
2293
0
  unsigned offset = 0;
2294
0
  asn1_ctx_t asn1_ctx;
2295
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
2296
0
  offset = dissect_h450_3_ARG_deactivateDiversionQ(tvb, offset, &asn1_ctx, tree, hf_h450_3_h450_3_ARG_deactivateDiversionQ_PDU);
2297
0
  offset += 7; offset >>= 3;
2298
0
  return offset;
2299
0
}
2300
0
static int dissect_h450_3_RES_deactivateDiversionQ_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
2301
0
  unsigned offset = 0;
2302
0
  asn1_ctx_t asn1_ctx;
2303
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
2304
0
  offset = dissect_h450_3_RES_deactivateDiversionQ(tvb, offset, &asn1_ctx, tree, hf_h450_3_h450_3_RES_deactivateDiversionQ_PDU);
2305
0
  offset += 7; offset >>= 3;
2306
0
  return offset;
2307
0
}
2308
0
static int dissect_h450_3_ARG_interrogateDiversionQ_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
2309
0
  unsigned offset = 0;
2310
0
  asn1_ctx_t asn1_ctx;
2311
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
2312
0
  offset = dissect_h450_3_ARG_interrogateDiversionQ(tvb, offset, &asn1_ctx, tree, hf_h450_3_h450_3_ARG_interrogateDiversionQ_PDU);
2313
0
  offset += 7; offset >>= 3;
2314
0
  return offset;
2315
0
}
2316
0
static int dissect_h450_3_IntResultList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
2317
0
  unsigned offset = 0;
2318
0
  asn1_ctx_t asn1_ctx;
2319
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
2320
0
  offset = dissect_h450_3_IntResultList(tvb, offset, &asn1_ctx, tree, hf_h450_3_h450_3_IntResultList_PDU);
2321
0
  offset += 7; offset >>= 3;
2322
0
  return offset;
2323
0
}
2324
0
static int dissect_h450_3_ARG_checkRestriction_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
2325
0
  unsigned offset = 0;
2326
0
  asn1_ctx_t asn1_ctx;
2327
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
2328
0
  offset = dissect_h450_3_ARG_checkRestriction(tvb, offset, &asn1_ctx, tree, hf_h450_3_h450_3_ARG_checkRestriction_PDU);
2329
0
  offset += 7; offset >>= 3;
2330
0
  return offset;
2331
0
}
2332
0
static int dissect_h450_3_RES_checkRestriction_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
2333
0
  unsigned offset = 0;
2334
0
  asn1_ctx_t asn1_ctx;
2335
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
2336
0
  offset = dissect_h450_3_RES_checkRestriction(tvb, offset, &asn1_ctx, tree, hf_h450_3_h450_3_RES_checkRestriction_PDU);
2337
0
  offset += 7; offset >>= 3;
2338
0
  return offset;
2339
0
}
2340
0
static int dissect_h450_3_ARG_callRerouting_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
2341
0
  unsigned offset = 0;
2342
0
  asn1_ctx_t asn1_ctx;
2343
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
2344
0
  offset = dissect_h450_3_ARG_callRerouting(tvb, offset, &asn1_ctx, tree, hf_h450_3_h450_3_ARG_callRerouting_PDU);
2345
0
  offset += 7; offset >>= 3;
2346
0
  return offset;
2347
0
}
2348
0
static int dissect_h450_3_RES_callRerouting_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
2349
0
  unsigned offset = 0;
2350
0
  asn1_ctx_t asn1_ctx;
2351
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
2352
0
  offset = dissect_h450_3_RES_callRerouting(tvb, offset, &asn1_ctx, tree, hf_h450_3_h450_3_RES_callRerouting_PDU);
2353
0
  offset += 7; offset >>= 3;
2354
0
  return offset;
2355
0
}
2356
0
static int dissect_h450_3_ARG_divertingLegInformation1_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
2357
0
  unsigned offset = 0;
2358
0
  asn1_ctx_t asn1_ctx;
2359
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
2360
0
  offset = dissect_h450_3_ARG_divertingLegInformation1(tvb, offset, &asn1_ctx, tree, hf_h450_3_h450_3_ARG_divertingLegInformation1_PDU);
2361
0
  offset += 7; offset >>= 3;
2362
0
  return offset;
2363
0
}
2364
0
static int dissect_h450_3_ARG_divertingLegInformation2_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
2365
0
  unsigned offset = 0;
2366
0
  asn1_ctx_t asn1_ctx;
2367
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
2368
0
  offset = dissect_h450_3_ARG_divertingLegInformation2(tvb, offset, &asn1_ctx, tree, hf_h450_3_h450_3_ARG_divertingLegInformation2_PDU);
2369
0
  offset += 7; offset >>= 3;
2370
0
  return offset;
2371
0
}
2372
0
static int dissect_h450_3_ARG_divertingLegInformation3_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
2373
0
  unsigned offset = 0;
2374
0
  asn1_ctx_t asn1_ctx;
2375
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
2376
0
  offset = dissect_h450_3_ARG_divertingLegInformation3(tvb, offset, &asn1_ctx, tree, hf_h450_3_h450_3_ARG_divertingLegInformation3_PDU);
2377
0
  offset += 7; offset >>= 3;
2378
0
  return offset;
2379
0
}
2380
0
static int dissect_h450_3_ARG_divertingLegInformation4_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
2381
0
  unsigned offset = 0;
2382
0
  asn1_ctx_t asn1_ctx;
2383
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
2384
0
  offset = dissect_h450_3_ARG_divertingLegInformation4(tvb, offset, &asn1_ctx, tree, hf_h450_3_h450_3_ARG_divertingLegInformation4_PDU);
2385
0
  offset += 7; offset >>= 3;
2386
0
  return offset;
2387
0
}
2388
0
static int dissect_h450_3_ARG_cfnrDivertedLegFailed_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
2389
0
  unsigned offset = 0;
2390
0
  asn1_ctx_t asn1_ctx;
2391
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
2392
0
  offset = dissect_h450_3_ARG_cfnrDivertedLegFailed(tvb, offset, &asn1_ctx, tree, hf_h450_3_h450_3_ARG_cfnrDivertedLegFailed_PDU);
2393
0
  offset += 7; offset >>= 3;
2394
0
  return offset;
2395
0
}
2396
0
static int dissect_h450_3_PAR_unspecified_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
2397
0
  unsigned offset = 0;
2398
0
  asn1_ctx_t asn1_ctx;
2399
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
2400
0
  offset = dissect_h450_3_PAR_unspecified(tvb, offset, &asn1_ctx, tree, hf_h450_3_h450_3_PAR_unspecified_PDU);
2401
0
  offset += 7; offset >>= 3;
2402
0
  return offset;
2403
0
}
2404
2405
2406
/* --- Module Call-Hold-Operations --- --- ---                                */
2407
2408
2409
static const value_string h450_4_MixedExtension_vals[] = {
2410
  {   0, "extension" },
2411
  {   1, "nonStandardData" },
2412
  { 0, NULL }
2413
};
2414
2415
static const per_choice_t h450_4_MixedExtension_choice[] = {
2416
  {   0, &hf_h450_4_mixedExtension_extension, ASN1_NO_EXTENSIONS     , dissect_h450_Extension },
2417
  {   1, &hf_h450_4_nonStandardData, ASN1_NO_EXTENSIONS     , dissect_h225_NonStandardParameter },
2418
  { 0, NULL, 0, NULL }
2419
};
2420
2421
static unsigned
2422
0
dissect_h450_4_MixedExtension(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2423
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2424
0
                                 ett_h450_4_MixedExtension, h450_4_MixedExtension_choice,
2425
0
                                 NULL);
2426
2427
0
  return offset;
2428
0
}
2429
2430
2431
static const per_sequence_t h450_4_SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of[1] = {
2432
  { &hf_h450_4_holdNotificArg_extensionArg_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h450_4_MixedExtension },
2433
};
2434
2435
static unsigned
2436
0
dissect_h450_4_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2437
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2438
0
                                                  ett_h450_4_SEQUENCE_SIZE_0_255_OF_MixedExtension, h450_4_SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of,
2439
0
                                                  0, 255, false);
2440
2441
0
  return offset;
2442
0
}
2443
2444
2445
static const per_sequence_t h450_4_HoldNotificArg_sequence[] = {
2446
  { &hf_h450_4_holdNotificArg_extensionArg, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_4_SEQUENCE_SIZE_0_255_OF_MixedExtension },
2447
  { NULL, 0, 0, NULL }
2448
};
2449
2450
static unsigned
2451
0
dissect_h450_4_HoldNotificArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2452
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2453
0
                                   ett_h450_4_HoldNotificArg, h450_4_HoldNotificArg_sequence);
2454
2455
0
  return offset;
2456
0
}
2457
2458
2459
static const per_sequence_t h450_4_RetrieveNotificArg_sequence[] = {
2460
  { &hf_h450_4_retrieveNotificArg_extensionArg, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_4_SEQUENCE_SIZE_0_255_OF_MixedExtension },
2461
  { NULL, 0, 0, NULL }
2462
};
2463
2464
static unsigned
2465
0
dissect_h450_4_RetrieveNotificArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2466
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2467
0
                                   ett_h450_4_RetrieveNotificArg, h450_4_RetrieveNotificArg_sequence);
2468
2469
0
  return offset;
2470
0
}
2471
2472
2473
static const per_sequence_t h450_4_RemoteHoldArg_sequence[] = {
2474
  { &hf_h450_4_remoteHoldArg_extensionArg, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_4_SEQUENCE_SIZE_0_255_OF_MixedExtension },
2475
  { NULL, 0, 0, NULL }
2476
};
2477
2478
static unsigned
2479
0
dissect_h450_4_RemoteHoldArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2480
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2481
0
                                   ett_h450_4_RemoteHoldArg, h450_4_RemoteHoldArg_sequence);
2482
2483
0
  return offset;
2484
0
}
2485
2486
2487
static const per_sequence_t h450_4_RemoteHoldRes_sequence[] = {
2488
  { &hf_h450_4_extensionRes , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_4_SEQUENCE_SIZE_0_255_OF_MixedExtension },
2489
  { NULL, 0, 0, NULL }
2490
};
2491
2492
static unsigned
2493
0
dissect_h450_4_RemoteHoldRes(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2494
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2495
0
                                   ett_h450_4_RemoteHoldRes, h450_4_RemoteHoldRes_sequence);
2496
2497
0
  return offset;
2498
0
}
2499
2500
2501
static const per_sequence_t h450_4_RemoteRetrieveArg_sequence[] = {
2502
  { &hf_h450_4_remoteRetrieveArg_extensionArg, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_4_SEQUENCE_SIZE_0_255_OF_MixedExtension },
2503
  { NULL, 0, 0, NULL }
2504
};
2505
2506
static unsigned
2507
0
dissect_h450_4_RemoteRetrieveArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2508
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2509
0
                                   ett_h450_4_RemoteRetrieveArg, h450_4_RemoteRetrieveArg_sequence);
2510
2511
0
  return offset;
2512
0
}
2513
2514
2515
static const per_sequence_t h450_4_RemoteRetrieveRes_sequence[] = {
2516
  { &hf_h450_4_extensionRes , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_4_SEQUENCE_SIZE_0_255_OF_MixedExtension },
2517
  { NULL, 0, 0, NULL }
2518
};
2519
2520
static unsigned
2521
0
dissect_h450_4_RemoteRetrieveRes(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2522
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2523
0
                                   ett_h450_4_RemoteRetrieveRes, h450_4_RemoteRetrieveRes_sequence);
2524
2525
0
  return offset;
2526
0
}
2527
2528
2529
static const per_sequence_t h450_4_PAR_undefined_sequence_of[1] = {
2530
  { &hf_h450_4_PAR_undefined_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h450_4_MixedExtension },
2531
};
2532
2533
static unsigned
2534
0
dissect_h450_4_PAR_undefined(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2535
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2536
0
                                                  ett_h450_4_PAR_undefined, h450_4_PAR_undefined_sequence_of,
2537
0
                                                  0, 255, false);
2538
2539
0
  return offset;
2540
0
}
2541
2542
/*--- PDUs ---*/
2543
2544
0
static int dissect_h450_4_HoldNotificArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
2545
0
  unsigned offset = 0;
2546
0
  asn1_ctx_t asn1_ctx;
2547
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
2548
0
  offset = dissect_h450_4_HoldNotificArg(tvb, offset, &asn1_ctx, tree, hf_h450_4_h450_4_HoldNotificArg_PDU);
2549
0
  offset += 7; offset >>= 3;
2550
0
  return offset;
2551
0
}
2552
0
static int dissect_h450_4_RetrieveNotificArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
2553
0
  unsigned offset = 0;
2554
0
  asn1_ctx_t asn1_ctx;
2555
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
2556
0
  offset = dissect_h450_4_RetrieveNotificArg(tvb, offset, &asn1_ctx, tree, hf_h450_4_h450_4_RetrieveNotificArg_PDU);
2557
0
  offset += 7; offset >>= 3;
2558
0
  return offset;
2559
0
}
2560
0
static int dissect_h450_4_RemoteHoldArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
2561
0
  unsigned offset = 0;
2562
0
  asn1_ctx_t asn1_ctx;
2563
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
2564
0
  offset = dissect_h450_4_RemoteHoldArg(tvb, offset, &asn1_ctx, tree, hf_h450_4_h450_4_RemoteHoldArg_PDU);
2565
0
  offset += 7; offset >>= 3;
2566
0
  return offset;
2567
0
}
2568
0
static int dissect_h450_4_RemoteHoldRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
2569
0
  unsigned offset = 0;
2570
0
  asn1_ctx_t asn1_ctx;
2571
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
2572
0
  offset = dissect_h450_4_RemoteHoldRes(tvb, offset, &asn1_ctx, tree, hf_h450_4_h450_4_RemoteHoldRes_PDU);
2573
0
  offset += 7; offset >>= 3;
2574
0
  return offset;
2575
0
}
2576
0
static int dissect_h450_4_RemoteRetrieveArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
2577
0
  unsigned offset = 0;
2578
0
  asn1_ctx_t asn1_ctx;
2579
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
2580
0
  offset = dissect_h450_4_RemoteRetrieveArg(tvb, offset, &asn1_ctx, tree, hf_h450_4_h450_4_RemoteRetrieveArg_PDU);
2581
0
  offset += 7; offset >>= 3;
2582
0
  return offset;
2583
0
}
2584
0
static int dissect_h450_4_RemoteRetrieveRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
2585
0
  unsigned offset = 0;
2586
0
  asn1_ctx_t asn1_ctx;
2587
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
2588
0
  offset = dissect_h450_4_RemoteRetrieveRes(tvb, offset, &asn1_ctx, tree, hf_h450_4_h450_4_RemoteRetrieveRes_PDU);
2589
0
  offset += 7; offset >>= 3;
2590
0
  return offset;
2591
0
}
2592
0
static int dissect_h450_4_PAR_undefined_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
2593
0
  unsigned offset = 0;
2594
0
  asn1_ctx_t asn1_ctx;
2595
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
2596
0
  offset = dissect_h450_4_PAR_undefined(tvb, offset, &asn1_ctx, tree, hf_h450_4_h450_4_PAR_undefined_PDU);
2597
0
  offset += 7; offset >>= 3;
2598
0
  return offset;
2599
0
}
2600
2601
2602
/* --- Module Call-Park-Pickup-Operations --- --- ---                         */
2603
2604
2605
2606
static unsigned
2607
0
dissect_h450_5_ParkedToPosition(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2608
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2609
0
                                                            0U, 65535U, NULL, false);
2610
2611
0
  return offset;
2612
0
}
2613
2614
2615
static const per_sequence_t h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of[1] = {
2616
  { &hf_h450_5_cpRequestArg_extensionArg_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h450_4_MixedExtension },
2617
};
2618
2619
static unsigned
2620
0
dissect_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2621
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2622
0
                                                  ett_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension, h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of,
2623
0
                                                  0, 255, false);
2624
2625
0
  return offset;
2626
0
}
2627
2628
2629
static const per_sequence_t h450_5_CpRequestArg_sequence[] = {
2630
  { &hf_h450_5_parkingNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
2631
  { &hf_h450_5_parkedNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
2632
  { &hf_h450_5_parkedToNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
2633
  { &hf_h450_5_parkedToPosition, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_5_ParkedToPosition },
2634
  { &hf_h450_5_cpRequestArg_extensionArg, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension },
2635
  { NULL, 0, 0, NULL }
2636
};
2637
2638
static unsigned
2639
0
dissect_h450_5_CpRequestArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2640
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2641
0
                                   ett_h450_5_CpRequestArg, h450_5_CpRequestArg_sequence);
2642
2643
0
  return offset;
2644
0
}
2645
2646
2647
static const value_string h450_5_ParkCondition_vals[] = {
2648
  {   0, "unspecified" },
2649
  {   1, "parkedToUserIdle" },
2650
  {   2, "parkedToUserBusy" },
2651
  {   3, "parkedToGroup" },
2652
  { 0, NULL }
2653
};
2654
2655
2656
static unsigned
2657
0
dissect_h450_5_ParkCondition(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2658
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2659
0
                                     4, NULL, true, 0, NULL);
2660
2661
0
  return offset;
2662
0
}
2663
2664
2665
static const per_sequence_t h450_5_CpRequestRes_sequence[] = {
2666
  { &hf_h450_5_parkedToNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
2667
  { &hf_h450_5_parkedToPosition, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_5_ParkedToPosition },
2668
  { &hf_h450_5_parkCondition, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_5_ParkCondition },
2669
  { &hf_h450_5_extensionRes , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension },
2670
  { NULL, 0, 0, NULL }
2671
};
2672
2673
static unsigned
2674
0
dissect_h450_5_CpRequestRes(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2675
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2676
0
                                   ett_h450_5_CpRequestRes, h450_5_CpRequestRes_sequence);
2677
2678
0
  return offset;
2679
0
}
2680
2681
2682
static const per_sequence_t h450_5_CpSetupArg_sequence[] = {
2683
  { &hf_h450_5_parkingNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
2684
  { &hf_h450_5_parkedNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
2685
  { &hf_h450_5_parkedToNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
2686
  { &hf_h450_5_parkedToPosition, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_5_ParkedToPosition },
2687
  { &hf_h450_5_cpSetupArg_extensionArg, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension },
2688
  { NULL, 0, 0, NULL }
2689
};
2690
2691
static unsigned
2692
0
dissect_h450_5_CpSetupArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2693
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2694
0
                                   ett_h450_5_CpSetupArg, h450_5_CpSetupArg_sequence);
2695
2696
0
  return offset;
2697
0
}
2698
2699
2700
static const per_sequence_t h450_5_CpSetupRes_sequence[] = {
2701
  { &hf_h450_5_parkedToNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
2702
  { &hf_h450_5_parkedToPosition, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_5_ParkedToPosition },
2703
  { &hf_h450_5_parkCondition, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_5_ParkCondition },
2704
  { &hf_h450_5_extensionRes , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension },
2705
  { NULL, 0, 0, NULL }
2706
};
2707
2708
static unsigned
2709
0
dissect_h450_5_CpSetupRes(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2710
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2711
0
                                   ett_h450_5_CpSetupRes, h450_5_CpSetupRes_sequence);
2712
2713
0
  return offset;
2714
0
}
2715
2716
2717
static const value_string h450_5_CallType_vals[] = {
2718
  {   0, "parkedCall" },
2719
  {   1, "alertingCall" },
2720
  { 0, NULL }
2721
};
2722
2723
2724
static unsigned
2725
0
dissect_h450_5_CallType(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2726
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2727
0
                                     2, NULL, true, 0, NULL);
2728
2729
0
  return offset;
2730
0
}
2731
2732
2733
static const per_sequence_t h450_5_GroupIndicationOnArg_sequence[] = {
2734
  { &hf_h450_5_callPickupId , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
2735
  { &hf_h450_5_groupMemberUserNr, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
2736
  { &hf_h450_5_retrieveCallType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_5_CallType },
2737
  { &hf_h450_5_partyToRetrieve, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
2738
  { &hf_h450_5_retrieveAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
2739
  { &hf_h450_5_parkPosition , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_5_ParkedToPosition },
2740
  { &hf_h450_5_groupIndicationOnArg_extensionArg, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension },
2741
  { NULL, 0, 0, NULL }
2742
};
2743
2744
static unsigned
2745
0
dissect_h450_5_GroupIndicationOnArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2746
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2747
0
                                   ett_h450_5_GroupIndicationOnArg, h450_5_GroupIndicationOnArg_sequence);
2748
2749
0
  return offset;
2750
0
}
2751
2752
2753
static const per_sequence_t h450_5_GroupIndicationOnRes_sequence[] = {
2754
  { &hf_h450_5_extensionRes , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension },
2755
  { NULL, 0, 0, NULL }
2756
};
2757
2758
static unsigned
2759
0
dissect_h450_5_GroupIndicationOnRes(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2760
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2761
0
                                   ett_h450_5_GroupIndicationOnRes, h450_5_GroupIndicationOnRes_sequence);
2762
2763
0
  return offset;
2764
0
}
2765
2766
2767
static const per_sequence_t h450_5_GroupIndicationOffArg_sequence[] = {
2768
  { &hf_h450_5_callPickupId , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
2769
  { &hf_h450_5_groupMemberUserNr, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
2770
  { &hf_h450_5_groupIndicationOffArg_extensionArg, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension },
2771
  { NULL, 0, 0, NULL }
2772
};
2773
2774
static unsigned
2775
0
dissect_h450_5_GroupIndicationOffArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2776
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2777
0
                                   ett_h450_5_GroupIndicationOffArg, h450_5_GroupIndicationOffArg_sequence);
2778
2779
0
  return offset;
2780
0
}
2781
2782
2783
static const per_sequence_t h450_5_GroupIndicationOffRes_sequence[] = {
2784
  { &hf_h450_5_extensionRes , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension },
2785
  { NULL, 0, 0, NULL }
2786
};
2787
2788
static unsigned
2789
0
dissect_h450_5_GroupIndicationOffRes(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2790
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2791
0
                                   ett_h450_5_GroupIndicationOffRes, h450_5_GroupIndicationOffRes_sequence);
2792
2793
0
  return offset;
2794
0
}
2795
2796
2797
static const per_sequence_t h450_5_PickrequArg_sequence[] = {
2798
  { &hf_h450_5_picking_upNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
2799
  { &hf_h450_5_callPickupId , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_CallIdentifier },
2800
  { &hf_h450_5_partyToRetrieve, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_EndpointAddress },
2801
  { &hf_h450_5_retrieveAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
2802
  { &hf_h450_5_parkPosition , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_5_ParkedToPosition },
2803
  { &hf_h450_5_pickrequArg_extensionArg, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension },
2804
  { NULL, 0, 0, NULL }
2805
};
2806
2807
static unsigned
2808
0
dissect_h450_5_PickrequArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2809
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2810
0
                                   ett_h450_5_PickrequArg, h450_5_PickrequArg_sequence);
2811
2812
0
  return offset;
2813
0
}
2814
2815
2816
static const per_sequence_t h450_5_PickrequRes_sequence[] = {
2817
  { &hf_h450_5_callPickupId , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
2818
  { &hf_h450_5_extensionRes , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension },
2819
  { NULL, 0, 0, NULL }
2820
};
2821
2822
static unsigned
2823
0
dissect_h450_5_PickrequRes(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2824
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2825
0
                                   ett_h450_5_PickrequRes, h450_5_PickrequRes_sequence);
2826
2827
0
  return offset;
2828
0
}
2829
2830
2831
static const per_sequence_t h450_5_PickupArg_sequence[] = {
2832
  { &hf_h450_5_callPickupId , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
2833
  { &hf_h450_5_picking_upNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
2834
  { &hf_h450_5_pickupArg_extensionArg, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension },
2835
  { NULL, 0, 0, NULL }
2836
};
2837
2838
static unsigned
2839
0
dissect_h450_5_PickupArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2840
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2841
0
                                   ett_h450_5_PickupArg, h450_5_PickupArg_sequence);
2842
2843
0
  return offset;
2844
0
}
2845
2846
2847
static const per_sequence_t h450_5_PickupRes_sequence[] = {
2848
  { &hf_h450_5_extensionRes , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension },
2849
  { NULL, 0, 0, NULL }
2850
};
2851
2852
static unsigned
2853
0
dissect_h450_5_PickupRes(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2854
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2855
0
                                   ett_h450_5_PickupRes, h450_5_PickupRes_sequence);
2856
2857
0
  return offset;
2858
0
}
2859
2860
2861
static const per_sequence_t h450_5_PickExeArg_sequence[] = {
2862
  { &hf_h450_5_callPickupId , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
2863
  { &hf_h450_5_picking_upNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
2864
  { &hf_h450_5_partyToRetrieve, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
2865
  { &hf_h450_5_pickExeArg_extensionArg, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension },
2866
  { NULL, 0, 0, NULL }
2867
};
2868
2869
static unsigned
2870
0
dissect_h450_5_PickExeArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2871
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2872
0
                                   ett_h450_5_PickExeArg, h450_5_PickExeArg_sequence);
2873
2874
0
  return offset;
2875
0
}
2876
2877
2878
static const per_sequence_t h450_5_PickExeRes_sequence[] = {
2879
  { &hf_h450_5_extensionRes , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension },
2880
  { NULL, 0, 0, NULL }
2881
};
2882
2883
static unsigned
2884
0
dissect_h450_5_PickExeRes(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2885
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2886
0
                                   ett_h450_5_PickExeRes, h450_5_PickExeRes_sequence);
2887
2888
0
  return offset;
2889
0
}
2890
2891
2892
static const per_sequence_t h450_5_CpNotifyArg_sequence[] = {
2893
  { &hf_h450_5_parkingNumber, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_EndpointAddress },
2894
  { &hf_h450_5_cpNotifyArg_extensionArg, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension },
2895
  { NULL, 0, 0, NULL }
2896
};
2897
2898
static unsigned
2899
0
dissect_h450_5_CpNotifyArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2900
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2901
0
                                   ett_h450_5_CpNotifyArg, h450_5_CpNotifyArg_sequence);
2902
2903
0
  return offset;
2904
0
}
2905
2906
2907
static const per_sequence_t h450_5_CpickupNotifyArg_sequence[] = {
2908
  { &hf_h450_5_picking_upNumber, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_EndpointAddress },
2909
  { &hf_h450_5_cpickupNotifyArg_extensionArg, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension },
2910
  { NULL, 0, 0, NULL }
2911
};
2912
2913
static unsigned
2914
0
dissect_h450_5_CpickupNotifyArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2915
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2916
0
                                   ett_h450_5_CpickupNotifyArg, h450_5_CpickupNotifyArg_sequence);
2917
2918
0
  return offset;
2919
0
}
2920
2921
2922
static const per_sequence_t h450_5_PAR_undefined_sequence_of[1] = {
2923
  { &hf_h450_5_PAR_undefined_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h450_4_MixedExtension },
2924
};
2925
2926
static unsigned
2927
0
dissect_h450_5_PAR_undefined(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2928
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2929
0
                                                  ett_h450_5_PAR_undefined, h450_5_PAR_undefined_sequence_of,
2930
0
                                                  0, 255, false);
2931
2932
0
  return offset;
2933
0
}
2934
2935
/*--- PDUs ---*/
2936
2937
0
static int dissect_h450_5_CpRequestArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
2938
0
  unsigned offset = 0;
2939
0
  asn1_ctx_t asn1_ctx;
2940
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
2941
0
  offset = dissect_h450_5_CpRequestArg(tvb, offset, &asn1_ctx, tree, hf_h450_5_h450_5_CpRequestArg_PDU);
2942
0
  offset += 7; offset >>= 3;
2943
0
  return offset;
2944
0
}
2945
0
static int dissect_h450_5_CpRequestRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
2946
0
  unsigned offset = 0;
2947
0
  asn1_ctx_t asn1_ctx;
2948
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
2949
0
  offset = dissect_h450_5_CpRequestRes(tvb, offset, &asn1_ctx, tree, hf_h450_5_h450_5_CpRequestRes_PDU);
2950
0
  offset += 7; offset >>= 3;
2951
0
  return offset;
2952
0
}
2953
0
static int dissect_h450_5_CpSetupArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
2954
0
  unsigned offset = 0;
2955
0
  asn1_ctx_t asn1_ctx;
2956
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
2957
0
  offset = dissect_h450_5_CpSetupArg(tvb, offset, &asn1_ctx, tree, hf_h450_5_h450_5_CpSetupArg_PDU);
2958
0
  offset += 7; offset >>= 3;
2959
0
  return offset;
2960
0
}
2961
0
static int dissect_h450_5_CpSetupRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
2962
0
  unsigned offset = 0;
2963
0
  asn1_ctx_t asn1_ctx;
2964
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
2965
0
  offset = dissect_h450_5_CpSetupRes(tvb, offset, &asn1_ctx, tree, hf_h450_5_h450_5_CpSetupRes_PDU);
2966
0
  offset += 7; offset >>= 3;
2967
0
  return offset;
2968
0
}
2969
0
static int dissect_h450_5_GroupIndicationOnArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
2970
0
  unsigned offset = 0;
2971
0
  asn1_ctx_t asn1_ctx;
2972
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
2973
0
  offset = dissect_h450_5_GroupIndicationOnArg(tvb, offset, &asn1_ctx, tree, hf_h450_5_h450_5_GroupIndicationOnArg_PDU);
2974
0
  offset += 7; offset >>= 3;
2975
0
  return offset;
2976
0
}
2977
0
static int dissect_h450_5_GroupIndicationOnRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
2978
0
  unsigned offset = 0;
2979
0
  asn1_ctx_t asn1_ctx;
2980
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
2981
0
  offset = dissect_h450_5_GroupIndicationOnRes(tvb, offset, &asn1_ctx, tree, hf_h450_5_h450_5_GroupIndicationOnRes_PDU);
2982
0
  offset += 7; offset >>= 3;
2983
0
  return offset;
2984
0
}
2985
0
static int dissect_h450_5_GroupIndicationOffArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
2986
0
  unsigned offset = 0;
2987
0
  asn1_ctx_t asn1_ctx;
2988
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
2989
0
  offset = dissect_h450_5_GroupIndicationOffArg(tvb, offset, &asn1_ctx, tree, hf_h450_5_h450_5_GroupIndicationOffArg_PDU);
2990
0
  offset += 7; offset >>= 3;
2991
0
  return offset;
2992
0
}
2993
0
static int dissect_h450_5_GroupIndicationOffRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
2994
0
  unsigned offset = 0;
2995
0
  asn1_ctx_t asn1_ctx;
2996
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
2997
0
  offset = dissect_h450_5_GroupIndicationOffRes(tvb, offset, &asn1_ctx, tree, hf_h450_5_h450_5_GroupIndicationOffRes_PDU);
2998
0
  offset += 7; offset >>= 3;
2999
0
  return offset;
3000
0
}
3001
0
static int dissect_h450_5_PickrequArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3002
0
  unsigned offset = 0;
3003
0
  asn1_ctx_t asn1_ctx;
3004
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
3005
0
  offset = dissect_h450_5_PickrequArg(tvb, offset, &asn1_ctx, tree, hf_h450_5_h450_5_PickrequArg_PDU);
3006
0
  offset += 7; offset >>= 3;
3007
0
  return offset;
3008
0
}
3009
0
static int dissect_h450_5_PickrequRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3010
0
  unsigned offset = 0;
3011
0
  asn1_ctx_t asn1_ctx;
3012
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
3013
0
  offset = dissect_h450_5_PickrequRes(tvb, offset, &asn1_ctx, tree, hf_h450_5_h450_5_PickrequRes_PDU);
3014
0
  offset += 7; offset >>= 3;
3015
0
  return offset;
3016
0
}
3017
0
static int dissect_h450_5_PickupArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3018
0
  unsigned offset = 0;
3019
0
  asn1_ctx_t asn1_ctx;
3020
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
3021
0
  offset = dissect_h450_5_PickupArg(tvb, offset, &asn1_ctx, tree, hf_h450_5_h450_5_PickupArg_PDU);
3022
0
  offset += 7; offset >>= 3;
3023
0
  return offset;
3024
0
}
3025
0
static int dissect_h450_5_PickupRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3026
0
  unsigned offset = 0;
3027
0
  asn1_ctx_t asn1_ctx;
3028
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
3029
0
  offset = dissect_h450_5_PickupRes(tvb, offset, &asn1_ctx, tree, hf_h450_5_h450_5_PickupRes_PDU);
3030
0
  offset += 7; offset >>= 3;
3031
0
  return offset;
3032
0
}
3033
0
static int dissect_h450_5_PickExeArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3034
0
  unsigned offset = 0;
3035
0
  asn1_ctx_t asn1_ctx;
3036
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
3037
0
  offset = dissect_h450_5_PickExeArg(tvb, offset, &asn1_ctx, tree, hf_h450_5_h450_5_PickExeArg_PDU);
3038
0
  offset += 7; offset >>= 3;
3039
0
  return offset;
3040
0
}
3041
0
static int dissect_h450_5_PickExeRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3042
0
  unsigned offset = 0;
3043
0
  asn1_ctx_t asn1_ctx;
3044
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
3045
0
  offset = dissect_h450_5_PickExeRes(tvb, offset, &asn1_ctx, tree, hf_h450_5_h450_5_PickExeRes_PDU);
3046
0
  offset += 7; offset >>= 3;
3047
0
  return offset;
3048
0
}
3049
0
static int dissect_h450_5_CpNotifyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3050
0
  unsigned offset = 0;
3051
0
  asn1_ctx_t asn1_ctx;
3052
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
3053
0
  offset = dissect_h450_5_CpNotifyArg(tvb, offset, &asn1_ctx, tree, hf_h450_5_h450_5_CpNotifyArg_PDU);
3054
0
  offset += 7; offset >>= 3;
3055
0
  return offset;
3056
0
}
3057
0
static int dissect_h450_5_CpickupNotifyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3058
0
  unsigned offset = 0;
3059
0
  asn1_ctx_t asn1_ctx;
3060
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
3061
0
  offset = dissect_h450_5_CpickupNotifyArg(tvb, offset, &asn1_ctx, tree, hf_h450_5_h450_5_CpickupNotifyArg_PDU);
3062
0
  offset += 7; offset >>= 3;
3063
0
  return offset;
3064
0
}
3065
0
static int dissect_h450_5_PAR_undefined_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3066
0
  unsigned offset = 0;
3067
0
  asn1_ctx_t asn1_ctx;
3068
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
3069
0
  offset = dissect_h450_5_PAR_undefined(tvb, offset, &asn1_ctx, tree, hf_h450_5_h450_5_PAR_undefined_PDU);
3070
0
  offset += 7; offset >>= 3;
3071
0
  return offset;
3072
0
}
3073
3074
3075
/* --- Module Call-Waiting-Operations --- --- ---                             */
3076
3077
3078
3079
static unsigned
3080
0
dissect_h450_6_INTEGER_0_255(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3081
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3082
0
                                                            0U, 255U, NULL, false);
3083
3084
0
  return offset;
3085
0
}
3086
3087
3088
static const per_sequence_t h450_6_SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of[1] = {
3089
  { &hf_h450_6_callWaitingArg_extensionArg_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h450_4_MixedExtension },
3090
};
3091
3092
static unsigned
3093
0
dissect_h450_6_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3094
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3095
0
                                                  ett_h450_6_SEQUENCE_SIZE_0_255_OF_MixedExtension, h450_6_SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of,
3096
0
                                                  0, 255, false);
3097
3098
0
  return offset;
3099
0
}
3100
3101
3102
static const per_sequence_t h450_6_CallWaitingArg_sequence[] = {
3103
  { &hf_h450_6_nbOfAddWaitingCalls, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_6_INTEGER_0_255 },
3104
  { &hf_h450_6_callWaitingArg_extensionArg, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_6_SEQUENCE_SIZE_0_255_OF_MixedExtension },
3105
  { NULL, 0, 0, NULL }
3106
};
3107
3108
static unsigned
3109
0
dissect_h450_6_CallWaitingArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3110
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3111
0
                                   ett_h450_6_CallWaitingArg, h450_6_CallWaitingArg_sequence);
3112
3113
0
  return offset;
3114
0
}
3115
3116
/*--- PDUs ---*/
3117
3118
0
static int dissect_h450_6_CallWaitingArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3119
0
  unsigned offset = 0;
3120
0
  asn1_ctx_t asn1_ctx;
3121
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
3122
0
  offset = dissect_h450_6_CallWaitingArg(tvb, offset, &asn1_ctx, tree, hf_h450_6_h450_6_CallWaitingArg_PDU);
3123
0
  offset += 7; offset >>= 3;
3124
0
  return offset;
3125
0
}
3126
3127
3128
/* --- Module Message-Waiting-Indication-Operations --- --- ---               */
3129
3130
3131
static const value_string h450_7_BasicService_vals[] = {
3132
  {   0, "allServices" },
3133
  {   1, "speech" },
3134
  {   2, "unrestrictedDigitalInformation" },
3135
  {   3, "audio3100Hz" },
3136
  {  32, "telephony" },
3137
  {  33, "teletex" },
3138
  {  34, "telefaxGroup4Class1" },
3139
  {  35, "videotexSyntaxBased" },
3140
  {  36, "videotelephony" },
3141
  {  37, "telefaxGroup2-3" },
3142
  {  38, "reservedNotUsed1" },
3143
  {  39, "reservedNotUsed2" },
3144
  {  40, "reservedNotUsed3" },
3145
  {  41, "reservedNotUsed4" },
3146
  {  42, "reservedNotUsed5" },
3147
  {  51, "email" },
3148
  {  52, "video" },
3149
  {  53, "fileTransfer" },
3150
  {  54, "shortMessageService" },
3151
  {  55, "speechAndVideo" },
3152
  {  56, "speechAndFax" },
3153
  {  57, "speechAndEmail" },
3154
  {  58, "videoAndFax" },
3155
  {  59, "videoAndEmail" },
3156
  {  60, "faxAndEmail" },
3157
  {  61, "speechVideoAndFax" },
3158
  {  62, "speechVideoAndEmail" },
3159
  {  63, "speechFaxAndEmail" },
3160
  {  64, "videoFaxAndEmail" },
3161
  {  65, "speechVideoFaxAndEmail" },
3162
  {  66, "multimediaUnknown" },
3163
  {  67, "serviceUnknown" },
3164
  {  68, "futureReserve1" },
3165
  {  69, "futureReserve2" },
3166
  {  70, "futureReserve3" },
3167
  {  71, "futureReserve4" },
3168
  {  72, "futureReserve5" },
3169
  {  73, "futureReserve6" },
3170
  {  74, "futureReserve7" },
3171
  {  75, "futureReserve8" },
3172
  { 0, NULL }
3173
};
3174
3175
static const uint32_t h450_7_BasicService_value_map[40+0] = {0, 1, 2, 3, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75};
3176
3177
static unsigned
3178
0
dissect_h450_7_BasicService(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3179
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3180
0
                                     40, NULL, false, 0, h450_7_BasicService_value_map);
3181
3182
0
  return offset;
3183
0
}
3184
3185
3186
3187
static unsigned
3188
0
dissect_h450_7_INTEGER_0_65535(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3189
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3190
0
                                                            0U, 65535U, NULL, false);
3191
3192
0
  return offset;
3193
0
}
3194
3195
3196
3197
static unsigned
3198
0
dissect_h450_7_NumericString_SIZE_1_10(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3199
0
  offset = dissect_per_NumericString(tvb, offset, actx, tree, hf_index,
3200
0
                                          1, 10, false,
3201
0
                                          NULL);
3202
3203
0
  return offset;
3204
0
}
3205
3206
3207
static const value_string h450_7_MsgCentreId_vals[] = {
3208
  {   0, "integer" },
3209
  {   1, "partyNumber" },
3210
  {   2, "numericString" },
3211
  { 0, NULL }
3212
};
3213
3214
static const per_choice_t h450_7_MsgCentreId_choice[] = {
3215
  {   0, &hf_h450_7_integer      , ASN1_NO_EXTENSIONS     , dissect_h450_7_INTEGER_0_65535 },
3216
  {   1, &hf_h450_7_partyNumber  , ASN1_NO_EXTENSIONS     , dissect_h450_EndpointAddress },
3217
  {   2, &hf_h450_7_numericString, ASN1_NO_EXTENSIONS     , dissect_h450_7_NumericString_SIZE_1_10 },
3218
  { 0, NULL, 0, NULL }
3219
};
3220
3221
static unsigned
3222
0
dissect_h450_7_MsgCentreId(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3223
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3224
0
                                 ett_h450_7_MsgCentreId, h450_7_MsgCentreId_choice,
3225
0
                                 NULL);
3226
3227
0
  return offset;
3228
0
}
3229
3230
3231
3232
static unsigned
3233
0
dissect_h450_7_NbOfMessages(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3234
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3235
0
                                                            0U, 65535U, NULL, false);
3236
3237
0
  return offset;
3238
0
}
3239
3240
3241
3242
static unsigned
3243
0
dissect_h450_7_TimeStamp(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3244
0
  offset = dissect_per_VisibleString(tvb, offset, actx, tree, hf_index,
3245
0
                                        12, 19, false,
3246
0
                                        NULL);
3247
3248
0
  return offset;
3249
0
}
3250
3251
3252
3253
static unsigned
3254
0
dissect_h450_7_INTEGER_0_9(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3255
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3256
0
                                                            0U, 9U, NULL, false);
3257
3258
0
  return offset;
3259
0
}
3260
3261
3262
static const per_sequence_t h450_7_SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of[1] = {
3263
  { &hf_h450_7_mWIActivateArg_extensionArg_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h450_4_MixedExtension },
3264
};
3265
3266
static unsigned
3267
0
dissect_h450_7_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3268
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3269
0
                                                  ett_h450_7_SEQUENCE_SIZE_0_255_OF_MixedExtension, h450_7_SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of,
3270
0
                                                  0, 255, false);
3271
3272
0
  return offset;
3273
0
}
3274
3275
3276
static const per_sequence_t h450_7_MWIActivateArg_sequence[] = {
3277
  { &hf_h450_7_servedUserNr , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
3278
  { &hf_h450_7_basicService , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_7_BasicService },
3279
  { &hf_h450_7_msgCentreId  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_7_MsgCentreId },
3280
  { &hf_h450_7_nbOfMessages , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_7_NbOfMessages },
3281
  { &hf_h450_7_originatingNr, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_EndpointAddress },
3282
  { &hf_h450_7_timestamp    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_7_TimeStamp },
3283
  { &hf_h450_7_priority     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_7_INTEGER_0_9 },
3284
  { &hf_h450_7_mWIActivateArg_extensionArg, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_7_SEQUENCE_SIZE_0_255_OF_MixedExtension },
3285
  { NULL, 0, 0, NULL }
3286
};
3287
3288
static unsigned
3289
0
dissect_h450_7_MWIActivateArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3290
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3291
0
                                   ett_h450_7_MWIActivateArg, h450_7_MWIActivateArg_sequence);
3292
3293
0
  return offset;
3294
0
}
3295
3296
3297
static const per_sequence_t h450_7_DummyRes_sequence_of[1] = {
3298
  { &hf_h450_7_DummyRes_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h450_4_MixedExtension },
3299
};
3300
3301
static unsigned
3302
0
dissect_h450_7_DummyRes(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3303
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3304
0
                                                  ett_h450_7_DummyRes, h450_7_DummyRes_sequence_of,
3305
0
                                                  0, 255, false);
3306
3307
0
  return offset;
3308
0
}
3309
3310
3311
3312
static unsigned
3313
0
dissect_h450_7_BOOLEAN(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3314
0
  offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);
3315
3316
0
  return offset;
3317
0
}
3318
3319
3320
static const per_sequence_t h450_7_MWIDeactivateArg_sequence[] = {
3321
  { &hf_h450_7_servedUserNr , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
3322
  { &hf_h450_7_basicService , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_7_BasicService },
3323
  { &hf_h450_7_msgCentreId  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_7_MsgCentreId },
3324
  { &hf_h450_7_callbackReq  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_7_BOOLEAN },
3325
  { &hf_h450_7_mWIDeactivateArg_extensionArg, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_7_SEQUENCE_SIZE_0_255_OF_MixedExtension },
3326
  { NULL, 0, 0, NULL }
3327
};
3328
3329
static unsigned
3330
0
dissect_h450_7_MWIDeactivateArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3331
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3332
0
                                   ett_h450_7_MWIDeactivateArg, h450_7_MWIDeactivateArg_sequence);
3333
3334
0
  return offset;
3335
0
}
3336
3337
3338
static const per_sequence_t h450_7_MWIInterrogateArg_sequence[] = {
3339
  { &hf_h450_7_servedUserNr , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
3340
  { &hf_h450_7_basicService , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_7_BasicService },
3341
  { &hf_h450_7_msgCentreId  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_7_MsgCentreId },
3342
  { &hf_h450_7_callbackReq  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_7_BOOLEAN },
3343
  { &hf_h450_7_mWIInterrogateArg_extensionArg, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_7_SEQUENCE_SIZE_0_255_OF_MixedExtension },
3344
  { NULL, 0, 0, NULL }
3345
};
3346
3347
static unsigned
3348
0
dissect_h450_7_MWIInterrogateArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3349
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3350
0
                                   ett_h450_7_MWIInterrogateArg, h450_7_MWIInterrogateArg_sequence);
3351
3352
0
  return offset;
3353
0
}
3354
3355
3356
static const per_sequence_t h450_7_MWIInterrogateResElt_sequence[] = {
3357
  { &hf_h450_7_basicService , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_7_BasicService },
3358
  { &hf_h450_7_msgCentreId  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_7_MsgCentreId },
3359
  { &hf_h450_7_nbOfMessages , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_7_NbOfMessages },
3360
  { &hf_h450_7_originatingNr, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_EndpointAddress },
3361
  { &hf_h450_7_timestamp    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_7_TimeStamp },
3362
  { &hf_h450_7_priority     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_7_INTEGER_0_9 },
3363
  { &hf_h450_7_mWIInterrogateResElt_extensionArg, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_7_SEQUENCE_SIZE_0_255_OF_MixedExtension },
3364
  { NULL, 0, 0, NULL }
3365
};
3366
3367
static unsigned
3368
0
dissect_h450_7_MWIInterrogateResElt(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3369
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3370
0
                                   ett_h450_7_MWIInterrogateResElt, h450_7_MWIInterrogateResElt_sequence);
3371
3372
0
  return offset;
3373
0
}
3374
3375
3376
static const per_sequence_t h450_7_MWIInterrogateRes_sequence_of[1] = {
3377
  { &hf_h450_7_MWIInterrogateRes_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h450_7_MWIInterrogateResElt },
3378
};
3379
3380
static unsigned
3381
0
dissect_h450_7_MWIInterrogateRes(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3382
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3383
0
                                                  ett_h450_7_MWIInterrogateRes, h450_7_MWIInterrogateRes_sequence_of,
3384
0
                                                  1, 64, false);
3385
3386
0
  return offset;
3387
0
}
3388
3389
3390
static const per_sequence_t h450_7_PAR_undefined_sequence_of[1] = {
3391
  { &hf_h450_7_PAR_undefined_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h450_4_MixedExtension },
3392
};
3393
3394
static unsigned
3395
0
dissect_h450_7_PAR_undefined(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3396
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3397
0
                                                  ett_h450_7_PAR_undefined, h450_7_PAR_undefined_sequence_of,
3398
0
                                                  0, 255, false);
3399
3400
0
  return offset;
3401
0
}
3402
3403
/*--- PDUs ---*/
3404
3405
0
static int dissect_h450_7_MWIActivateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3406
0
  unsigned offset = 0;
3407
0
  asn1_ctx_t asn1_ctx;
3408
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
3409
0
  offset = dissect_h450_7_MWIActivateArg(tvb, offset, &asn1_ctx, tree, hf_h450_7_h450_7_MWIActivateArg_PDU);
3410
0
  offset += 7; offset >>= 3;
3411
0
  return offset;
3412
0
}
3413
0
static int dissect_h450_7_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3414
0
  unsigned offset = 0;
3415
0
  asn1_ctx_t asn1_ctx;
3416
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
3417
0
  offset = dissect_h450_7_DummyRes(tvb, offset, &asn1_ctx, tree, hf_h450_7_h450_7_DummyRes_PDU);
3418
0
  offset += 7; offset >>= 3;
3419
0
  return offset;
3420
0
}
3421
0
static int dissect_h450_7_MWIDeactivateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3422
0
  unsigned offset = 0;
3423
0
  asn1_ctx_t asn1_ctx;
3424
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
3425
0
  offset = dissect_h450_7_MWIDeactivateArg(tvb, offset, &asn1_ctx, tree, hf_h450_7_h450_7_MWIDeactivateArg_PDU);
3426
0
  offset += 7; offset >>= 3;
3427
0
  return offset;
3428
0
}
3429
0
static int dissect_h450_7_MWIInterrogateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3430
0
  unsigned offset = 0;
3431
0
  asn1_ctx_t asn1_ctx;
3432
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
3433
0
  offset = dissect_h450_7_MWIInterrogateArg(tvb, offset, &asn1_ctx, tree, hf_h450_7_h450_7_MWIInterrogateArg_PDU);
3434
0
  offset += 7; offset >>= 3;
3435
0
  return offset;
3436
0
}
3437
0
static int dissect_h450_7_MWIInterrogateRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3438
0
  unsigned offset = 0;
3439
0
  asn1_ctx_t asn1_ctx;
3440
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
3441
0
  offset = dissect_h450_7_MWIInterrogateRes(tvb, offset, &asn1_ctx, tree, hf_h450_7_h450_7_MWIInterrogateRes_PDU);
3442
0
  offset += 7; offset >>= 3;
3443
0
  return offset;
3444
0
}
3445
0
static int dissect_h450_7_PAR_undefined_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3446
0
  unsigned offset = 0;
3447
0
  asn1_ctx_t asn1_ctx;
3448
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
3449
0
  offset = dissect_h450_7_PAR_undefined(tvb, offset, &asn1_ctx, tree, hf_h450_7_h450_7_PAR_undefined_PDU);
3450
0
  offset += 7; offset >>= 3;
3451
0
  return offset;
3452
0
}
3453
3454
3455
/* --- Module Name-Operations --- --- ---                                     */
3456
3457
3458
3459
static unsigned
3460
0
dissect_h450_8_SimpleName(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3461
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3462
0
                                       1, 50, false, NULL);
3463
3464
0
  return offset;
3465
0
}
3466
3467
3468
3469
static unsigned
3470
0
dissect_h450_8_ExtendedName(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3471
0
  offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
3472
0
                                          1, 256, false);
3473
3474
0
  return offset;
3475
0
}
3476
3477
3478
static const value_string h450_8_NamePresentationAllowed_vals[] = {
3479
  {   0, "simpleName" },
3480
  {   1, "extendedName" },
3481
  { 0, NULL }
3482
};
3483
3484
static const per_choice_t h450_8_NamePresentationAllowed_choice[] = {
3485
  {   0, &hf_h450_8_simpleName   , ASN1_EXTENSION_ROOT    , dissect_h450_8_SimpleName },
3486
  {   1, &hf_h450_8_extendedName , ASN1_EXTENSION_ROOT    , dissect_h450_8_ExtendedName },
3487
  { 0, NULL, 0, NULL }
3488
};
3489
3490
static unsigned
3491
0
dissect_h450_8_NamePresentationAllowed(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3492
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3493
0
                                 ett_h450_8_NamePresentationAllowed, h450_8_NamePresentationAllowed_choice,
3494
0
                                 NULL);
3495
3496
0
  return offset;
3497
0
}
3498
3499
3500
3501
static unsigned
3502
0
dissect_h450_8_NULL(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3503
0
  offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
3504
3505
0
  return offset;
3506
0
}
3507
3508
3509
static const value_string h450_8_NamePresentationRestricted_vals[] = {
3510
  {   0, "simpleName" },
3511
  {   1, "extendedName" },
3512
  {   2, "restrictedNull" },
3513
  { 0, NULL }
3514
};
3515
3516
static const per_choice_t h450_8_NamePresentationRestricted_choice[] = {
3517
  {   0, &hf_h450_8_simpleName   , ASN1_EXTENSION_ROOT    , dissect_h450_8_SimpleName },
3518
  {   1, &hf_h450_8_extendedName , ASN1_EXTENSION_ROOT    , dissect_h450_8_ExtendedName },
3519
  {   2, &hf_h450_8_restrictedNull, ASN1_EXTENSION_ROOT    , dissect_h450_8_NULL },
3520
  { 0, NULL, 0, NULL }
3521
};
3522
3523
static unsigned
3524
0
dissect_h450_8_NamePresentationRestricted(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3525
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3526
0
                                 ett_h450_8_NamePresentationRestricted, h450_8_NamePresentationRestricted_choice,
3527
0
                                 NULL);
3528
3529
0
  return offset;
3530
0
}
3531
3532
3533
static const value_string h450_8_Name_vals[] = {
3534
  {   0, "namePresentationAllowed" },
3535
  {   1, "namePresentationRestricted" },
3536
  {   2, "nameNotAvailable" },
3537
  { 0, NULL }
3538
};
3539
3540
static const per_choice_t h450_8_Name_choice[] = {
3541
  {   0, &hf_h450_8_namePresentationAllowed, ASN1_EXTENSION_ROOT    , dissect_h450_8_NamePresentationAllowed },
3542
  {   1, &hf_h450_8_namePresentationRestricted, ASN1_EXTENSION_ROOT    , dissect_h450_8_NamePresentationRestricted },
3543
  {   2, &hf_h450_8_nameNotAvailable, ASN1_EXTENSION_ROOT    , dissect_h450_8_NULL },
3544
  { 0, NULL, 0, NULL }
3545
};
3546
3547
static unsigned
3548
0
dissect_h450_8_Name(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3549
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3550
0
                                 ett_h450_8_Name, h450_8_Name_choice,
3551
0
                                 NULL);
3552
3553
0
  return offset;
3554
0
}
3555
3556
3557
static const per_sequence_t h450_8_SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of[1] = {
3558
  { &hf_h450_8_extensionArg_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h450_4_MixedExtension },
3559
};
3560
3561
static unsigned
3562
0
dissect_h450_8_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3563
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3564
0
                                                  ett_h450_8_SEQUENCE_SIZE_0_255_OF_MixedExtension, h450_8_SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of,
3565
0
                                                  0, 255, false);
3566
3567
0
  return offset;
3568
0
}
3569
3570
3571
static const per_sequence_t h450_8_ARG_callingName_sequence[] = {
3572
  { &hf_h450_8_name         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_8_Name },
3573
  { &hf_h450_8_extensionArg , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_8_SEQUENCE_SIZE_0_255_OF_MixedExtension },
3574
  { NULL, 0, 0, NULL }
3575
};
3576
3577
static unsigned
3578
0
dissect_h450_8_ARG_callingName(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3579
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3580
0
                                   ett_h450_8_ARG_callingName, h450_8_ARG_callingName_sequence);
3581
3582
0
  return offset;
3583
0
}
3584
3585
3586
static const per_sequence_t h450_8_ARG_alertingName_sequence[] = {
3587
  { &hf_h450_8_name         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_8_Name },
3588
  { &hf_h450_8_extensionArg , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_8_SEQUENCE_SIZE_0_255_OF_MixedExtension },
3589
  { NULL, 0, 0, NULL }
3590
};
3591
3592
static unsigned
3593
0
dissect_h450_8_ARG_alertingName(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3594
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3595
0
                                   ett_h450_8_ARG_alertingName, h450_8_ARG_alertingName_sequence);
3596
3597
0
  return offset;
3598
0
}
3599
3600
3601
static const per_sequence_t h450_8_ARG_connectedName_sequence[] = {
3602
  { &hf_h450_8_name         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_8_Name },
3603
  { &hf_h450_8_extensionArg , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_8_SEQUENCE_SIZE_0_255_OF_MixedExtension },
3604
  { NULL, 0, 0, NULL }
3605
};
3606
3607
static unsigned
3608
0
dissect_h450_8_ARG_connectedName(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3609
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3610
0
                                   ett_h450_8_ARG_connectedName, h450_8_ARG_connectedName_sequence);
3611
3612
0
  return offset;
3613
0
}
3614
3615
3616
static const per_sequence_t h450_8_ARG_busyName_sequence[] = {
3617
  { &hf_h450_8_name         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_8_Name },
3618
  { &hf_h450_8_extensionArg , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_8_SEQUENCE_SIZE_0_255_OF_MixedExtension },
3619
  { NULL, 0, 0, NULL }
3620
};
3621
3622
static unsigned
3623
0
dissect_h450_8_ARG_busyName(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3624
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3625
0
                                   ett_h450_8_ARG_busyName, h450_8_ARG_busyName_sequence);
3626
3627
0
  return offset;
3628
0
}
3629
3630
/*--- PDUs ---*/
3631
3632
0
static int dissect_h450_8_ARG_callingName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3633
0
  unsigned offset = 0;
3634
0
  asn1_ctx_t asn1_ctx;
3635
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
3636
0
  offset = dissect_h450_8_ARG_callingName(tvb, offset, &asn1_ctx, tree, hf_h450_8_h450_8_ARG_callingName_PDU);
3637
0
  offset += 7; offset >>= 3;
3638
0
  return offset;
3639
0
}
3640
0
static int dissect_h450_8_ARG_alertingName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3641
0
  unsigned offset = 0;
3642
0
  asn1_ctx_t asn1_ctx;
3643
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
3644
0
  offset = dissect_h450_8_ARG_alertingName(tvb, offset, &asn1_ctx, tree, hf_h450_8_h450_8_ARG_alertingName_PDU);
3645
0
  offset += 7; offset >>= 3;
3646
0
  return offset;
3647
0
}
3648
0
static int dissect_h450_8_ARG_connectedName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3649
0
  unsigned offset = 0;
3650
0
  asn1_ctx_t asn1_ctx;
3651
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
3652
0
  offset = dissect_h450_8_ARG_connectedName(tvb, offset, &asn1_ctx, tree, hf_h450_8_h450_8_ARG_connectedName_PDU);
3653
0
  offset += 7; offset >>= 3;
3654
0
  return offset;
3655
0
}
3656
0
static int dissect_h450_8_ARG_busyName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3657
0
  unsigned offset = 0;
3658
0
  asn1_ctx_t asn1_ctx;
3659
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
3660
0
  offset = dissect_h450_8_ARG_busyName(tvb, offset, &asn1_ctx, tree, hf_h450_8_h450_8_ARG_busyName_PDU);
3661
0
  offset += 7; offset >>= 3;
3662
0
  return offset;
3663
0
}
3664
3665
3666
/* --- Module Call-Completion-Operations --- --- ---                          */
3667
3668
3669
3670
static unsigned
3671
0
dissect_h450_9_BOOLEAN(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3672
0
  offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);
3673
3674
0
  return offset;
3675
0
}
3676
3677
3678
static const per_sequence_t h450_9_SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of[1] = {
3679
  { &hf_h450_9_ccRequestArg_extension_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h450_4_MixedExtension },
3680
};
3681
3682
static unsigned
3683
0
dissect_h450_9_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3684
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3685
0
                                                  ett_h450_9_SEQUENCE_SIZE_0_255_OF_MixedExtension, h450_9_SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of,
3686
0
                                                  0, 255, false);
3687
3688
0
  return offset;
3689
0
}
3690
3691
3692
static const per_sequence_t h450_9_CcRequestArg_sequence[] = {
3693
  { &hf_h450_9_numberA      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
3694
  { &hf_h450_9_numberB      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
3695
  { &hf_h450_9_ccIdentifier , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_CallIdentifier },
3696
  { &hf_h450_9_service      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_7_BasicService },
3697
  { &hf_h450_9_can_retain_service, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_9_BOOLEAN },
3698
  { &hf_h450_9_retain_sig_connection, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_9_BOOLEAN },
3699
  { &hf_h450_9_ccRequestArg_extension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_9_SEQUENCE_SIZE_0_255_OF_MixedExtension },
3700
  { NULL, 0, 0, NULL }
3701
};
3702
3703
static unsigned
3704
0
dissect_h450_9_CcRequestArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3705
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3706
0
                                   ett_h450_9_CcRequestArg, h450_9_CcRequestArg_sequence);
3707
3708
0
  return offset;
3709
0
}
3710
3711
3712
static const per_sequence_t h450_9_CcRequestRes_sequence[] = {
3713
  { &hf_h450_9_retain_service, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_9_BOOLEAN },
3714
  { &hf_h450_9_ccRequestRes_extension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_9_SEQUENCE_SIZE_0_255_OF_MixedExtension },
3715
  { NULL, 0, 0, NULL }
3716
};
3717
3718
static unsigned
3719
0
dissect_h450_9_CcRequestRes(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3720
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3721
0
                                   ett_h450_9_CcRequestRes, h450_9_CcRequestRes_sequence);
3722
3723
0
  return offset;
3724
0
}
3725
3726
3727
static const per_sequence_t h450_9_CcShortArg_sequence[] = {
3728
  { &hf_h450_9_ccIdentifier , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_CallIdentifier },
3729
  { &hf_h450_9_ccShortArg_extension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_9_SEQUENCE_SIZE_0_255_OF_MixedExtension },
3730
  { NULL, 0, 0, NULL }
3731
};
3732
3733
static unsigned
3734
0
dissect_h450_9_CcShortArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3735
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3736
0
                                   ett_h450_9_CcShortArg, h450_9_CcShortArg_sequence);
3737
3738
0
  return offset;
3739
0
}
3740
3741
3742
static const per_sequence_t h450_9_CcLongArg_sequence[] = {
3743
  { &hf_h450_9_numberA      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_EndpointAddress },
3744
  { &hf_h450_9_numberB      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_EndpointAddress },
3745
  { &hf_h450_9_ccIdentifier , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_CallIdentifier },
3746
  { &hf_h450_9_service      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_7_BasicService },
3747
  { &hf_h450_9_ccLongArg_extension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_9_SEQUENCE_SIZE_0_255_OF_MixedExtension },
3748
  { NULL, 0, 0, NULL }
3749
};
3750
3751
static unsigned
3752
0
dissect_h450_9_CcLongArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3753
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3754
0
                                   ett_h450_9_CcLongArg, h450_9_CcLongArg_sequence);
3755
3756
0
  return offset;
3757
0
}
3758
3759
3760
static const value_string h450_9_CcArg_vals[] = {
3761
  {   0, "shortArg" },
3762
  {   1, "longArg" },
3763
  { 0, NULL }
3764
};
3765
3766
static const per_choice_t h450_9_CcArg_choice[] = {
3767
  {   0, &hf_h450_9_shortArg     , ASN1_EXTENSION_ROOT    , dissect_h450_9_CcShortArg },
3768
  {   1, &hf_h450_9_longArg      , ASN1_EXTENSION_ROOT    , dissect_h450_9_CcLongArg },
3769
  { 0, NULL, 0, NULL }
3770
};
3771
3772
static unsigned
3773
0
dissect_h450_9_CcArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3774
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3775
0
                                 ett_h450_9_CcArg, h450_9_CcArg_choice,
3776
0
                                 NULL);
3777
3778
0
  return offset;
3779
0
}
3780
3781
/*--- PDUs ---*/
3782
3783
0
static int dissect_h450_9_CcRequestArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3784
0
  unsigned offset = 0;
3785
0
  asn1_ctx_t asn1_ctx;
3786
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
3787
0
  offset = dissect_h450_9_CcRequestArg(tvb, offset, &asn1_ctx, tree, hf_h450_9_h450_9_CcRequestArg_PDU);
3788
0
  offset += 7; offset >>= 3;
3789
0
  return offset;
3790
0
}
3791
0
static int dissect_h450_9_CcRequestRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3792
0
  unsigned offset = 0;
3793
0
  asn1_ctx_t asn1_ctx;
3794
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
3795
0
  offset = dissect_h450_9_CcRequestRes(tvb, offset, &asn1_ctx, tree, hf_h450_9_h450_9_CcRequestRes_PDU);
3796
0
  offset += 7; offset >>= 3;
3797
0
  return offset;
3798
0
}
3799
0
static int dissect_h450_9_CcArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3800
0
  unsigned offset = 0;
3801
0
  asn1_ctx_t asn1_ctx;
3802
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
3803
0
  offset = dissect_h450_9_CcArg(tvb, offset, &asn1_ctx, tree, hf_h450_9_h450_9_CcArg_PDU);
3804
0
  offset += 7; offset >>= 3;
3805
0
  return offset;
3806
0
}
3807
0
static int dissect_h450_9_CcShortArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3808
0
  unsigned offset = 0;
3809
0
  asn1_ctx_t asn1_ctx;
3810
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
3811
0
  offset = dissect_h450_9_CcShortArg(tvb, offset, &asn1_ctx, tree, hf_h450_9_h450_9_CcShortArg_PDU);
3812
0
  offset += 7; offset >>= 3;
3813
0
  return offset;
3814
0
}
3815
3816
3817
/* --- Module Call-Offer-Operations --- --- ---                               */
3818
3819
3820
static const per_sequence_t h450_10_SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of[1] = {
3821
  { &hf_h450_10_coReqOptArg_extension_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h450_4_MixedExtension },
3822
};
3823
3824
static unsigned
3825
0
dissect_h450_10_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3826
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3827
0
                                                  ett_h450_10_SEQUENCE_SIZE_0_255_OF_MixedExtension, h450_10_SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of,
3828
0
                                                  0, 255, false);
3829
3830
0
  return offset;
3831
0
}
3832
3833
3834
static const per_sequence_t h450_10_CoReqOptArg_sequence[] = {
3835
  { &hf_h450_10_coReqOptArg_extension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_10_SEQUENCE_SIZE_0_255_OF_MixedExtension },
3836
  { NULL, 0, 0, NULL }
3837
};
3838
3839
static unsigned
3840
0
dissect_h450_10_CoReqOptArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3841
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3842
0
                                   ett_h450_10_CoReqOptArg, h450_10_CoReqOptArg_sequence);
3843
3844
0
  return offset;
3845
0
}
3846
3847
3848
static const per_sequence_t h450_10_RUAlertOptArg_sequence[] = {
3849
  { &hf_h450_10_rUAlertOptArg_extension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_10_SEQUENCE_SIZE_0_255_OF_MixedExtension },
3850
  { NULL, 0, 0, NULL }
3851
};
3852
3853
static unsigned
3854
0
dissect_h450_10_RUAlertOptArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3855
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3856
0
                                   ett_h450_10_RUAlertOptArg, h450_10_RUAlertOptArg_sequence);
3857
3858
0
  return offset;
3859
0
}
3860
3861
3862
static const per_sequence_t h450_10_CfbOvrOptArg_sequence[] = {
3863
  { &hf_h450_10_cfbOvrOptArg_extension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_10_SEQUENCE_SIZE_0_255_OF_MixedExtension },
3864
  { NULL, 0, 0, NULL }
3865
};
3866
3867
static unsigned
3868
0
dissect_h450_10_CfbOvrOptArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3869
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3870
0
                                   ett_h450_10_CfbOvrOptArg, h450_10_CfbOvrOptArg_sequence);
3871
3872
0
  return offset;
3873
0
}
3874
3875
/*--- PDUs ---*/
3876
3877
0
static int dissect_h450_10_CoReqOptArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3878
0
  unsigned offset = 0;
3879
0
  asn1_ctx_t asn1_ctx;
3880
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
3881
0
  offset = dissect_h450_10_CoReqOptArg(tvb, offset, &asn1_ctx, tree, hf_h450_10_h450_10_CoReqOptArg_PDU);
3882
0
  offset += 7; offset >>= 3;
3883
0
  return offset;
3884
0
}
3885
0
static int dissect_h450_10_RUAlertOptArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3886
0
  unsigned offset = 0;
3887
0
  asn1_ctx_t asn1_ctx;
3888
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
3889
0
  offset = dissect_h450_10_RUAlertOptArg(tvb, offset, &asn1_ctx, tree, hf_h450_10_h450_10_RUAlertOptArg_PDU);
3890
0
  offset += 7; offset >>= 3;
3891
0
  return offset;
3892
0
}
3893
0
static int dissect_h450_10_CfbOvrOptArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3894
0
  unsigned offset = 0;
3895
0
  asn1_ctx_t asn1_ctx;
3896
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
3897
0
  offset = dissect_h450_10_CfbOvrOptArg(tvb, offset, &asn1_ctx, tree, hf_h450_10_h450_10_CfbOvrOptArg_PDU);
3898
0
  offset += 7; offset >>= 3;
3899
0
  return offset;
3900
0
}
3901
3902
3903
/* --- Module Call-Intrusion-Operations --- --- ---                           */
3904
3905
3906
static const value_string h450_11_CICapabilityLevel_vals[] = {
3907
  {   1, "intrusionLowCap" },
3908
  {   2, "intrusionMediumCap" },
3909
  {   3, "intrusionHighCap" },
3910
  { 0, NULL }
3911
};
3912
3913
3914
static unsigned
3915
0
dissect_h450_11_CICapabilityLevel(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3916
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3917
0
                                                            1U, 3U, NULL, false);
3918
3919
0
  return offset;
3920
0
}
3921
3922
3923
static const per_sequence_t h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of[1] = {
3924
  { &hf_h450_11_cIRequestArg_argumentExtension_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h450_4_MixedExtension },
3925
};
3926
3927
static unsigned
3928
0
dissect_h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3929
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3930
0
                                                  ett_h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension, h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of,
3931
0
                                                  0, 255, false);
3932
3933
0
  return offset;
3934
0
}
3935
3936
3937
static const per_sequence_t h450_11_CIRequestArg_sequence[] = {
3938
  { &hf_h450_11_ciCapabilityLevel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_11_CICapabilityLevel },
3939
  { &hf_h450_11_cIRequestArg_argumentExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension },
3940
  { NULL, 0, 0, NULL }
3941
};
3942
3943
static unsigned
3944
0
dissect_h450_11_CIRequestArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3945
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3946
0
                                   ett_h450_11_CIRequestArg, h450_11_CIRequestArg_sequence);
3947
3948
0
  return offset;
3949
0
}
3950
3951
3952
3953
static unsigned
3954
0
dissect_h450_11_NULL(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3955
0
  offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
3956
3957
0
  return offset;
3958
0
}
3959
3960
3961
static const value_string h450_11_CIStatusInformation_vals[] = {
3962
  {   0, "callIntrusionImpending" },
3963
  {   1, "callIntruded" },
3964
  {   2, "callIsolated" },
3965
  {   3, "callForceReleased" },
3966
  {   4, "callIntrusionComplete" },
3967
  {   5, "callIntrusionEnd" },
3968
  { 0, NULL }
3969
};
3970
3971
static const per_choice_t h450_11_CIStatusInformation_choice[] = {
3972
  {   0, &hf_h450_11_callIntrusionImpending, ASN1_EXTENSION_ROOT    , dissect_h450_11_NULL },
3973
  {   1, &hf_h450_11_callIntruded, ASN1_EXTENSION_ROOT    , dissect_h450_11_NULL },
3974
  {   2, &hf_h450_11_callIsolated, ASN1_EXTENSION_ROOT    , dissect_h450_11_NULL },
3975
  {   3, &hf_h450_11_callForceReleased, ASN1_EXTENSION_ROOT    , dissect_h450_11_NULL },
3976
  {   4, &hf_h450_11_callIntrusionComplete, ASN1_EXTENSION_ROOT    , dissect_h450_11_NULL },
3977
  {   5, &hf_h450_11_callIntrusionEnd, ASN1_EXTENSION_ROOT    , dissect_h450_11_NULL },
3978
  { 0, NULL, 0, NULL }
3979
};
3980
3981
static unsigned
3982
0
dissect_h450_11_CIStatusInformation(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3983
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3984
0
                                 ett_h450_11_CIStatusInformation, h450_11_CIStatusInformation_choice,
3985
0
                                 NULL);
3986
3987
0
  return offset;
3988
0
}
3989
3990
3991
static const per_sequence_t h450_11_CIRequestRes_sequence[] = {
3992
  { &hf_h450_11_ciStatusInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_11_CIStatusInformation },
3993
  { &hf_h450_11_cIRequestRes_resultExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension },
3994
  { NULL, 0, 0, NULL }
3995
};
3996
3997
static unsigned
3998
0
dissect_h450_11_CIRequestRes(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3999
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4000
0
                                   ett_h450_11_CIRequestRes, h450_11_CIRequestRes_sequence);
4001
4002
0
  return offset;
4003
0
}
4004
4005
4006
static const per_sequence_t h450_11_CIGetCIPLOptArg_sequence[] = {
4007
  { &hf_h450_11_cIGetCIPLOptArg_argumentExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension },
4008
  { NULL, 0, 0, NULL }
4009
};
4010
4011
static unsigned
4012
0
dissect_h450_11_CIGetCIPLOptArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4013
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4014
0
                                   ett_h450_11_CIGetCIPLOptArg, h450_11_CIGetCIPLOptArg_sequence);
4015
4016
0
  return offset;
4017
0
}
4018
4019
4020
static const value_string h450_11_CIProtectionLevel_vals[] = {
4021
  {   0, "lowProtection" },
4022
  {   1, "mediumProtection" },
4023
  {   2, "highProtection" },
4024
  {   3, "fullProtection" },
4025
  { 0, NULL }
4026
};
4027
4028
4029
static unsigned
4030
0
dissect_h450_11_CIProtectionLevel(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4031
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4032
0
                                                            0U, 3U, NULL, false);
4033
4034
0
  return offset;
4035
0
}
4036
4037
4038
static const per_sequence_t h450_11_CIGetCIPLRes_sequence[] = {
4039
  { &hf_h450_11_ciProtectionLevel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_11_CIProtectionLevel },
4040
  { &hf_h450_11_silentMonitoringPermitted, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_11_NULL },
4041
  { &hf_h450_11_cIGetCIPLRes_resultExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension },
4042
  { NULL, 0, 0, NULL }
4043
};
4044
4045
static unsigned
4046
0
dissect_h450_11_CIGetCIPLRes(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4047
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4048
0
                                   ett_h450_11_CIGetCIPLRes, h450_11_CIGetCIPLRes_sequence);
4049
4050
0
  return offset;
4051
0
}
4052
4053
4054
static const per_sequence_t h450_11_CIIsOptArg_sequence[] = {
4055
  { &hf_h450_11_cIIsOptArg_argumentExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension },
4056
  { NULL, 0, 0, NULL }
4057
};
4058
4059
static unsigned
4060
0
dissect_h450_11_CIIsOptArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4061
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4062
0
                                   ett_h450_11_CIIsOptArg, h450_11_CIIsOptArg_sequence);
4063
4064
0
  return offset;
4065
0
}
4066
4067
4068
static const per_sequence_t h450_11_CIIsOptRes_sequence[] = {
4069
  { &hf_h450_11_cIIsOptRes_resultExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension },
4070
  { NULL, 0, 0, NULL }
4071
};
4072
4073
static unsigned
4074
0
dissect_h450_11_CIIsOptRes(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4075
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4076
0
                                   ett_h450_11_CIIsOptRes, h450_11_CIIsOptRes_sequence);
4077
4078
0
  return offset;
4079
0
}
4080
4081
4082
static const per_sequence_t h450_11_CIFrcRelArg_sequence[] = {
4083
  { &hf_h450_11_ciCapabilityLevel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_11_CICapabilityLevel },
4084
  { &hf_h450_11_cIFrcRelArg_argumentExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension },
4085
  { NULL, 0, 0, NULL }
4086
};
4087
4088
static unsigned
4089
0
dissect_h450_11_CIFrcRelArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4090
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4091
0
                                   ett_h450_11_CIFrcRelArg, h450_11_CIFrcRelArg_sequence);
4092
4093
0
  return offset;
4094
0
}
4095
4096
4097
static const per_sequence_t h450_11_CIFrcRelOptRes_sequence[] = {
4098
  { &hf_h450_11_cIFrcRelOptRes_resultExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension },
4099
  { NULL, 0, 0, NULL }
4100
};
4101
4102
static unsigned
4103
0
dissect_h450_11_CIFrcRelOptRes(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4104
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4105
0
                                   ett_h450_11_CIFrcRelOptRes, h450_11_CIFrcRelOptRes_sequence);
4106
4107
0
  return offset;
4108
0
}
4109
4110
4111
static const per_sequence_t h450_11_CIWobOptArg_sequence[] = {
4112
  { &hf_h450_11_cIWobOptArg_argumentExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension },
4113
  { NULL, 0, 0, NULL }
4114
};
4115
4116
static unsigned
4117
0
dissect_h450_11_CIWobOptArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4118
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4119
0
                                   ett_h450_11_CIWobOptArg, h450_11_CIWobOptArg_sequence);
4120
4121
0
  return offset;
4122
0
}
4123
4124
4125
static const per_sequence_t h450_11_CIWobOptRes_sequence[] = {
4126
  { &hf_h450_11_cIWobOptRes_resultExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension },
4127
  { NULL, 0, 0, NULL }
4128
};
4129
4130
static unsigned
4131
0
dissect_h450_11_CIWobOptRes(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4132
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4133
0
                                   ett_h450_11_CIWobOptRes, h450_11_CIWobOptRes_sequence);
4134
4135
0
  return offset;
4136
0
}
4137
4138
4139
static const per_sequence_t h450_11_CISilentArg_sequence[] = {
4140
  { &hf_h450_11_ciCapabilityLevel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_11_CICapabilityLevel },
4141
  { &hf_h450_11_specificCall, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h225_CallIdentifier },
4142
  { &hf_h450_11_cISilentArg_argumentExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension },
4143
  { NULL, 0, 0, NULL }
4144
};
4145
4146
static unsigned
4147
0
dissect_h450_11_CISilentArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4148
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4149
0
                                   ett_h450_11_CISilentArg, h450_11_CISilentArg_sequence);
4150
4151
0
  return offset;
4152
0
}
4153
4154
4155
static const per_sequence_t h450_11_CISilentOptRes_sequence[] = {
4156
  { &hf_h450_11_cISilentOptRes_resultExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension },
4157
  { NULL, 0, 0, NULL }
4158
};
4159
4160
static unsigned
4161
0
dissect_h450_11_CISilentOptRes(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4162
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4163
0
                                   ett_h450_11_CISilentOptRes, h450_11_CISilentOptRes_sequence);
4164
4165
0
  return offset;
4166
0
}
4167
4168
4169
static const per_sequence_t h450_11_CINotificationArg_sequence[] = {
4170
  { &hf_h450_11_ciStatusInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h450_11_CIStatusInformation },
4171
  { &hf_h450_11_cINotificationArg_argumentExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension },
4172
  { NULL, 0, 0, NULL }
4173
};
4174
4175
static unsigned
4176
0
dissect_h450_11_CINotificationArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4177
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4178
0
                                   ett_h450_11_CINotificationArg, h450_11_CINotificationArg_sequence);
4179
4180
0
  return offset;
4181
0
}
4182
4183
/*--- PDUs ---*/
4184
4185
0
static int dissect_h450_11_CIRequestArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4186
0
  unsigned offset = 0;
4187
0
  asn1_ctx_t asn1_ctx;
4188
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4189
0
  offset = dissect_h450_11_CIRequestArg(tvb, offset, &asn1_ctx, tree, hf_h450_11_h450_11_CIRequestArg_PDU);
4190
0
  offset += 7; offset >>= 3;
4191
0
  return offset;
4192
0
}
4193
0
static int dissect_h450_11_CIRequestRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4194
0
  unsigned offset = 0;
4195
0
  asn1_ctx_t asn1_ctx;
4196
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4197
0
  offset = dissect_h450_11_CIRequestRes(tvb, offset, &asn1_ctx, tree, hf_h450_11_h450_11_CIRequestRes_PDU);
4198
0
  offset += 7; offset >>= 3;
4199
0
  return offset;
4200
0
}
4201
0
static int dissect_h450_11_CIGetCIPLOptArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4202
0
  unsigned offset = 0;
4203
0
  asn1_ctx_t asn1_ctx;
4204
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4205
0
  offset = dissect_h450_11_CIGetCIPLOptArg(tvb, offset, &asn1_ctx, tree, hf_h450_11_h450_11_CIGetCIPLOptArg_PDU);
4206
0
  offset += 7; offset >>= 3;
4207
0
  return offset;
4208
0
}
4209
0
static int dissect_h450_11_CIGetCIPLRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4210
0
  unsigned offset = 0;
4211
0
  asn1_ctx_t asn1_ctx;
4212
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4213
0
  offset = dissect_h450_11_CIGetCIPLRes(tvb, offset, &asn1_ctx, tree, hf_h450_11_h450_11_CIGetCIPLRes_PDU);
4214
0
  offset += 7; offset >>= 3;
4215
0
  return offset;
4216
0
}
4217
0
static int dissect_h450_11_CIIsOptArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4218
0
  unsigned offset = 0;
4219
0
  asn1_ctx_t asn1_ctx;
4220
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4221
0
  offset = dissect_h450_11_CIIsOptArg(tvb, offset, &asn1_ctx, tree, hf_h450_11_h450_11_CIIsOptArg_PDU);
4222
0
  offset += 7; offset >>= 3;
4223
0
  return offset;
4224
0
}
4225
0
static int dissect_h450_11_CIIsOptRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4226
0
  unsigned offset = 0;
4227
0
  asn1_ctx_t asn1_ctx;
4228
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4229
0
  offset = dissect_h450_11_CIIsOptRes(tvb, offset, &asn1_ctx, tree, hf_h450_11_h450_11_CIIsOptRes_PDU);
4230
0
  offset += 7; offset >>= 3;
4231
0
  return offset;
4232
0
}
4233
0
static int dissect_h450_11_CIFrcRelArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4234
0
  unsigned offset = 0;
4235
0
  asn1_ctx_t asn1_ctx;
4236
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4237
0
  offset = dissect_h450_11_CIFrcRelArg(tvb, offset, &asn1_ctx, tree, hf_h450_11_h450_11_CIFrcRelArg_PDU);
4238
0
  offset += 7; offset >>= 3;
4239
0
  return offset;
4240
0
}
4241
0
static int dissect_h450_11_CIFrcRelOptRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4242
0
  unsigned offset = 0;
4243
0
  asn1_ctx_t asn1_ctx;
4244
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4245
0
  offset = dissect_h450_11_CIFrcRelOptRes(tvb, offset, &asn1_ctx, tree, hf_h450_11_h450_11_CIFrcRelOptRes_PDU);
4246
0
  offset += 7; offset >>= 3;
4247
0
  return offset;
4248
0
}
4249
0
static int dissect_h450_11_CIWobOptArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4250
0
  unsigned offset = 0;
4251
0
  asn1_ctx_t asn1_ctx;
4252
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4253
0
  offset = dissect_h450_11_CIWobOptArg(tvb, offset, &asn1_ctx, tree, hf_h450_11_h450_11_CIWobOptArg_PDU);
4254
0
  offset += 7; offset >>= 3;
4255
0
  return offset;
4256
0
}
4257
0
static int dissect_h450_11_CIWobOptRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4258
0
  unsigned offset = 0;
4259
0
  asn1_ctx_t asn1_ctx;
4260
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4261
0
  offset = dissect_h450_11_CIWobOptRes(tvb, offset, &asn1_ctx, tree, hf_h450_11_h450_11_CIWobOptRes_PDU);
4262
0
  offset += 7; offset >>= 3;
4263
0
  return offset;
4264
0
}
4265
0
static int dissect_h450_11_CISilentArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4266
0
  unsigned offset = 0;
4267
0
  asn1_ctx_t asn1_ctx;
4268
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4269
0
  offset = dissect_h450_11_CISilentArg(tvb, offset, &asn1_ctx, tree, hf_h450_11_h450_11_CISilentArg_PDU);
4270
0
  offset += 7; offset >>= 3;
4271
0
  return offset;
4272
0
}
4273
0
static int dissect_h450_11_CISilentOptRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4274
0
  unsigned offset = 0;
4275
0
  asn1_ctx_t asn1_ctx;
4276
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4277
0
  offset = dissect_h450_11_CISilentOptRes(tvb, offset, &asn1_ctx, tree, hf_h450_11_h450_11_CISilentOptRes_PDU);
4278
0
  offset += 7; offset >>= 3;
4279
0
  return offset;
4280
0
}
4281
0
static int dissect_h450_11_CINotificationArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4282
0
  unsigned offset = 0;
4283
0
  asn1_ctx_t asn1_ctx;
4284
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4285
0
  offset = dissect_h450_11_CINotificationArg(tvb, offset, &asn1_ctx, tree, hf_h450_11_h450_11_CINotificationArg_PDU);
4286
0
  offset += 7; offset >>= 3;
4287
0
  return offset;
4288
0
}
4289
4290
4291
/* --- Module Common-Information-Operations --- --- ---                       */
4292
4293
4294
4295
static unsigned
4296
0
dissect_h450_12_NULL(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4297
0
  offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
4298
4299
0
  return offset;
4300
0
}
4301
4302
4303
static const per_sequence_t h450_12_FeatureList_sequence[] = {
4304
  { &hf_h450_12_ssCFreRoutingSupported, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_12_NULL },
4305
  { &hf_h450_12_ssCTreRoutingSupported, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_12_NULL },
4306
  { &hf_h450_12_ssCCBSPossible, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_12_NULL },
4307
  { &hf_h450_12_ssCCNRPossible, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_12_NULL },
4308
  { &hf_h450_12_ssCOSupported, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_12_NULL },
4309
  { &hf_h450_12_ssCIForcedReleaseSupported, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_12_NULL },
4310
  { &hf_h450_12_ssCIIsolationSupported, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_12_NULL },
4311
  { &hf_h450_12_ssCIWaitOnBusySupported, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_12_NULL },
4312
  { &hf_h450_12_ssCISilentMonitoringSupported, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_12_NULL },
4313
  { &hf_h450_12_ssCIConferenceSupported, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_12_NULL },
4314
  { &hf_h450_12_ssCHFarHoldSupported, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_12_NULL },
4315
  { &hf_h450_12_ssMWICallbackSupported, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_12_NULL },
4316
  { &hf_h450_12_ssCPCallParkSupported, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_12_NULL },
4317
  { NULL, 0, 0, NULL }
4318
};
4319
4320
static unsigned
4321
0
dissect_h450_12_FeatureList(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4322
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4323
0
                                   ett_h450_12_FeatureList, h450_12_FeatureList_sequence);
4324
4325
0
  return offset;
4326
0
}
4327
4328
4329
static const value_string h450_12_PartyCategory_vals[] = {
4330
  {   0, "unknown" },
4331
  {   1, "extension" },
4332
  {   2, "attendant" },
4333
  {   3, "emergExt" },
4334
  { 0, NULL }
4335
};
4336
4337
4338
static unsigned
4339
0
dissect_h450_12_PartyCategory(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4340
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4341
0
                                     4, NULL, true, 0, NULL);
4342
4343
0
  return offset;
4344
0
}
4345
4346
4347
4348
static unsigned
4349
0
dissect_h450_12_SSCIProtectionLevel(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4350
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4351
0
                                                            0U, 3U, NULL, false);
4352
4353
0
  return offset;
4354
0
}
4355
4356
4357
static const per_sequence_t h450_12_FeatureValues_sequence[] = {
4358
  { &hf_h450_12_partyCategory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_12_PartyCategory },
4359
  { &hf_h450_12_ssCIprotectionLevel, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_12_SSCIProtectionLevel },
4360
  { NULL, 0, 0, NULL }
4361
};
4362
4363
static unsigned
4364
0
dissect_h450_12_FeatureValues(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4365
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4366
0
                                   ett_h450_12_FeatureValues, h450_12_FeatureValues_sequence);
4367
4368
0
  return offset;
4369
0
}
4370
4371
4372
static const per_sequence_t h450_12_FeatureControl_sequence[] = {
4373
  { &hf_h450_12_ssCHDoNotHold, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_12_NULL },
4374
  { &hf_h450_12_ssCTDoNotTransfer, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_12_NULL },
4375
  { &hf_h450_12_ssMWICallbackCall, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_12_NULL },
4376
  { &hf_h450_12_ssCISilentMonitorPermitted, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_12_NULL },
4377
  { NULL, 0, 0, NULL }
4378
};
4379
4380
static unsigned
4381
0
dissect_h450_12_FeatureControl(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4382
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4383
0
                                   ett_h450_12_FeatureControl, h450_12_FeatureControl_sequence);
4384
4385
0
  return offset;
4386
0
}
4387
4388
4389
static const per_sequence_t h450_12_SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of[1] = {
4390
  { &hf_h450_12_cmnArg_extension_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h450_4_MixedExtension },
4391
};
4392
4393
static unsigned
4394
0
dissect_h450_12_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4395
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4396
0
                                                  ett_h450_12_SEQUENCE_SIZE_0_255_OF_MixedExtension, h450_12_SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of,
4397
0
                                                  0, 255, false);
4398
4399
0
  return offset;
4400
0
}
4401
4402
4403
static const per_sequence_t h450_12_CmnArg_sequence[] = {
4404
  { &hf_h450_12_featureList , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_12_FeatureList },
4405
  { &hf_h450_12_featureValues, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_12_FeatureValues },
4406
  { &hf_h450_12_featureControl, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_12_FeatureControl },
4407
  { &hf_h450_12_cmnArg_extension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h450_12_SEQUENCE_SIZE_0_255_OF_MixedExtension },
4408
  { NULL, 0, 0, NULL }
4409
};
4410
4411
static unsigned
4412
0
dissect_h450_12_CmnArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4413
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4414
0
                                   ett_h450_12_CmnArg, h450_12_CmnArg_sequence);
4415
4416
0
  return offset;
4417
0
}
4418
4419
4420
static const per_sequence_t h450_12_DummyArg_sequence[] = {
4421
  { &hf_h450_12_extensionArg, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h450_12_SEQUENCE_SIZE_0_255_OF_MixedExtension },
4422
  { NULL, 0, 0, NULL }
4423
};
4424
4425
static unsigned
4426
0
dissect_h450_12_DummyArg(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4427
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4428
0
                                   ett_h450_12_DummyArg, h450_12_DummyArg_sequence);
4429
4430
0
  return offset;
4431
0
}
4432
4433
/*--- PDUs ---*/
4434
4435
0
static int dissect_h450_12_DummyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4436
0
  unsigned offset = 0;
4437
0
  asn1_ctx_t asn1_ctx;
4438
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4439
0
  offset = dissect_h450_12_DummyArg(tvb, offset, &asn1_ctx, tree, hf_h450_12_h450_12_DummyArg_PDU);
4440
0
  offset += 7; offset >>= 3;
4441
0
  return offset;
4442
0
}
4443
0
static int dissect_h450_12_CmnArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4444
0
  unsigned offset = 0;
4445
0
  asn1_ctx_t asn1_ctx;
4446
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4447
0
  offset = dissect_h450_12_CmnArg(tvb, offset, &asn1_ctx, tree, hf_h450_12_h450_12_CmnArg_PDU);
4448
0
  offset += 7; offset >>= 3;
4449
0
  return offset;
4450
0
}
4451
4452
4453
typedef struct _h450_op_t {
4454
  int32_t opcode;
4455
  dissector_t arg_pdu;
4456
  dissector_t res_pdu;
4457
} h450_op_t;
4458
4459
static const h450_op_t h450_op_tab[] = {
4460
4461
/* --- Modules H4501-Supplementary-ServiceAPDU-Structure Addressing-Data-Elements H225-generic-parameters-definition Manufacturer-specific-service-extension-definition H4501-General-Error-List --- --- --- */
4462
4463
/* Unknown or empty loop list OPERATION */
4464
4465
/* --- Module Call-Transfer-Operations --- --- ---                            */
4466
4467
  /* callTransferIdentify     */ {   7, dissect_h450_2_DummyArg_PDU, dissect_h450_2_CTIdentifyRes_PDU },
4468
  /* callTransferAbandon      */ {   8, dissect_h450_2_DummyArg_PDU, NULL },
4469
  /* callTransferInitiate     */ {   9, dissect_h450_2_CTInitiateArg_PDU, dissect_h450_2_DummyRes_PDU },
4470
  /* callTransferSetup        */ {  10, dissect_h450_2_CTSetupArg_PDU, dissect_h450_2_DummyRes_PDU },
4471
  /* callTransferUpdate       */ {  13, dissect_h450_2_CTUpdateArg_PDU, NULL },
4472
  /* subaddressTransfer       */ {  14, dissect_h450_2_SubaddressTransferArg_PDU, NULL },
4473
  /* callTransferComplete     */ {  12, dissect_h450_2_CTCompleteArg_PDU, NULL },
4474
  /* callTransferActive       */ {  11, dissect_h450_2_CTActiveArg_PDU, NULL },
4475
4476
/* --- Module Call-Diversion-Operations --- --- ---                           */
4477
4478
  /* activateDiversionQ       */ {  15, dissect_h450_3_ARG_activateDiversionQ_PDU, dissect_h450_3_RES_activateDiversionQ_PDU },
4479
  /* deactivateDiversionQ     */ {  16, dissect_h450_3_ARG_deactivateDiversionQ_PDU, dissect_h450_3_RES_deactivateDiversionQ_PDU },
4480
  /* interrogateDiversionQ    */ {  17, dissect_h450_3_ARG_interrogateDiversionQ_PDU, dissect_h450_3_IntResultList_PDU },
4481
  /* checkRestriction         */ {  18, dissect_h450_3_ARG_checkRestriction_PDU, dissect_h450_3_RES_checkRestriction_PDU },
4482
  /* callRerouting            */ {  19, dissect_h450_3_ARG_callRerouting_PDU, dissect_h450_3_RES_callRerouting_PDU },
4483
  /* divertingLegInformation1 */ {  20, dissect_h450_3_ARG_divertingLegInformation1_PDU, NULL },
4484
  /* divertingLegInformation2 */ {  21, dissect_h450_3_ARG_divertingLegInformation2_PDU, NULL },
4485
  /* divertingLegInformation3 */ {  22, dissect_h450_3_ARG_divertingLegInformation3_PDU, NULL },
4486
  /* divertingLegInformation4 */ { 100, dissect_h450_3_ARG_divertingLegInformation4_PDU, NULL },
4487
  /* cfnrDivertedLegFailed    */ {  23, dissect_h450_3_ARG_cfnrDivertedLegFailed_PDU, NULL },
4488
4489
/* --- Module Call-Hold-Operations --- --- ---                                */
4490
4491
  /* holdNotific              */ { 101, dissect_h450_4_HoldNotificArg_PDU, NULL },
4492
  /* retrieveNotific          */ { 102, dissect_h450_4_RetrieveNotificArg_PDU, NULL },
4493
  /* remoteHold               */ { 103, dissect_h450_4_RemoteHoldArg_PDU, dissect_h450_4_RemoteHoldRes_PDU },
4494
  /* remoteRetrieve           */ { 104, dissect_h450_4_RemoteRetrieveArg_PDU, dissect_h450_4_RemoteRetrieveRes_PDU },
4495
4496
/* --- Module Call-Park-Pickup-Operations --- --- ---                         */
4497
4498
  /* cpRequest                */ { 106, dissect_h450_5_CpRequestArg_PDU, dissect_h450_5_CpRequestRes_PDU },
4499
  /* cpSetup                  */ { 107, dissect_h450_5_CpSetupArg_PDU, dissect_h450_5_CpSetupRes_PDU },
4500
  /* groupIndicationOn        */ { 108, dissect_h450_5_GroupIndicationOnArg_PDU, dissect_h450_5_GroupIndicationOnRes_PDU },
4501
  /* groupIndicationOff       */ { 109, dissect_h450_5_GroupIndicationOffArg_PDU, dissect_h450_5_GroupIndicationOffRes_PDU },
4502
  /* pickrequ                 */ { 110, dissect_h450_5_PickrequArg_PDU, dissect_h450_5_PickrequRes_PDU },
4503
  /* pickup                   */ { 111, dissect_h450_5_PickupArg_PDU, dissect_h450_5_PickupRes_PDU },
4504
  /* pickExe                  */ { 112, dissect_h450_5_PickExeArg_PDU, dissect_h450_5_PickExeRes_PDU },
4505
  /* cpNotify                 */ { 113, dissect_h450_5_CpNotifyArg_PDU, NULL },
4506
  /* cpickupNotify            */ { 114, dissect_h450_5_CpickupNotifyArg_PDU, NULL },
4507
4508
/* --- Module Call-Waiting-Operations --- --- ---                             */
4509
4510
  /* callWaiting              */ { 105, dissect_h450_6_CallWaitingArg_PDU, NULL },
4511
4512
/* --- Module Message-Waiting-Indication-Operations --- --- ---               */
4513
4514
  /* mwiActivate              */ {  80, dissect_h450_7_MWIActivateArg_PDU, dissect_h450_7_DummyRes_PDU },
4515
  /* mwiDeactivate            */ {  81, dissect_h450_7_MWIDeactivateArg_PDU, dissect_h450_7_DummyRes_PDU },
4516
  /* mwiInterrogate           */ {  82, dissect_h450_7_MWIInterrogateArg_PDU, dissect_h450_7_MWIInterrogateRes_PDU },
4517
4518
/* --- Module Name-Operations --- --- ---                                     */
4519
4520
  /* callingName              */ {   0, dissect_h450_8_ARG_callingName_PDU, NULL },
4521
  /* alertingName             */ {   1, dissect_h450_8_ARG_alertingName_PDU, NULL },
4522
  /* connectedName            */ {   2, dissect_h450_8_ARG_connectedName_PDU, NULL },
4523
  /* busyName                 */ {   3, dissect_h450_8_ARG_busyName_PDU, NULL },
4524
4525
/* --- Module Call-Completion-Operations --- --- ---                          */
4526
4527
  /* ccbsRequest              */ {  40, dissect_h450_9_CcRequestArg_PDU, dissect_h450_9_CcRequestRes_PDU },
4528
  /* ccnrRequest              */ {  27, dissect_h450_9_CcRequestArg_PDU, dissect_h450_9_CcRequestRes_PDU },
4529
  /* ccCancel                 */ {  28, dissect_h450_9_CcArg_PDU, NULL },
4530
  /* ccExecPossible           */ {  29, dissect_h450_9_CcArg_PDU, NULL },
4531
  /* ccRingout                */ {  31, dissect_h450_9_CcShortArg_PDU, NULL },
4532
  /* ccSuspend                */ {  32, dissect_h450_9_CcShortArg_PDU, NULL },
4533
  /* ccResume                 */ {  33, dissect_h450_9_CcArg_PDU, NULL },
4534
4535
/* --- Module Call-Offer-Operations --- --- ---                               */
4536
4537
  /* callOfferRequest         */ {  34, dissect_h450_10_CoReqOptArg_PDU, NULL },
4538
  /* remoteUserAlerting       */ { 115, dissect_h450_10_RUAlertOptArg_PDU, NULL },
4539
  /* cfbOverride              */ {  49, dissect_h450_10_CfbOvrOptArg_PDU, NULL },
4540
4541
/* --- Module Call-Intrusion-Operations --- --- ---                           */
4542
4543
  /* callIntrusionRequest     */ {  43, dissect_h450_11_CIRequestArg_PDU, dissect_h450_11_CIRequestRes_PDU },
4544
  /* callIntrusionGetCIPL     */ {  44, dissect_h450_11_CIGetCIPLOptArg_PDU, dissect_h450_11_CIGetCIPLRes_PDU },
4545
  /* callIntrusionIsolate     */ {  45, dissect_h450_11_CIIsOptArg_PDU, dissect_h450_11_CIIsOptRes_PDU },
4546
  /* callIntrusionForcedRelease */ {  46, dissect_h450_11_CIFrcRelArg_PDU, dissect_h450_11_CIFrcRelOptRes_PDU },
4547
  /* callIntrusionWOBRequest  */ {  47, dissect_h450_11_CIWobOptArg_PDU, dissect_h450_11_CIWobOptRes_PDU },
4548
  /* callIntrusionSilentMonitor */ { 116, dissect_h450_11_CISilentArg_PDU, dissect_h450_11_CISilentOptRes_PDU },
4549
  /* callIntrusionNotification */ { 117, dissect_h450_11_CINotificationArg_PDU, NULL },
4550
4551
/* --- Module Common-Information-Operations --- --- ---                       */
4552
4553
  /* cmnRequest               */ {  84, dissect_h450_12_DummyArg_PDU, dissect_h450_12_CmnArg_PDU },
4554
  /* cmnInform                */ {  85, dissect_h450_12_CmnArg_PDU, NULL },
4555
};
4556
4557
typedef struct _h450_err_t {
4558
  int32_t errcode;
4559
  dissector_t err_pdu;
4560
} h450_err_t;
4561
4562
static const h450_err_t h450_err_tab[] = {
4563
4564
/* --- Modules H4501-Supplementary-ServiceAPDU-Structure Addressing-Data-Elements H225-generic-parameters-definition Manufacturer-specific-service-extension-definition H4501-General-Error-List --- --- --- */
4565
4566
  /* userNotSubscribed        */ {    0, NULL },
4567
  /* rejectedByNetwork        */ {    1, NULL },
4568
  /* rejectedByUser           */ {    2, NULL },
4569
  /* notAvailable             */ {    3, NULL },
4570
  /* insufficientInformation  */ {    5, NULL },
4571
  /* invalidServedUserNumber  */ {    6, NULL },
4572
  /* invalidCallState         */ {    7, NULL },
4573
  /* basicServiceNotProvided  */ {    8, NULL },
4574
  /* notIncomingCall          */ {    9, NULL },
4575
  /* supplementaryServiceInteractionNotAllowed */ {   10, NULL },
4576
  /* resourceUnavailable      */ {   11, NULL },
4577
  /* callFailure              */ {   25, NULL },
4578
  /* proceduralError          */ {   43, NULL },
4579
4580
/* --- Module Call-Transfer-Operations --- --- ---                            */
4581
4582
  /* unspecified              */ { 1008, dissect_h450_2_PAR_unspecified_PDU },
4583
  /* invalidReroutingNumber   */ { 1004, NULL },
4584
  /* unrecognizedCallIdentity */ { 1005, NULL },
4585
  /* establishmentFailure     */ { 1006, NULL },
4586
4587
/* --- Module Call-Diversion-Operations --- --- ---                           */
4588
4589
  /* invalidDivertedNumber    */ {   12, NULL },
4590
  /* specialServiceNumber     */ {   14, NULL },
4591
  /* diversionToServedUserNumber */ {   15, NULL },
4592
  /* numberOfDiversionsExceeded */ {   24, NULL },
4593
  /* temporarilyUnavailable   */ { 1000, NULL },
4594
  /* notAuthorized            */ { 1007, NULL },
4595
  /* unspecified              */ { 1008, dissect_h450_3_PAR_unspecified_PDU },
4596
4597
/* --- Module Call-Hold-Operations --- --- ---                                */
4598
4599
  /* undefined                */ { 2002, dissect_h450_4_PAR_undefined_PDU },
4600
4601
/* --- Module Call-Park-Pickup-Operations --- --- ---                         */
4602
4603
  /* callPickupIdInvalid      */ { 2000, NULL },
4604
  /* callAlreadyPickedUp      */ { 2001, NULL },
4605
  /* undefined                */ { 2002, dissect_h450_5_PAR_undefined_PDU },
4606
4607
/* --- Module Call-Waiting-Operations --- --- ---                             */
4608
4609
/* Unknown or empty loop list ERROR */
4610
4611
/* --- Module Message-Waiting-Indication-Operations --- --- ---               */
4612
4613
  /* undefined                */ { 2002, dissect_h450_7_PAR_undefined_PDU },
4614
  /* invalidMsgCentreId       */ { 1018, NULL },
4615
  /* notActivated             */ {   31, NULL },
4616
4617
/* --- Module Name-Operations --- --- ---                                     */
4618
4619
/* Unknown or empty loop list ERROR */
4620
4621
/* --- Module Call-Completion-Operations --- --- ---                          */
4622
4623
  /* shortTermRejection       */ { 1010, NULL },
4624
  /* longTermRejection        */ { 1011, NULL },
4625
  /* remoteUserBusyAgain      */ { 1012, NULL },
4626
  /* failureToMatch           */ { 1013, NULL },
4627
4628
/* --- Module Call-Offer-Operations --- --- ---                               */
4629
4630
/* Unknown or empty loop list ERROR */
4631
4632
/* --- Module Call-Intrusion-Operations --- --- ---                           */
4633
4634
  /* notBusy                  */ { 1009, NULL },
4635
  /* temporarilyUnavailable   */ { 1000, NULL },
4636
  /* notAuthorized            */ { 1007, NULL },
4637
4638
/* --- Module Common-Information-Operations --- --- ---                       */
4639
4640
/* Unknown or empty loop list ERROR */
4641
};
4642
4643
0
static const h450_op_t *get_op(int32_t opcode) {
4644
0
  int i;
4645
4646
  /* search from the end to get the last occurrence if the operation is redefined in some newer specification */
4647
0
  for (i = array_length(h450_op_tab) - 1; i >= 0; i--)
4648
0
    if (h450_op_tab[i].opcode == opcode)
4649
0
      return &h450_op_tab[i];
4650
0
  return NULL;
4651
0
}
4652
4653
0
static const h450_err_t *get_err(int32_t errcode) {
4654
0
  int i;
4655
4656
  /* search from the end to get the last occurrence if the operation is redefined in some newer specification */
4657
0
  for (i = array_length(h450_err_tab) - 1; i >= 0; i--)
4658
0
    if (h450_err_tab[i].errcode == errcode)
4659
0
      return &h450_err_tab[i];
4660
0
  return NULL;
4661
0
}
4662
4663
/*--- dissect_h450_arg ------------------------------------------------------*/
4664
static int
4665
0
dissect_h450_arg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) {
4666
0
  proto_item *hidden_item;
4667
0
  unsigned offset = 0;
4668
0
  rose_ctx_t *rctx;
4669
0
  int32_t opcode;
4670
0
  const h450_op_t *op_ptr;
4671
0
  const char *p;
4672
4673
  /* Reject the packet if data is NULL */
4674
0
  if (data == NULL)
4675
0
    return 0;
4676
0
  rctx = get_rose_ctx(data);
4677
0
  DISSECTOR_ASSERT(rctx);
4678
4679
0
  if (rctx->d.pdu != 1)  /* invoke */
4680
0
    return offset;
4681
0
  if (rctx->d.code != 0)  /* local */
4682
0
    return offset;
4683
0
  opcode = rctx->d.code_local;
4684
0
  op_ptr = get_op(opcode);
4685
0
  if (!op_ptr)
4686
0
    return offset;
4687
4688
0
  hidden_item = proto_tree_add_uint(tree, hf_h450_operation, tvb, 0, 0, opcode);
4689
0
  proto_item_set_hidden(hidden_item);
4690
0
  p = try_val_to_str(opcode, VALS(h450_str_operation));
4691
0
  if (p) {
4692
0
    proto_item_append_text(rctx->d.code_item, " - %s", p);
4693
0
    if (rctx->apdu_depth >= 0)
4694
0
      proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), rctx->apdu_depth), " %s", p);
4695
0
  }
4696
4697
0
  if (op_ptr->arg_pdu && (tvb_reported_length_remaining(tvb, offset) > 0))
4698
0
    offset = op_ptr->arg_pdu(tvb, pinfo, tree, NULL);
4699
0
  else
4700
0
    if (tvb_reported_length_remaining(tvb, offset) > 0) {
4701
0
      proto_tree_add_expert_remaining(tree, pinfo, &ei_h450_unsupported_arg_type, tvb, offset);
4702
0
      offset += tvb_reported_length_remaining(tvb, offset);
4703
0
    }
4704
4705
0
  return offset;
4706
0
}
4707
4708
/*--- dissect_h450_res ------------------------------------------------------*/
4709
static int
4710
0
dissect_h450_res(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) {
4711
0
  proto_item *hidden_item;
4712
0
  unsigned offset = 0;
4713
0
  rose_ctx_t *rctx;
4714
0
  int32_t opcode;
4715
0
  const h450_op_t *op_ptr;
4716
0
  const char *p;
4717
4718
  /* Reject the packet if data is NULL */
4719
0
  if (data == NULL)
4720
0
    return 0;
4721
0
  rctx = get_rose_ctx(data);
4722
0
  DISSECTOR_ASSERT(rctx);
4723
4724
0
  if (rctx->d.pdu != 2)  /* returnResult */
4725
0
    return offset;
4726
0
  if (rctx->d.code != 0)  /* local */
4727
0
    return offset;
4728
0
  opcode = rctx->d.code_local;
4729
0
  op_ptr = get_op(opcode);
4730
0
  if (!op_ptr)
4731
0
    return offset;
4732
4733
0
  hidden_item = proto_tree_add_uint(tree, hf_h450_operation, tvb, 0, 0, opcode);
4734
0
  proto_item_set_hidden(hidden_item);
4735
0
  p = try_val_to_str(opcode, VALS(h450_str_operation));
4736
0
  if (p) {
4737
0
    proto_item_append_text(rctx->d.code_item, " - %s", p);
4738
0
    if (rctx->apdu_depth >= 0)
4739
0
      proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), rctx->apdu_depth), " %s", p);
4740
0
  }
4741
4742
0
  if (op_ptr->res_pdu && (tvb_reported_length_remaining(tvb, offset) > 0))
4743
0
    offset = op_ptr->res_pdu(tvb, pinfo, tree, NULL);
4744
0
  else
4745
0
    if (tvb_reported_length_remaining(tvb, offset) > 0) {
4746
0
      proto_tree_add_expert_remaining(tree, pinfo, &ei_h450_unsupported_result_type, tvb, offset);
4747
0
      offset += tvb_reported_length_remaining(tvb, offset);
4748
0
    }
4749
4750
0
  return offset;
4751
0
}
4752
4753
/*--- dissect_h450_err ------------------------------------------------------*/
4754
static int
4755
0
dissect_h450_err(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) {
4756
0
  proto_item *hidden_item;
4757
0
  unsigned offset = 0;
4758
0
  rose_ctx_t *rctx;
4759
0
  int32_t errcode;
4760
0
  const h450_err_t *err_ptr;
4761
0
  const char *p;
4762
4763
  /* Reject the packet if data is NULL */
4764
0
  if (data == NULL)
4765
0
    return 0;
4766
0
  rctx = get_rose_ctx(data);
4767
0
  DISSECTOR_ASSERT(rctx);
4768
4769
0
  if (rctx->d.pdu != 3)  /* returnError */
4770
0
    return offset;
4771
0
  if (rctx->d.code != 0)  /* local */
4772
0
    return offset;
4773
0
  errcode = rctx->d.code_local;
4774
0
  err_ptr = get_err(errcode);
4775
0
  if (!err_ptr)
4776
0
    return offset;
4777
4778
0
  hidden_item = proto_tree_add_uint(tree, hf_h450_error, tvb, 0, 0, errcode);
4779
0
  proto_item_set_hidden(hidden_item);
4780
0
  p = try_val_to_str(errcode, VALS(h450_str_error));
4781
0
  if (p) {
4782
0
    proto_item_append_text(rctx->d.code_item, " - %s", p);
4783
0
    if (rctx->apdu_depth >= 0)
4784
0
      proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), rctx->apdu_depth), " %s", p);
4785
0
  }
4786
4787
0
  if (err_ptr->err_pdu && (tvb_reported_length_remaining(tvb, offset) > 0))
4788
0
    offset = err_ptr->err_pdu(tvb, pinfo, tree, NULL);
4789
0
  else
4790
0
    if (tvb_reported_length_remaining(tvb, offset) > 0) {
4791
0
      proto_tree_add_expert_remaining(tree, pinfo, &ei_h450_unsupported_error_type, tvb, offset);
4792
0
      offset += tvb_reported_length_remaining(tvb, offset);
4793
0
    }
4794
4795
0
  return offset;
4796
0
}
4797
4798
/*--- proto_register_h450 -------------------------------------------*/
4799
16
void proto_register_h450(void) {
4800
4801
  /* List of fields */
4802
16
  static hf_register_info hf[] = {
4803
16
    { &hf_h450_operation, { "Operation", "h450.operation",
4804
16
                           FT_UINT8, BASE_DEC, VALS(h450_str_operation), 0x0,
4805
16
                           NULL, HFILL }},
4806
16
    { &hf_h450_error,     { "Error", "h450.error",
4807
16
                           FT_UINT16, BASE_DEC, VALS(h450_str_error), 0x0,
4808
16
                           NULL, HFILL }},
4809
4810
/* --- Modules H4501-Supplementary-ServiceAPDU-Structure Addressing-Data-Elements H225-generic-parameters-definition Manufacturer-specific-service-extension-definition H4501-General-Error-List --- --- --- */
4811
4812
16
    { &hf_h450_h450_H4501SupplementaryService_PDU,
4813
16
      { "H4501SupplementaryService", "h450.H4501SupplementaryService_element",
4814
16
        FT_NONE, BASE_NONE, NULL, 0,
4815
16
        NULL, HFILL }},
4816
16
    { &hf_h450_networkFacilityExtension,
4817
16
      { "networkFacilityExtension", "h450.networkFacilityExtension_element",
4818
16
        FT_NONE, BASE_NONE, NULL, 0,
4819
16
        NULL, HFILL }},
4820
16
    { &hf_h450_interpretationApdu,
4821
16
      { "interpretationApdu", "h450.interpretationApdu",
4822
16
        FT_UINT32, BASE_DEC, VALS(h450_InterpretationApdu_vals), 0,
4823
16
        NULL, HFILL }},
4824
16
    { &hf_h450_serviceApdu,
4825
16
      { "serviceApdu", "h450.serviceApdu",
4826
16
        FT_UINT32, BASE_DEC, VALS(h450_ServiceApdus_vals), 0,
4827
16
        "ServiceApdus", HFILL }},
4828
16
    { &hf_h450_sourceEntity,
4829
16
      { "sourceEntity", "h450.sourceEntity",
4830
16
        FT_UINT32, BASE_DEC, VALS(h450_EntityType_vals), 0,
4831
16
        "EntityType", HFILL }},
4832
16
    { &hf_h450_sourceEntityAddress,
4833
16
      { "sourceEntityAddress", "h450.sourceEntityAddress",
4834
16
        FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
4835
16
        "AddressInformation", HFILL }},
4836
16
    { &hf_h450_destinationEntity,
4837
16
      { "destinationEntity", "h450.destinationEntity",
4838
16
        FT_UINT32, BASE_DEC, VALS(h450_EntityType_vals), 0,
4839
16
        "EntityType", HFILL }},
4840
16
    { &hf_h450_destinationEntityAddress,
4841
16
      { "destinationEntityAddress", "h450.destinationEntityAddress",
4842
16
        FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
4843
16
        "AddressInformation", HFILL }},
4844
16
    { &hf_h450_endpoint,
4845
16
      { "endpoint", "h450.endpoint_element",
4846
16
        FT_NONE, BASE_NONE, NULL, 0,
4847
16
        NULL, HFILL }},
4848
16
    { &hf_h450_anyEntity,
4849
16
      { "anyEntity", "h450.anyEntity_element",
4850
16
        FT_NONE, BASE_NONE, NULL, 0,
4851
16
        NULL, HFILL }},
4852
16
    { &hf_h450_discardAnyUnrecognizedInvokePdu,
4853
16
      { "discardAnyUnrecognizedInvokePdu", "h450.discardAnyUnrecognizedInvokePdu_element",
4854
16
        FT_NONE, BASE_NONE, NULL, 0,
4855
16
        NULL, HFILL }},
4856
16
    { &hf_h450_clearCallIfAnyInvokePduNotRecognized,
4857
16
      { "clearCallIfAnyInvokePduNotRecognized", "h450.clearCallIfAnyInvokePduNotRecognized_element",
4858
16
        FT_NONE, BASE_NONE, NULL, 0,
4859
16
        NULL, HFILL }},
4860
16
    { &hf_h450_rejectAnyUnrecognizedInvokePdu,
4861
16
      { "rejectAnyUnrecognizedInvokePdu", "h450.rejectAnyUnrecognizedInvokePdu_element",
4862
16
        FT_NONE, BASE_NONE, NULL, 0,
4863
16
        NULL, HFILL }},
4864
16
    { &hf_h450_rosApdus,
4865
16
      { "rosApdus", "h450.rosApdus",
4866
16
        FT_UINT32, BASE_DEC, NULL, 0,
4867
16
        NULL, HFILL }},
4868
16
    { &hf_h450_rosApdus_item,
4869
16
      { "rosApdus item", "h450.rosApdus_item",
4870
16
        FT_UINT32, BASE_DEC, VALS(h450_ros_ROS_vals), 0,
4871
16
        NULL, HFILL }},
4872
16
    { &hf_h450_destinationAddress,
4873
16
      { "destinationAddress", "h450.destinationAddress",
4874
16
        FT_UINT32, BASE_DEC, NULL, 0,
4875
16
        "SEQUENCE_OF_AliasAddress", HFILL }},
4876
16
    { &hf_h450_destinationAddress_item,
4877
16
      { "AliasAddress", "h450.AliasAddress",
4878
16
        FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
4879
16
        NULL, HFILL }},
4880
16
    { &hf_h450_remoteExtensionAddress,
4881
16
      { "remoteExtensionAddress", "h450.remoteExtensionAddress",
4882
16
        FT_UINT32, BASE_DEC, VALS(AliasAddress_vals), 0,
4883
16
        "AliasAddress", HFILL }},
4884
16
    { &hf_h450_destinationAddressPresentationIndicator,
4885
16
      { "destinationAddressPresentationIndicator", "h450.destinationAddressPresentationIndicator",
4886
16
        FT_UINT32, BASE_DEC, VALS(h225_PresentationIndicator_vals), 0,
4887
16
        "PresentationIndicator", HFILL }},
4888
16
    { &hf_h450_destinationAddressScreeningIndicator,
4889
16
      { "destinationAddressScreeningIndicator", "h450.destinationAddressScreeningIndicator",
4890
16
        FT_UINT32, BASE_DEC, VALS(h225_ScreeningIndicator_vals), 0,
4891
16
        "ScreeningIndicator", HFILL }},
4892
16
    { &hf_h450_remoteExtensionAddressPresentationIndicator,
4893
16
      { "remoteExtensionAddressPresentationIndicator", "h450.remoteExtensionAddressPresentationIndicator",
4894
16
        FT_UINT32, BASE_DEC, VALS(h225_PresentationIndicator_vals), 0,
4895
16
        "PresentationIndicator", HFILL }},
4896
16
    { &hf_h450_remoteExtensionAddressScreeningIndicator,
4897
16
      { "remoteExtensionAddressScreeningIndicator", "h450.remoteExtensionAddressScreeningIndicator",
4898
16
        FT_UINT32, BASE_DEC, VALS(h225_ScreeningIndicator_vals), 0,
4899
16
        "ScreeningIndicator", HFILL }},
4900
16
    { &hf_h450_userSpecifiedSubaddress,
4901
16
      { "userSpecifiedSubaddress", "h450.userSpecifiedSubaddress_element",
4902
16
        FT_NONE, BASE_NONE, NULL, 0,
4903
16
        NULL, HFILL }},
4904
16
    { &hf_h450_nsapSubaddress,
4905
16
      { "nsapSubaddress", "h450.nsapSubaddress",
4906
16
        FT_BYTES, BASE_NONE, NULL, 0,
4907
16
        NULL, HFILL }},
4908
16
    { &hf_h450_subaddressInformation,
4909
16
      { "subaddressInformation", "h450.subaddressInformation",
4910
16
        FT_BYTES, BASE_NONE, NULL, 0,
4911
16
        NULL, HFILL }},
4912
16
    { &hf_h450_oddCountIndicator,
4913
16
      { "oddCountIndicator", "h450.oddCountIndicator",
4914
16
        FT_BOOLEAN, BASE_NONE, NULL, 0,
4915
16
        "BOOLEAN", HFILL }},
4916
16
    { &hf_h450_extensionId,
4917
16
      { "extensionId", "h450.extensionId",
4918
16
        FT_OID, BASE_NONE, NULL, 0,
4919
16
        "OBJECT_IDENTIFIER", HFILL }},
4920
16
    { &hf_h450_extensionArgument,
4921
16
      { "extensionArgument", "h450.extensionArgument_element",
4922
16
        FT_NONE, BASE_NONE, NULL, 0,
4923
16
        NULL, HFILL }},
4924
4925
/* --- Module Call-Transfer-Operations --- --- ---                            */
4926
4927
16
    { &hf_h450_2_h450_2_DummyArg_PDU,
4928
16
      { "DummyArg", "h450.2.DummyArg",
4929
16
        FT_UINT32, BASE_DEC, VALS(h450_2_DummyArg_vals), 0,
4930
16
        NULL, HFILL }},
4931
16
    { &hf_h450_2_h450_2_CTIdentifyRes_PDU,
4932
16
      { "CTIdentifyRes", "h450.2.CTIdentifyRes_element",
4933
16
        FT_NONE, BASE_NONE, NULL, 0,
4934
16
        NULL, HFILL }},
4935
16
    { &hf_h450_2_h450_2_CTInitiateArg_PDU,
4936
16
      { "CTInitiateArg", "h450.2.CTInitiateArg_element",
4937
16
        FT_NONE, BASE_NONE, NULL, 0,
4938
16
        NULL, HFILL }},
4939
16
    { &hf_h450_2_h450_2_DummyRes_PDU,
4940
16
      { "DummyRes", "h450.2.DummyRes",
4941
16
        FT_UINT32, BASE_DEC, VALS(h450_2_DummyRes_vals), 0,
4942
16
        NULL, HFILL }},
4943
16
    { &hf_h450_2_h450_2_CTSetupArg_PDU,
4944
16
      { "CTSetupArg", "h450.2.CTSetupArg_element",
4945
16
        FT_NONE, BASE_NONE, NULL, 0,
4946
16
        NULL, HFILL }},
4947
16
    { &hf_h450_2_h450_2_CTUpdateArg_PDU,
4948
16
      { "CTUpdateArg", "h450.2.CTUpdateArg_element",
4949
16
        FT_NONE, BASE_NONE, NULL, 0,
4950
16
        NULL, HFILL }},
4951
16
    { &hf_h450_2_h450_2_SubaddressTransferArg_PDU,
4952
16
      { "SubaddressTransferArg", "h450.2.SubaddressTransferArg_element",
4953
16
        FT_NONE, BASE_NONE, NULL, 0,
4954
16
        NULL, HFILL }},
4955
16
    { &hf_h450_2_h450_2_CTCompleteArg_PDU,
4956
16
      { "CTCompleteArg", "h450.2.CTCompleteArg_element",
4957
16
        FT_NONE, BASE_NONE, NULL, 0,
4958
16
        NULL, HFILL }},
4959
16
    { &hf_h450_2_h450_2_CTActiveArg_PDU,
4960
16
      { "CTActiveArg", "h450.2.CTActiveArg_element",
4961
16
        FT_NONE, BASE_NONE, NULL, 0,
4962
16
        NULL, HFILL }},
4963
16
    { &hf_h450_2_h450_2_PAR_unspecified_PDU,
4964
16
      { "PAR-unspecified", "h450.2.PAR_unspecified",
4965
16
        FT_UINT32, BASE_DEC, VALS(h450_2_PAR_unspecified_vals), 0,
4966
16
        NULL, HFILL }},
4967
16
    { &hf_h450_2_extensionSeq,
4968
16
      { "extensionSeq", "h450.2.extensionSeq",
4969
16
        FT_UINT32, BASE_DEC, NULL, 0,
4970
16
        NULL, HFILL }},
4971
16
    { &hf_h450_2_nonStandardData,
4972
16
      { "nonStandardData", "h450.2.nonStandardData_element",
4973
16
        FT_NONE, BASE_NONE, NULL, 0,
4974
16
        "NonStandardParameter", HFILL }},
4975
16
    { &hf_h450_2_callIdentity,
4976
16
      { "callIdentity", "h450.2.callIdentity",
4977
16
        FT_STRING, BASE_NONE, NULL, 0,
4978
16
        NULL, HFILL }},
4979
16
    { &hf_h450_2_reroutingNumber,
4980
16
      { "reroutingNumber", "h450.2.reroutingNumber_element",
4981
16
        FT_NONE, BASE_NONE, NULL, 0,
4982
16
        "EndpointAddress", HFILL }},
4983
16
    { &hf_h450_2_cTInitiateArg_argumentExtension,
4984
16
      { "argumentExtension", "h450.2.cTInitiateArg_argumentExtension",
4985
16
        FT_UINT32, BASE_DEC, VALS(h450_2_T_cTInitiateArg_argumentExtension_vals), 0,
4986
16
        "T_cTInitiateArg_argumentExtension", HFILL }},
4987
16
    { &hf_h450_2_transferringNumber,
4988
16
      { "transferringNumber", "h450.2.transferringNumber_element",
4989
16
        FT_NONE, BASE_NONE, NULL, 0,
4990
16
        "EndpointAddress", HFILL }},
4991
16
    { &hf_h450_2_cTSetupArg_argumentExtension,
4992
16
      { "argumentExtension", "h450.2.cTSetupArg_argumentExtension",
4993
16
        FT_UINT32, BASE_DEC, VALS(h450_2_T_cTSetupArg_argumentExtension_vals), 0,
4994
16
        "T_cTSetupArg_argumentExtension", HFILL }},
4995
16
    { &hf_h450_2_resultExtension,
4996
16
      { "resultExtension", "h450.2.resultExtension",
4997
16
        FT_UINT32, BASE_DEC, VALS(h450_2_T_resultExtension_vals), 0,
4998
16
        NULL, HFILL }},
4999
16
    { &hf_h450_2_redirectionNumber,
5000
16
      { "redirectionNumber", "h450.2.redirectionNumber_element",
5001
16
        FT_NONE, BASE_NONE, NULL, 0,
5002
16
        "EndpointAddress", HFILL }},
5003
16
    { &hf_h450_2_redirectionInfo,
5004
16
      { "redirectionInfo", "h450.2.redirectionInfo",
5005
16
        FT_STRING, BASE_NONE, NULL, 0,
5006
16
        "BMPString_SIZE_1_128", HFILL }},
5007
16
    { &hf_h450_2_basicCallInfoElements,
5008
16
      { "basicCallInfoElements", "h450.2.basicCallInfoElements",
5009
16
        FT_BYTES, BASE_NONE, NULL, 0,
5010
16
        "H225InformationElement", HFILL }},
5011
16
    { &hf_h450_2_cTUpdateArg_argumentExtension,
5012
16
      { "argumentExtension", "h450.2.cTUpdateArg_argumentExtension",
5013
16
        FT_UINT32, BASE_DEC, VALS(h450_2_T_cTUpdateArg_argumentExtension_vals), 0,
5014
16
        "T_cTUpdateArg_argumentExtension", HFILL }},
5015
16
    { &hf_h450_2_redirectionSubaddress,
5016
16
      { "redirectionSubaddress", "h450.2.redirectionSubaddress",
5017
16
        FT_UINT32, BASE_DEC, VALS(h450_PartySubaddress_vals), 0,
5018
16
        "PartySubaddress", HFILL }},
5019
16
    { &hf_h450_2_subaddressTransferArg_argumentExtension,
5020
16
      { "argumentExtension", "h450.2.subaddressTransferArg_argumentExtension",
5021
16
        FT_UINT32, BASE_DEC, VALS(h450_2_T_subaddressTransferArg_argumentExtension_vals), 0,
5022
16
        "T_subaddressTransferArg_argumentExtension", HFILL }},
5023
16
    { &hf_h450_2_endDesignation,
5024
16
      { "endDesignation", "h450.2.endDesignation",
5025
16
        FT_UINT32, BASE_DEC, VALS(h450_2_EndDesignation_vals), 0,
5026
16
        NULL, HFILL }},
5027
16
    { &hf_h450_2_callStatus,
5028
16
      { "callStatus", "h450.2.callStatus",
5029
16
        FT_UINT32, BASE_DEC, VALS(h450_2_CallStatus_vals), 0,
5030
16
        NULL, HFILL }},
5031
16
    { &hf_h450_2_cTCompleteArg_argumentExtension,
5032
16
      { "argumentExtension", "h450.2.cTCompleteArg_argumentExtension",
5033
16
        FT_UINT32, BASE_DEC, VALS(h450_2_T_cTCompleteArg_argumentExtension_vals), 0,
5034
16
        "T_cTCompleteArg_argumentExtension", HFILL }},
5035
16
    { &hf_h450_2_connectedAddress,
5036
16
      { "connectedAddress", "h450.2.connectedAddress_element",
5037
16
        FT_NONE, BASE_NONE, NULL, 0,
5038
16
        "EndpointAddress", HFILL }},
5039
16
    { &hf_h450_2_connectedInfo,
5040
16
      { "connectedInfo", "h450.2.connectedInfo",
5041
16
        FT_STRING, BASE_NONE, NULL, 0,
5042
16
        "BMPString_SIZE_1_128", HFILL }},
5043
16
    { &hf_h450_2_cTActiveArg_argumentExtension,
5044
16
      { "argumentExtension", "h450.2.cTActiveArg_argumentExtension",
5045
16
        FT_UINT32, BASE_DEC, VALS(h450_2_T_cTActiveArg_argumentExtension_vals), 0,
5046
16
        "T_cTActiveArg_argumentExtension", HFILL }},
5047
16
    { &hf_h450_2_ExtensionSeq_item,
5048
16
      { "Extension", "h450.2.Extension_element",
5049
16
        FT_NONE, BASE_NONE, NULL, 0,
5050
16
        NULL, HFILL }},
5051
16
    { &hf_h450_2_unspecified_extension,
5052
16
      { "extension", "h450.2.unspecified_extension_element",
5053
16
        FT_NONE, BASE_NONE, NULL, 0,
5054
16
        NULL, HFILL }},
5055
16
    { &hf_h450_2_nonStandard,
5056
16
      { "nonStandard", "h450.2.nonStandard_element",
5057
16
        FT_NONE, BASE_NONE, NULL, 0,
5058
16
        "NonStandardParameter", HFILL }},
5059
5060
/* --- Module Call-Diversion-Operations --- --- ---                           */
5061
5062
16
    { &hf_h450_3_h450_3_ARG_activateDiversionQ_PDU,
5063
16
      { "ARG-activateDiversionQ", "h450.3.ARG_activateDiversionQ_element",
5064
16
        FT_NONE, BASE_NONE, NULL, 0,
5065
16
        NULL, HFILL }},
5066
16
    { &hf_h450_3_h450_3_RES_activateDiversionQ_PDU,
5067
16
      { "RES-activateDiversionQ", "h450.3.RES_activateDiversionQ",
5068
16
        FT_UINT32, BASE_DEC, VALS(h450_3_RES_activateDiversionQ_vals), 0,
5069
16
        NULL, HFILL }},
5070
16
    { &hf_h450_3_h450_3_ARG_deactivateDiversionQ_PDU,
5071
16
      { "ARG-deactivateDiversionQ", "h450.3.ARG_deactivateDiversionQ_element",
5072
16
        FT_NONE, BASE_NONE, NULL, 0,
5073
16
        NULL, HFILL }},
5074
16
    { &hf_h450_3_h450_3_RES_deactivateDiversionQ_PDU,
5075
16
      { "RES-deactivateDiversionQ", "h450.3.RES_deactivateDiversionQ",
5076
16
        FT_UINT32, BASE_DEC, VALS(h450_3_RES_deactivateDiversionQ_vals), 0,
5077
16
        NULL, HFILL }},
5078
16
    { &hf_h450_3_h450_3_ARG_interrogateDiversionQ_PDU,
5079
16
      { "ARG-interrogateDiversionQ", "h450.3.ARG_interrogateDiversionQ_element",
5080
16
        FT_NONE, BASE_NONE, NULL, 0,
5081
16
        NULL, HFILL }},
5082
16
    { &hf_h450_3_h450_3_IntResultList_PDU,
5083
16
      { "IntResultList", "h450.3.IntResultList",
5084
16
        FT_UINT32, BASE_DEC, NULL, 0,
5085
16
        NULL, HFILL }},
5086
16
    { &hf_h450_3_h450_3_ARG_checkRestriction_PDU,
5087
16
      { "ARG-checkRestriction", "h450.3.ARG_checkRestriction_element",
5088
16
        FT_NONE, BASE_NONE, NULL, 0,
5089
16
        NULL, HFILL }},
5090
16
    { &hf_h450_3_h450_3_RES_checkRestriction_PDU,
5091
16
      { "RES-checkRestriction", "h450.3.RES_checkRestriction",
5092
16
        FT_UINT32, BASE_DEC, VALS(h450_3_RES_checkRestriction_vals), 0,
5093
16
        NULL, HFILL }},
5094
16
    { &hf_h450_3_h450_3_ARG_callRerouting_PDU,
5095
16
      { "ARG-callRerouting", "h450.3.ARG_callRerouting_element",
5096
16
        FT_NONE, BASE_NONE, NULL, 0,
5097
16
        NULL, HFILL }},
5098
16
    { &hf_h450_3_h450_3_RES_callRerouting_PDU,
5099
16
      { "RES-callRerouting", "h450.3.RES_callRerouting",
5100
16
        FT_UINT32, BASE_DEC, VALS(h450_3_RES_callRerouting_vals), 0,
5101
16
        NULL, HFILL }},
5102
16
    { &hf_h450_3_h450_3_ARG_divertingLegInformation1_PDU,
5103
16
      { "ARG-divertingLegInformation1", "h450.3.ARG_divertingLegInformation1_element",
5104
16
        FT_NONE, BASE_NONE, NULL, 0,
5105
16
        NULL, HFILL }},
5106
16
    { &hf_h450_3_h450_3_ARG_divertingLegInformation2_PDU,
5107
16
      { "ARG-divertingLegInformation2", "h450.3.ARG_divertingLegInformation2_element",
5108
16
        FT_NONE, BASE_NONE, NULL, 0,
5109
16
        NULL, HFILL }},
5110
16
    { &hf_h450_3_h450_3_ARG_divertingLegInformation3_PDU,
5111
16
      { "ARG-divertingLegInformation3", "h450.3.ARG_divertingLegInformation3_element",
5112
16
        FT_NONE, BASE_NONE, NULL, 0,
5113
16
        NULL, HFILL }},
5114
16
    { &hf_h450_3_h450_3_ARG_divertingLegInformation4_PDU,
5115
16
      { "ARG-divertingLegInformation4", "h450.3.ARG_divertingLegInformation4_element",
5116
16
        FT_NONE, BASE_NONE, NULL, 0,
5117
16
        NULL, HFILL }},
5118
16
    { &hf_h450_3_h450_3_ARG_cfnrDivertedLegFailed_PDU,
5119
16
      { "ARG-cfnrDivertedLegFailed", "h450.3.ARG_cfnrDivertedLegFailed",
5120
16
        FT_UINT32, BASE_DEC, VALS(h450_3_ARG_cfnrDivertedLegFailed_vals), 0,
5121
16
        NULL, HFILL }},
5122
16
    { &hf_h450_3_h450_3_PAR_unspecified_PDU,
5123
16
      { "PAR-unspecified", "h450.3.PAR_unspecified",
5124
16
        FT_UINT32, BASE_DEC, VALS(h450_3_PAR_unspecified_vals), 0,
5125
16
        NULL, HFILL }},
5126
16
    { &hf_h450_3_procedure,
5127
16
      { "procedure", "h450.3.procedure",
5128
16
        FT_UINT32, BASE_DEC, VALS(h450_3_Procedure_vals), 0,
5129
16
        NULL, HFILL }},
5130
16
    { &hf_h450_3_basicService,
5131
16
      { "basicService", "h450.3.basicService",
5132
16
        FT_UINT32, BASE_DEC, VALS(h450_3_BasicService_vals), 0,
5133
16
        NULL, HFILL }},
5134
16
    { &hf_h450_3_divertedToAddress,
5135
16
      { "divertedToAddress", "h450.3.divertedToAddress_element",
5136
16
        FT_NONE, BASE_NONE, NULL, 0,
5137
16
        "EndpointAddress", HFILL }},
5138
16
    { &hf_h450_3_servedUserNr,
5139
16
      { "servedUserNr", "h450.3.servedUserNr_element",
5140
16
        FT_NONE, BASE_NONE, NULL, 0,
5141
16
        "EndpointAddress", HFILL }},
5142
16
    { &hf_h450_3_activatingUserNr,
5143
16
      { "activatingUserNr", "h450.3.activatingUserNr_element",
5144
16
        FT_NONE, BASE_NONE, NULL, 0,
5145
16
        "EndpointAddress", HFILL }},
5146
16
    { &hf_h450_3_activateDiversionQArg_extension,
5147
16
      { "extension", "h450.3.activateDiversionQArg_extension",
5148
16
        FT_UINT32, BASE_DEC, VALS(h450_3_ActivateDiversionQArg_extension_vals), 0,
5149
16
        "ActivateDiversionQArg_extension", HFILL }},
5150
16
    { &hf_h450_3_extensionSeq,
5151
16
      { "extensionSeq", "h450.3.extensionSeq",
5152
16
        FT_UINT32, BASE_DEC, NULL, 0,
5153
16
        NULL, HFILL }},
5154
16
    { &hf_h450_3_nonStandardData,
5155
16
      { "nonStandardData", "h450.3.nonStandardData_element",
5156
16
        FT_NONE, BASE_NONE, NULL, 0,
5157
16
        "NonStandardParameter", HFILL }},
5158
16
    { &hf_h450_3_deactivatingUserNr,
5159
16
      { "deactivatingUserNr", "h450.3.deactivatingUserNr_element",
5160
16
        FT_NONE, BASE_NONE, NULL, 0,
5161
16
        "EndpointAddress", HFILL }},
5162
16
    { &hf_h450_3_deactivateDiversionQArg_extension,
5163
16
      { "extension", "h450.3.deactivateDiversionQArg_extension",
5164
16
        FT_UINT32, BASE_DEC, VALS(h450_3_DeactivateDiversionQArg_extension_vals), 0,
5165
16
        "DeactivateDiversionQArg_extension", HFILL }},
5166
16
    { &hf_h450_3_interrogatingUserNr,
5167
16
      { "interrogatingUserNr", "h450.3.interrogatingUserNr_element",
5168
16
        FT_NONE, BASE_NONE, NULL, 0,
5169
16
        "EndpointAddress", HFILL }},
5170
16
    { &hf_h450_3_interrogateDiversionQ_extension,
5171
16
      { "extension", "h450.3.interrogateDiversionQ_extension",
5172
16
        FT_UINT32, BASE_DEC, VALS(h450_3_InterrogateDiversionQ_extension_vals), 0,
5173
16
        "InterrogateDiversionQ_extension", HFILL }},
5174
16
    { &hf_h450_3_divertedToNr,
5175
16
      { "divertedToNr", "h450.3.divertedToNr_element",
5176
16
        FT_NONE, BASE_NONE, NULL, 0,
5177
16
        "EndpointAddress", HFILL }},
5178
16
    { &hf_h450_3_checkRestrictionArg_extension,
5179
16
      { "extension", "h450.3.checkRestrictionArg_extension",
5180
16
        FT_UINT32, BASE_DEC, VALS(h450_3_CheckRestrictionArg_extension_vals), 0,
5181
16
        "CheckRestrictionArg_extension", HFILL }},
5182
16
    { &hf_h450_3_reroutingReason,
5183
16
      { "reroutingReason", "h450.3.reroutingReason",
5184
16
        FT_UINT32, BASE_DEC, VALS(h450_3_DiversionReason_vals), 0,
5185
16
        "DiversionReason", HFILL }},
5186
16
    { &hf_h450_3_originalReroutingReason,
5187
16
      { "originalReroutingReason", "h450.3.originalReroutingReason",
5188
16
        FT_UINT32, BASE_DEC, VALS(h450_3_DiversionReason_vals), 0,
5189
16
        "DiversionReason", HFILL }},
5190
16
    { &hf_h450_3_calledAddress,
5191
16
      { "calledAddress", "h450.3.calledAddress_element",
5192
16
        FT_NONE, BASE_NONE, NULL, 0,
5193
16
        "EndpointAddress", HFILL }},
5194
16
    { &hf_h450_3_diversionCounter,
5195
16
      { "diversionCounter", "h450.3.diversionCounter",
5196
16
        FT_UINT32, BASE_DEC, NULL, 0,
5197
16
        "INTEGER_1_15", HFILL }},
5198
16
    { &hf_h450_3_h225InfoElement,
5199
16
      { "h225InfoElement", "h450.3.h225InfoElement",
5200
16
        FT_BYTES, BASE_NONE, NULL, 0,
5201
16
        "H225InformationElement", HFILL }},
5202
16
    { &hf_h450_3_lastReroutingNr,
5203
16
      { "lastReroutingNr", "h450.3.lastReroutingNr_element",
5204
16
        FT_NONE, BASE_NONE, NULL, 0,
5205
16
        "EndpointAddress", HFILL }},
5206
16
    { &hf_h450_3_subscriptionOption,
5207
16
      { "subscriptionOption", "h450.3.subscriptionOption",
5208
16
        FT_UINT32, BASE_DEC, VALS(h450_3_SubscriptionOption_vals), 0,
5209
16
        NULL, HFILL }},
5210
16
    { &hf_h450_3_callingPartySubaddress,
5211
16
      { "callingPartySubaddress", "h450.3.callingPartySubaddress",
5212
16
        FT_UINT32, BASE_DEC, VALS(h450_PartySubaddress_vals), 0,
5213
16
        "PartySubaddress", HFILL }},
5214
16
    { &hf_h450_3_callingNumber,
5215
16
      { "callingNumber", "h450.3.callingNumber_element",
5216
16
        FT_NONE, BASE_NONE, NULL, 0,
5217
16
        "EndpointAddress", HFILL }},
5218
16
    { &hf_h450_3_callingInfo,
5219
16
      { "callingInfo", "h450.3.callingInfo",
5220
16
        FT_STRING, BASE_NONE, NULL, 0,
5221
16
        "BMPString_SIZE_1_128", HFILL }},
5222
16
    { &hf_h450_3_originalCalledNr,
5223
16
      { "originalCalledNr", "h450.3.originalCalledNr_element",
5224
16
        FT_NONE, BASE_NONE, NULL, 0,
5225
16
        "EndpointAddress", HFILL }},
5226
16
    { &hf_h450_3_redirectingInfo,
5227
16
      { "redirectingInfo", "h450.3.redirectingInfo",
5228
16
        FT_STRING, BASE_NONE, NULL, 0,
5229
16
        "BMPString_SIZE_1_128", HFILL }},
5230
16
    { &hf_h450_3_originalCalledInfo,
5231
16
      { "originalCalledInfo", "h450.3.originalCalledInfo",
5232
16
        FT_STRING, BASE_NONE, NULL, 0,
5233
16
        "BMPString_SIZE_1_128", HFILL }},
5234
16
    { &hf_h450_3_callReroutingArg_extension,
5235
16
      { "extension", "h450.3.callReroutingArg_extension",
5236
16
        FT_UINT32, BASE_DEC, VALS(h450_3_CallReroutingArg_extension_vals), 0,
5237
16
        "CallReroutingArg_extension", HFILL }},
5238
16
    { &hf_h450_3_diversionReason,
5239
16
      { "diversionReason", "h450.3.diversionReason",
5240
16
        FT_UINT32, BASE_DEC, VALS(h450_3_DiversionReason_vals), 0,
5241
16
        NULL, HFILL }},
5242
16
    { &hf_h450_3_nominatedNr,
5243
16
      { "nominatedNr", "h450.3.nominatedNr_element",
5244
16
        FT_NONE, BASE_NONE, NULL, 0,
5245
16
        "EndpointAddress", HFILL }},
5246
16
    { &hf_h450_3_nominatedInfo,
5247
16
      { "nominatedInfo", "h450.3.nominatedInfo",
5248
16
        FT_STRING, BASE_NONE, NULL, 0,
5249
16
        "BMPString_SIZE_1_128", HFILL }},
5250
16
    { &hf_h450_3_redirectingNr,
5251
16
      { "redirectingNr", "h450.3.redirectingNr_element",
5252
16
        FT_NONE, BASE_NONE, NULL, 0,
5253
16
        "EndpointAddress", HFILL }},
5254
16
    { &hf_h450_3_divertingLegInformation1Arg_extension,
5255
16
      { "extension", "h450.3.divertingLegInformation1Arg_extension",
5256
16
        FT_UINT32, BASE_DEC, VALS(h450_3_DivertingLegInformation1Arg_extension_vals), 0,
5257
16
        "DivertingLegInformation1Arg_extension", HFILL }},
5258
16
    { &hf_h450_3_originalDiversionReason,
5259
16
      { "originalDiversionReason", "h450.3.originalDiversionReason",
5260
16
        FT_UINT32, BASE_DEC, VALS(h450_3_DiversionReason_vals), 0,
5261
16
        "DiversionReason", HFILL }},
5262
16
    { &hf_h450_3_divertingNr,
5263
16
      { "divertingNr", "h450.3.divertingNr_element",
5264
16
        FT_NONE, BASE_NONE, NULL, 0,
5265
16
        "EndpointAddress", HFILL }},
5266
16
    { &hf_h450_3_divertingLegInformation2Arg_extension,
5267
16
      { "extension", "h450.3.divertingLegInformation2Arg_extension",
5268
16
        FT_UINT32, BASE_DEC, VALS(h450_3_DivertingLegInformation2Arg_extension_vals), 0,
5269
16
        "DivertingLegInformation2Arg_extension", HFILL }},
5270
16
    { &hf_h450_3_presentationAllowedIndicator,
5271
16
      { "presentationAllowedIndicator", "h450.3.presentationAllowedIndicator",
5272
16
        FT_BOOLEAN, BASE_NONE, NULL, 0,
5273
16
        NULL, HFILL }},
5274
16
    { &hf_h450_3_redirectionNr,
5275
16
      { "redirectionNr", "h450.3.redirectionNr_element",
5276
16
        FT_NONE, BASE_NONE, NULL, 0,
5277
16
        "EndpointAddress", HFILL }},
5278
16
    { &hf_h450_3_redirectionInfo,
5279
16
      { "redirectionInfo", "h450.3.redirectionInfo",
5280
16
        FT_STRING, BASE_NONE, NULL, 0,
5281
16
        "BMPString_SIZE_1_128", HFILL }},
5282
16
    { &hf_h450_3_divertingLegInformation3Arg_extension,
5283
16
      { "extension", "h450.3.divertingLegInformation3Arg_extension",
5284
16
        FT_UINT32, BASE_DEC, VALS(h450_3_DivertingLegInformation3Arg_extension_vals), 0,
5285
16
        "DivertingLegInformation3Arg_extension", HFILL }},
5286
16
    { &hf_h450_3_callingNr,
5287
16
      { "callingNr", "h450.3.callingNr_element",
5288
16
        FT_NONE, BASE_NONE, NULL, 0,
5289
16
        "EndpointAddress", HFILL }},
5290
16
    { &hf_h450_3_divertingLegInformation4Arg_extension,
5291
16
      { "extension", "h450.3.divertingLegInformation4Arg_extension",
5292
16
        FT_UINT32, BASE_DEC, VALS(h450_3_DivertingLegInformation4Arg_extension_vals), 0,
5293
16
        "DivertingLegInformation4Arg_extension", HFILL }},
5294
16
    { &hf_h450_3_IntResultList_item,
5295
16
      { "IntResult", "h450.3.IntResult_element",
5296
16
        FT_NONE, BASE_NONE, NULL, 0,
5297
16
        NULL, HFILL }},
5298
16
    { &hf_h450_3_remoteEnabled,
5299
16
      { "remoteEnabled", "h450.3.remoteEnabled",
5300
16
        FT_BOOLEAN, BASE_NONE, NULL, 0,
5301
16
        "BOOLEAN", HFILL }},
5302
16
    { &hf_h450_3_intResult_extension,
5303
16
      { "extension", "h450.3.intResult_extension",
5304
16
        FT_UINT32, BASE_DEC, VALS(h450_3_IntResult_extension_vals), 0,
5305
16
        "IntResult_extension", HFILL }},
5306
16
    { &hf_h450_3_unspecified_extension,
5307
16
      { "extension", "h450.3.unspecified_extension_element",
5308
16
        FT_NONE, BASE_NONE, NULL, 0,
5309
16
        NULL, HFILL }},
5310
16
    { &hf_h450_3_nonStandard,
5311
16
      { "nonStandard", "h450.3.nonStandard_element",
5312
16
        FT_NONE, BASE_NONE, NULL, 0,
5313
16
        "NonStandardParameter", HFILL }},
5314
16
    { &hf_h450_3_ExtensionSeq_item,
5315
16
      { "Extension", "h450.3.Extension_element",
5316
16
        FT_NONE, BASE_NONE, NULL, 0,
5317
16
        NULL, HFILL }},
5318
5319
/* --- Module Call-Hold-Operations --- --- ---                                */
5320
5321
16
    { &hf_h450_4_h450_4_HoldNotificArg_PDU,
5322
16
      { "HoldNotificArg", "h450.4.HoldNotificArg_element",
5323
16
        FT_NONE, BASE_NONE, NULL, 0,
5324
16
        NULL, HFILL }},
5325
16
    { &hf_h450_4_h450_4_RetrieveNotificArg_PDU,
5326
16
      { "RetrieveNotificArg", "h450.4.RetrieveNotificArg_element",
5327
16
        FT_NONE, BASE_NONE, NULL, 0,
5328
16
        NULL, HFILL }},
5329
16
    { &hf_h450_4_h450_4_RemoteHoldArg_PDU,
5330
16
      { "RemoteHoldArg", "h450.4.RemoteHoldArg_element",
5331
16
        FT_NONE, BASE_NONE, NULL, 0,
5332
16
        NULL, HFILL }},
5333
16
    { &hf_h450_4_h450_4_RemoteHoldRes_PDU,
5334
16
      { "RemoteHoldRes", "h450.4.RemoteHoldRes_element",
5335
16
        FT_NONE, BASE_NONE, NULL, 0,
5336
16
        NULL, HFILL }},
5337
16
    { &hf_h450_4_h450_4_RemoteRetrieveArg_PDU,
5338
16
      { "RemoteRetrieveArg", "h450.4.RemoteRetrieveArg_element",
5339
16
        FT_NONE, BASE_NONE, NULL, 0,
5340
16
        NULL, HFILL }},
5341
16
    { &hf_h450_4_h450_4_RemoteRetrieveRes_PDU,
5342
16
      { "RemoteRetrieveRes", "h450.4.RemoteRetrieveRes_element",
5343
16
        FT_NONE, BASE_NONE, NULL, 0,
5344
16
        NULL, HFILL }},
5345
16
    { &hf_h450_4_h450_4_PAR_undefined_PDU,
5346
16
      { "PAR-undefined", "h450.4.PAR_undefined",
5347
16
        FT_UINT32, BASE_DEC, NULL, 0,
5348
16
        NULL, HFILL }},
5349
16
    { &hf_h450_4_holdNotificArg_extensionArg,
5350
16
      { "extensionArg", "h450.4.holdNotificArg_extensionArg",
5351
16
        FT_UINT32, BASE_DEC, NULL, 0,
5352
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
5353
16
    { &hf_h450_4_holdNotificArg_extensionArg_item,
5354
16
      { "MixedExtension", "h450.4.MixedExtension",
5355
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
5356
16
        NULL, HFILL }},
5357
16
    { &hf_h450_4_retrieveNotificArg_extensionArg,
5358
16
      { "extensionArg", "h450.4.retrieveNotificArg_extensionArg",
5359
16
        FT_UINT32, BASE_DEC, NULL, 0,
5360
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
5361
16
    { &hf_h450_4_retrieveNotificArg_extensionArg_item,
5362
16
      { "MixedExtension", "h450.4.MixedExtension",
5363
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
5364
16
        NULL, HFILL }},
5365
16
    { &hf_h450_4_remoteHoldArg_extensionArg,
5366
16
      { "extensionArg", "h450.4.remoteHoldArg_extensionArg",
5367
16
        FT_UINT32, BASE_DEC, NULL, 0,
5368
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
5369
16
    { &hf_h450_4_remoteHoldArg_extensionArg_item,
5370
16
      { "MixedExtension", "h450.4.MixedExtension",
5371
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
5372
16
        NULL, HFILL }},
5373
16
    { &hf_h450_4_extensionRes,
5374
16
      { "extensionRes", "h450.4.extensionRes",
5375
16
        FT_UINT32, BASE_DEC, NULL, 0,
5376
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
5377
16
    { &hf_h450_4_extensionRes_item,
5378
16
      { "MixedExtension", "h450.4.MixedExtension",
5379
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
5380
16
        NULL, HFILL }},
5381
16
    { &hf_h450_4_remoteRetrieveArg_extensionArg,
5382
16
      { "extensionArg", "h450.4.remoteRetrieveArg_extensionArg",
5383
16
        FT_UINT32, BASE_DEC, NULL, 0,
5384
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
5385
16
    { &hf_h450_4_remoteRetrieveArg_extensionArg_item,
5386
16
      { "MixedExtension", "h450.4.MixedExtension",
5387
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
5388
16
        NULL, HFILL }},
5389
16
    { &hf_h450_4_mixedExtension_extension,
5390
16
      { "extension", "h450.4.mixedExtension_extension_element",
5391
16
        FT_NONE, BASE_NONE, NULL, 0,
5392
16
        NULL, HFILL }},
5393
16
    { &hf_h450_4_nonStandardData,
5394
16
      { "nonStandardData", "h450.4.nonStandardData_element",
5395
16
        FT_NONE, BASE_NONE, NULL, 0,
5396
16
        "NonStandardParameter", HFILL }},
5397
16
    { &hf_h450_4_PAR_undefined_item,
5398
16
      { "MixedExtension", "h450.4.MixedExtension",
5399
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
5400
16
        NULL, HFILL }},
5401
5402
/* --- Module Call-Park-Pickup-Operations --- --- ---                         */
5403
5404
16
    { &hf_h450_5_h450_5_CpRequestArg_PDU,
5405
16
      { "CpRequestArg", "h450.5.CpRequestArg_element",
5406
16
        FT_NONE, BASE_NONE, NULL, 0,
5407
16
        NULL, HFILL }},
5408
16
    { &hf_h450_5_h450_5_CpRequestRes_PDU,
5409
16
      { "CpRequestRes", "h450.5.CpRequestRes_element",
5410
16
        FT_NONE, BASE_NONE, NULL, 0,
5411
16
        NULL, HFILL }},
5412
16
    { &hf_h450_5_h450_5_CpSetupArg_PDU,
5413
16
      { "CpSetupArg", "h450.5.CpSetupArg_element",
5414
16
        FT_NONE, BASE_NONE, NULL, 0,
5415
16
        NULL, HFILL }},
5416
16
    { &hf_h450_5_h450_5_CpSetupRes_PDU,
5417
16
      { "CpSetupRes", "h450.5.CpSetupRes_element",
5418
16
        FT_NONE, BASE_NONE, NULL, 0,
5419
16
        NULL, HFILL }},
5420
16
    { &hf_h450_5_h450_5_GroupIndicationOnArg_PDU,
5421
16
      { "GroupIndicationOnArg", "h450.5.GroupIndicationOnArg_element",
5422
16
        FT_NONE, BASE_NONE, NULL, 0,
5423
16
        NULL, HFILL }},
5424
16
    { &hf_h450_5_h450_5_GroupIndicationOnRes_PDU,
5425
16
      { "GroupIndicationOnRes", "h450.5.GroupIndicationOnRes_element",
5426
16
        FT_NONE, BASE_NONE, NULL, 0,
5427
16
        NULL, HFILL }},
5428
16
    { &hf_h450_5_h450_5_GroupIndicationOffArg_PDU,
5429
16
      { "GroupIndicationOffArg", "h450.5.GroupIndicationOffArg_element",
5430
16
        FT_NONE, BASE_NONE, NULL, 0,
5431
16
        NULL, HFILL }},
5432
16
    { &hf_h450_5_h450_5_GroupIndicationOffRes_PDU,
5433
16
      { "GroupIndicationOffRes", "h450.5.GroupIndicationOffRes_element",
5434
16
        FT_NONE, BASE_NONE, NULL, 0,
5435
16
        NULL, HFILL }},
5436
16
    { &hf_h450_5_h450_5_PickrequArg_PDU,
5437
16
      { "PickrequArg", "h450.5.PickrequArg_element",
5438
16
        FT_NONE, BASE_NONE, NULL, 0,
5439
16
        NULL, HFILL }},
5440
16
    { &hf_h450_5_h450_5_PickrequRes_PDU,
5441
16
      { "PickrequRes", "h450.5.PickrequRes_element",
5442
16
        FT_NONE, BASE_NONE, NULL, 0,
5443
16
        NULL, HFILL }},
5444
16
    { &hf_h450_5_h450_5_PickupArg_PDU,
5445
16
      { "PickupArg", "h450.5.PickupArg_element",
5446
16
        FT_NONE, BASE_NONE, NULL, 0,
5447
16
        NULL, HFILL }},
5448
16
    { &hf_h450_5_h450_5_PickupRes_PDU,
5449
16
      { "PickupRes", "h450.5.PickupRes_element",
5450
16
        FT_NONE, BASE_NONE, NULL, 0,
5451
16
        NULL, HFILL }},
5452
16
    { &hf_h450_5_h450_5_PickExeArg_PDU,
5453
16
      { "PickExeArg", "h450.5.PickExeArg_element",
5454
16
        FT_NONE, BASE_NONE, NULL, 0,
5455
16
        NULL, HFILL }},
5456
16
    { &hf_h450_5_h450_5_PickExeRes_PDU,
5457
16
      { "PickExeRes", "h450.5.PickExeRes_element",
5458
16
        FT_NONE, BASE_NONE, NULL, 0,
5459
16
        NULL, HFILL }},
5460
16
    { &hf_h450_5_h450_5_CpNotifyArg_PDU,
5461
16
      { "CpNotifyArg", "h450.5.CpNotifyArg_element",
5462
16
        FT_NONE, BASE_NONE, NULL, 0,
5463
16
        NULL, HFILL }},
5464
16
    { &hf_h450_5_h450_5_CpickupNotifyArg_PDU,
5465
16
      { "CpickupNotifyArg", "h450.5.CpickupNotifyArg_element",
5466
16
        FT_NONE, BASE_NONE, NULL, 0,
5467
16
        NULL, HFILL }},
5468
16
    { &hf_h450_5_h450_5_PAR_undefined_PDU,
5469
16
      { "PAR-undefined", "h450.5.PAR_undefined",
5470
16
        FT_UINT32, BASE_DEC, NULL, 0,
5471
16
        NULL, HFILL }},
5472
16
    { &hf_h450_5_parkingNumber,
5473
16
      { "parkingNumber", "h450.5.parkingNumber_element",
5474
16
        FT_NONE, BASE_NONE, NULL, 0,
5475
16
        "EndpointAddress", HFILL }},
5476
16
    { &hf_h450_5_parkedNumber,
5477
16
      { "parkedNumber", "h450.5.parkedNumber_element",
5478
16
        FT_NONE, BASE_NONE, NULL, 0,
5479
16
        "EndpointAddress", HFILL }},
5480
16
    { &hf_h450_5_parkedToNumber,
5481
16
      { "parkedToNumber", "h450.5.parkedToNumber_element",
5482
16
        FT_NONE, BASE_NONE, NULL, 0,
5483
16
        "EndpointAddress", HFILL }},
5484
16
    { &hf_h450_5_parkedToPosition,
5485
16
      { "parkedToPosition", "h450.5.parkedToPosition",
5486
16
        FT_UINT32, BASE_DEC, NULL, 0,
5487
16
        NULL, HFILL }},
5488
16
    { &hf_h450_5_cpRequestArg_extensionArg,
5489
16
      { "extensionArg", "h450.5.cpRequestArg_extensionArg",
5490
16
        FT_UINT32, BASE_DEC, NULL, 0,
5491
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
5492
16
    { &hf_h450_5_cpRequestArg_extensionArg_item,
5493
16
      { "MixedExtension", "h450.5.MixedExtension",
5494
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
5495
16
        NULL, HFILL }},
5496
16
    { &hf_h450_5_parkCondition,
5497
16
      { "parkCondition", "h450.5.parkCondition",
5498
16
        FT_UINT32, BASE_DEC, VALS(h450_5_ParkCondition_vals), 0,
5499
16
        NULL, HFILL }},
5500
16
    { &hf_h450_5_extensionRes,
5501
16
      { "extensionRes", "h450.5.extensionRes",
5502
16
        FT_UINT32, BASE_DEC, NULL, 0,
5503
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
5504
16
    { &hf_h450_5_extensionRes_item,
5505
16
      { "MixedExtension", "h450.5.MixedExtension",
5506
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
5507
16
        NULL, HFILL }},
5508
16
    { &hf_h450_5_cpSetupArg_extensionArg,
5509
16
      { "extensionArg", "h450.5.cpSetupArg_extensionArg",
5510
16
        FT_UINT32, BASE_DEC, NULL, 0,
5511
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
5512
16
    { &hf_h450_5_cpSetupArg_extensionArg_item,
5513
16
      { "MixedExtension", "h450.5.MixedExtension",
5514
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
5515
16
        NULL, HFILL }},
5516
16
    { &hf_h450_5_callPickupId,
5517
16
      { "callPickupId", "h450.5.callPickupId_element",
5518
16
        FT_NONE, BASE_NONE, NULL, 0,
5519
16
        "CallIdentifier", HFILL }},
5520
16
    { &hf_h450_5_groupMemberUserNr,
5521
16
      { "groupMemberUserNr", "h450.5.groupMemberUserNr_element",
5522
16
        FT_NONE, BASE_NONE, NULL, 0,
5523
16
        "EndpointAddress", HFILL }},
5524
16
    { &hf_h450_5_retrieveCallType,
5525
16
      { "retrieveCallType", "h450.5.retrieveCallType",
5526
16
        FT_UINT32, BASE_DEC, VALS(h450_5_CallType_vals), 0,
5527
16
        "CallType", HFILL }},
5528
16
    { &hf_h450_5_partyToRetrieve,
5529
16
      { "partyToRetrieve", "h450.5.partyToRetrieve_element",
5530
16
        FT_NONE, BASE_NONE, NULL, 0,
5531
16
        "EndpointAddress", HFILL }},
5532
16
    { &hf_h450_5_retrieveAddress,
5533
16
      { "retrieveAddress", "h450.5.retrieveAddress_element",
5534
16
        FT_NONE, BASE_NONE, NULL, 0,
5535
16
        "EndpointAddress", HFILL }},
5536
16
    { &hf_h450_5_parkPosition,
5537
16
      { "parkPosition", "h450.5.parkPosition",
5538
16
        FT_UINT32, BASE_DEC, NULL, 0,
5539
16
        "ParkedToPosition", HFILL }},
5540
16
    { &hf_h450_5_groupIndicationOnArg_extensionArg,
5541
16
      { "extensionArg", "h450.5.groupIndicationOnArg_extensionArg",
5542
16
        FT_UINT32, BASE_DEC, NULL, 0,
5543
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
5544
16
    { &hf_h450_5_groupIndicationOnArg_extensionArg_item,
5545
16
      { "MixedExtension", "h450.5.MixedExtension",
5546
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
5547
16
        NULL, HFILL }},
5548
16
    { &hf_h450_5_groupIndicationOffArg_extensionArg,
5549
16
      { "extensionArg", "h450.5.groupIndicationOffArg_extensionArg",
5550
16
        FT_UINT32, BASE_DEC, NULL, 0,
5551
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
5552
16
    { &hf_h450_5_groupIndicationOffArg_extensionArg_item,
5553
16
      { "MixedExtension", "h450.5.MixedExtension",
5554
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
5555
16
        NULL, HFILL }},
5556
16
    { &hf_h450_5_picking_upNumber,
5557
16
      { "picking-upNumber", "h450.5.picking_upNumber_element",
5558
16
        FT_NONE, BASE_NONE, NULL, 0,
5559
16
        "EndpointAddress", HFILL }},
5560
16
    { &hf_h450_5_pickrequArg_extensionArg,
5561
16
      { "extensionArg", "h450.5.pickrequArg_extensionArg",
5562
16
        FT_UINT32, BASE_DEC, NULL, 0,
5563
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
5564
16
    { &hf_h450_5_pickrequArg_extensionArg_item,
5565
16
      { "MixedExtension", "h450.5.MixedExtension",
5566
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
5567
16
        NULL, HFILL }},
5568
16
    { &hf_h450_5_pickupArg_extensionArg,
5569
16
      { "extensionArg", "h450.5.pickupArg_extensionArg",
5570
16
        FT_UINT32, BASE_DEC, NULL, 0,
5571
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
5572
16
    { &hf_h450_5_pickupArg_extensionArg_item,
5573
16
      { "MixedExtension", "h450.5.MixedExtension",
5574
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
5575
16
        NULL, HFILL }},
5576
16
    { &hf_h450_5_pickExeArg_extensionArg,
5577
16
      { "extensionArg", "h450.5.pickExeArg_extensionArg",
5578
16
        FT_UINT32, BASE_DEC, NULL, 0,
5579
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
5580
16
    { &hf_h450_5_pickExeArg_extensionArg_item,
5581
16
      { "MixedExtension", "h450.5.MixedExtension",
5582
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
5583
16
        NULL, HFILL }},
5584
16
    { &hf_h450_5_cpNotifyArg_extensionArg,
5585
16
      { "extensionArg", "h450.5.cpNotifyArg_extensionArg",
5586
16
        FT_UINT32, BASE_DEC, NULL, 0,
5587
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
5588
16
    { &hf_h450_5_cpNotifyArg_extensionArg_item,
5589
16
      { "MixedExtension", "h450.5.MixedExtension",
5590
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
5591
16
        NULL, HFILL }},
5592
16
    { &hf_h450_5_cpickupNotifyArg_extensionArg,
5593
16
      { "extensionArg", "h450.5.cpickupNotifyArg_extensionArg",
5594
16
        FT_UINT32, BASE_DEC, NULL, 0,
5595
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
5596
16
    { &hf_h450_5_cpickupNotifyArg_extensionArg_item,
5597
16
      { "MixedExtension", "h450.5.MixedExtension",
5598
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
5599
16
        NULL, HFILL }},
5600
16
    { &hf_h450_5_PAR_undefined_item,
5601
16
      { "MixedExtension", "h450.5.MixedExtension",
5602
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
5603
16
        NULL, HFILL }},
5604
5605
/* --- Module Call-Waiting-Operations --- --- ---                             */
5606
5607
16
    { &hf_h450_6_h450_6_CallWaitingArg_PDU,
5608
16
      { "CallWaitingArg", "h450.6.CallWaitingArg_element",
5609
16
        FT_NONE, BASE_NONE, NULL, 0,
5610
16
        NULL, HFILL }},
5611
16
    { &hf_h450_6_nbOfAddWaitingCalls,
5612
16
      { "nbOfAddWaitingCalls", "h450.6.nbOfAddWaitingCalls",
5613
16
        FT_UINT32, BASE_DEC, NULL, 0,
5614
16
        "INTEGER_0_255", HFILL }},
5615
16
    { &hf_h450_6_callWaitingArg_extensionArg,
5616
16
      { "extensionArg", "h450.6.callWaitingArg_extensionArg",
5617
16
        FT_UINT32, BASE_DEC, NULL, 0,
5618
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
5619
16
    { &hf_h450_6_callWaitingArg_extensionArg_item,
5620
16
      { "MixedExtension", "h450.6.MixedExtension",
5621
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
5622
16
        NULL, HFILL }},
5623
5624
/* --- Module Message-Waiting-Indication-Operations --- --- ---               */
5625
5626
16
    { &hf_h450_7_h450_7_MWIActivateArg_PDU,
5627
16
      { "MWIActivateArg", "h450.7.MWIActivateArg_element",
5628
16
        FT_NONE, BASE_NONE, NULL, 0,
5629
16
        NULL, HFILL }},
5630
16
    { &hf_h450_7_h450_7_DummyRes_PDU,
5631
16
      { "DummyRes", "h450.7.DummyRes",
5632
16
        FT_UINT32, BASE_DEC, NULL, 0,
5633
16
        NULL, HFILL }},
5634
16
    { &hf_h450_7_h450_7_MWIDeactivateArg_PDU,
5635
16
      { "MWIDeactivateArg", "h450.7.MWIDeactivateArg_element",
5636
16
        FT_NONE, BASE_NONE, NULL, 0,
5637
16
        NULL, HFILL }},
5638
16
    { &hf_h450_7_h450_7_MWIInterrogateArg_PDU,
5639
16
      { "MWIInterrogateArg", "h450.7.MWIInterrogateArg_element",
5640
16
        FT_NONE, BASE_NONE, NULL, 0,
5641
16
        NULL, HFILL }},
5642
16
    { &hf_h450_7_h450_7_MWIInterrogateRes_PDU,
5643
16
      { "MWIInterrogateRes", "h450.7.MWIInterrogateRes",
5644
16
        FT_UINT32, BASE_DEC, NULL, 0,
5645
16
        NULL, HFILL }},
5646
16
    { &hf_h450_7_h450_7_PAR_undefined_PDU,
5647
16
      { "PAR-undefined", "h450.7.PAR_undefined",
5648
16
        FT_UINT32, BASE_DEC, NULL, 0,
5649
16
        NULL, HFILL }},
5650
16
    { &hf_h450_7_servedUserNr,
5651
16
      { "servedUserNr", "h450.7.servedUserNr_element",
5652
16
        FT_NONE, BASE_NONE, NULL, 0,
5653
16
        "EndpointAddress", HFILL }},
5654
16
    { &hf_h450_7_basicService,
5655
16
      { "basicService", "h450.7.basicService",
5656
16
        FT_UINT32, BASE_DEC, VALS(h450_7_BasicService_vals), 0,
5657
16
        NULL, HFILL }},
5658
16
    { &hf_h450_7_msgCentreId,
5659
16
      { "msgCentreId", "h450.7.msgCentreId",
5660
16
        FT_UINT32, BASE_DEC, VALS(h450_7_MsgCentreId_vals), 0,
5661
16
        NULL, HFILL }},
5662
16
    { &hf_h450_7_nbOfMessages,
5663
16
      { "nbOfMessages", "h450.7.nbOfMessages",
5664
16
        FT_UINT32, BASE_DEC, NULL, 0,
5665
16
        NULL, HFILL }},
5666
16
    { &hf_h450_7_originatingNr,
5667
16
      { "originatingNr", "h450.7.originatingNr_element",
5668
16
        FT_NONE, BASE_NONE, NULL, 0,
5669
16
        "EndpointAddress", HFILL }},
5670
16
    { &hf_h450_7_timestamp,
5671
16
      { "timestamp", "h450.7.timestamp",
5672
16
        FT_STRING, BASE_NONE, NULL, 0,
5673
16
        NULL, HFILL }},
5674
16
    { &hf_h450_7_priority,
5675
16
      { "priority", "h450.7.priority",
5676
16
        FT_UINT32, BASE_DEC, NULL, 0,
5677
16
        "INTEGER_0_9", HFILL }},
5678
16
    { &hf_h450_7_mWIActivateArg_extensionArg,
5679
16
      { "extensionArg", "h450.7.mWIActivateArg_extensionArg",
5680
16
        FT_UINT32, BASE_DEC, NULL, 0,
5681
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
5682
16
    { &hf_h450_7_mWIActivateArg_extensionArg_item,
5683
16
      { "MixedExtension", "h450.7.MixedExtension",
5684
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
5685
16
        NULL, HFILL }},
5686
16
    { &hf_h450_7_DummyRes_item,
5687
16
      { "MixedExtension", "h450.7.MixedExtension",
5688
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
5689
16
        NULL, HFILL }},
5690
16
    { &hf_h450_7_callbackReq,
5691
16
      { "callbackReq", "h450.7.callbackReq",
5692
16
        FT_BOOLEAN, BASE_NONE, NULL, 0,
5693
16
        "BOOLEAN", HFILL }},
5694
16
    { &hf_h450_7_mWIDeactivateArg_extensionArg,
5695
16
      { "extensionArg", "h450.7.mWIDeactivateArg_extensionArg",
5696
16
        FT_UINT32, BASE_DEC, NULL, 0,
5697
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
5698
16
    { &hf_h450_7_mWIDeactivateArg_extensionArg_item,
5699
16
      { "MixedExtension", "h450.7.MixedExtension",
5700
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
5701
16
        NULL, HFILL }},
5702
16
    { &hf_h450_7_mWIInterrogateArg_extensionArg,
5703
16
      { "extensionArg", "h450.7.mWIInterrogateArg_extensionArg",
5704
16
        FT_UINT32, BASE_DEC, NULL, 0,
5705
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
5706
16
    { &hf_h450_7_mWIInterrogateArg_extensionArg_item,
5707
16
      { "MixedExtension", "h450.7.MixedExtension",
5708
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
5709
16
        NULL, HFILL }},
5710
16
    { &hf_h450_7_MWIInterrogateRes_item,
5711
16
      { "MWIInterrogateResElt", "h450.7.MWIInterrogateResElt_element",
5712
16
        FT_NONE, BASE_NONE, NULL, 0,
5713
16
        NULL, HFILL }},
5714
16
    { &hf_h450_7_mWIInterrogateResElt_extensionArg,
5715
16
      { "extensionArg", "h450.7.mWIInterrogateResElt_extensionArg",
5716
16
        FT_UINT32, BASE_DEC, NULL, 0,
5717
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
5718
16
    { &hf_h450_7_mWIInterrogateResElt_extensionArg_item,
5719
16
      { "MixedExtension", "h450.7.MixedExtension",
5720
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
5721
16
        NULL, HFILL }},
5722
16
    { &hf_h450_7_integer,
5723
16
      { "integer", "h450.7.integer",
5724
16
        FT_UINT32, BASE_DEC, NULL, 0,
5725
16
        "INTEGER_0_65535", HFILL }},
5726
16
    { &hf_h450_7_partyNumber,
5727
16
      { "partyNumber", "h450.7.partyNumber_element",
5728
16
        FT_NONE, BASE_NONE, NULL, 0,
5729
16
        "EndpointAddress", HFILL }},
5730
16
    { &hf_h450_7_numericString,
5731
16
      { "numericString", "h450.7.numericString",
5732
16
        FT_STRING, BASE_NONE, NULL, 0,
5733
16
        "NumericString_SIZE_1_10", HFILL }},
5734
16
    { &hf_h450_7_PAR_undefined_item,
5735
16
      { "MixedExtension", "h450.7.MixedExtension",
5736
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
5737
16
        NULL, HFILL }},
5738
5739
/* --- Module Name-Operations --- --- ---                                     */
5740
5741
16
    { &hf_h450_8_h450_8_ARG_callingName_PDU,
5742
16
      { "ARG-callingName", "h450.8.ARG_callingName_element",
5743
16
        FT_NONE, BASE_NONE, NULL, 0,
5744
16
        NULL, HFILL }},
5745
16
    { &hf_h450_8_h450_8_ARG_alertingName_PDU,
5746
16
      { "ARG-alertingName", "h450.8.ARG_alertingName_element",
5747
16
        FT_NONE, BASE_NONE, NULL, 0,
5748
16
        NULL, HFILL }},
5749
16
    { &hf_h450_8_h450_8_ARG_connectedName_PDU,
5750
16
      { "ARG-connectedName", "h450.8.ARG_connectedName_element",
5751
16
        FT_NONE, BASE_NONE, NULL, 0,
5752
16
        NULL, HFILL }},
5753
16
    { &hf_h450_8_h450_8_ARG_busyName_PDU,
5754
16
      { "ARG-busyName", "h450.8.ARG_busyName_element",
5755
16
        FT_NONE, BASE_NONE, NULL, 0,
5756
16
        NULL, HFILL }},
5757
16
    { &hf_h450_8_name,
5758
16
      { "name", "h450.8.name",
5759
16
        FT_UINT32, BASE_DEC, VALS(h450_8_Name_vals), 0,
5760
16
        NULL, HFILL }},
5761
16
    { &hf_h450_8_extensionArg,
5762
16
      { "extensionArg", "h450.8.extensionArg",
5763
16
        FT_UINT32, BASE_DEC, NULL, 0,
5764
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
5765
16
    { &hf_h450_8_extensionArg_item,
5766
16
      { "MixedExtension", "h450.8.MixedExtension",
5767
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
5768
16
        NULL, HFILL }},
5769
16
    { &hf_h450_8_namePresentationAllowed,
5770
16
      { "namePresentationAllowed", "h450.8.namePresentationAllowed",
5771
16
        FT_UINT32, BASE_DEC, VALS(h450_8_NamePresentationAllowed_vals), 0,
5772
16
        NULL, HFILL }},
5773
16
    { &hf_h450_8_namePresentationRestricted,
5774
16
      { "namePresentationRestricted", "h450.8.namePresentationRestricted",
5775
16
        FT_UINT32, BASE_DEC, VALS(h450_8_NamePresentationRestricted_vals), 0,
5776
16
        NULL, HFILL }},
5777
16
    { &hf_h450_8_nameNotAvailable,
5778
16
      { "nameNotAvailable", "h450.8.nameNotAvailable_element",
5779
16
        FT_NONE, BASE_NONE, NULL, 0,
5780
16
        NULL, HFILL }},
5781
16
    { &hf_h450_8_simpleName,
5782
16
      { "simpleName", "h450.8.simpleName",
5783
16
        FT_BYTES, BASE_NONE, NULL, 0,
5784
16
        NULL, HFILL }},
5785
16
    { &hf_h450_8_extendedName,
5786
16
      { "extendedName", "h450.8.extendedName",
5787
16
        FT_STRING, BASE_NONE, NULL, 0,
5788
16
        NULL, HFILL }},
5789
16
    { &hf_h450_8_restrictedNull,
5790
16
      { "restrictedNull", "h450.8.restrictedNull_element",
5791
16
        FT_NONE, BASE_NONE, NULL, 0,
5792
16
        NULL, HFILL }},
5793
5794
/* --- Module Call-Completion-Operations --- --- ---                          */
5795
5796
16
    { &hf_h450_9_h450_9_CcRequestArg_PDU,
5797
16
      { "CcRequestArg", "h450.9.CcRequestArg_element",
5798
16
        FT_NONE, BASE_NONE, NULL, 0,
5799
16
        NULL, HFILL }},
5800
16
    { &hf_h450_9_h450_9_CcRequestRes_PDU,
5801
16
      { "CcRequestRes", "h450.9.CcRequestRes_element",
5802
16
        FT_NONE, BASE_NONE, NULL, 0,
5803
16
        NULL, HFILL }},
5804
16
    { &hf_h450_9_h450_9_CcArg_PDU,
5805
16
      { "CcArg", "h450.9.CcArg",
5806
16
        FT_UINT32, BASE_DEC, VALS(h450_9_CcArg_vals), 0,
5807
16
        NULL, HFILL }},
5808
16
    { &hf_h450_9_h450_9_CcShortArg_PDU,
5809
16
      { "CcShortArg", "h450.9.CcShortArg_element",
5810
16
        FT_NONE, BASE_NONE, NULL, 0,
5811
16
        NULL, HFILL }},
5812
16
    { &hf_h450_9_numberA,
5813
16
      { "numberA", "h450.9.numberA_element",
5814
16
        FT_NONE, BASE_NONE, NULL, 0,
5815
16
        "EndpointAddress", HFILL }},
5816
16
    { &hf_h450_9_numberB,
5817
16
      { "numberB", "h450.9.numberB_element",
5818
16
        FT_NONE, BASE_NONE, NULL, 0,
5819
16
        "EndpointAddress", HFILL }},
5820
16
    { &hf_h450_9_ccIdentifier,
5821
16
      { "ccIdentifier", "h450.9.ccIdentifier_element",
5822
16
        FT_NONE, BASE_NONE, NULL, 0,
5823
16
        "CallIdentifier", HFILL }},
5824
16
    { &hf_h450_9_service,
5825
16
      { "service", "h450.9.service",
5826
16
        FT_UINT32, BASE_DEC, VALS(h450_7_BasicService_vals), 0,
5827
16
        "BasicService", HFILL }},
5828
16
    { &hf_h450_9_can_retain_service,
5829
16
      { "can-retain-service", "h450.9.can_retain_service",
5830
16
        FT_BOOLEAN, BASE_NONE, NULL, 0,
5831
16
        "BOOLEAN", HFILL }},
5832
16
    { &hf_h450_9_retain_sig_connection,
5833
16
      { "retain-sig-connection", "h450.9.retain_sig_connection",
5834
16
        FT_BOOLEAN, BASE_NONE, NULL, 0,
5835
16
        "BOOLEAN", HFILL }},
5836
16
    { &hf_h450_9_ccRequestArg_extension,
5837
16
      { "extension", "h450.9.ccRequestArg_extension",
5838
16
        FT_UINT32, BASE_DEC, NULL, 0,
5839
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
5840
16
    { &hf_h450_9_ccRequestArg_extension_item,
5841
16
      { "MixedExtension", "h450.9.MixedExtension",
5842
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
5843
16
        NULL, HFILL }},
5844
16
    { &hf_h450_9_retain_service,
5845
16
      { "retain-service", "h450.9.retain_service",
5846
16
        FT_BOOLEAN, BASE_NONE, NULL, 0,
5847
16
        "BOOLEAN", HFILL }},
5848
16
    { &hf_h450_9_ccRequestRes_extension,
5849
16
      { "extension", "h450.9.ccRequestRes_extension",
5850
16
        FT_UINT32, BASE_DEC, NULL, 0,
5851
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
5852
16
    { &hf_h450_9_ccRequestRes_extension_item,
5853
16
      { "MixedExtension", "h450.9.MixedExtension",
5854
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
5855
16
        NULL, HFILL }},
5856
16
    { &hf_h450_9_shortArg,
5857
16
      { "shortArg", "h450.9.shortArg_element",
5858
16
        FT_NONE, BASE_NONE, NULL, 0,
5859
16
        "CcShortArg", HFILL }},
5860
16
    { &hf_h450_9_longArg,
5861
16
      { "longArg", "h450.9.longArg_element",
5862
16
        FT_NONE, BASE_NONE, NULL, 0,
5863
16
        "CcLongArg", HFILL }},
5864
16
    { &hf_h450_9_ccShortArg_extension,
5865
16
      { "extension", "h450.9.ccShortArg_extension",
5866
16
        FT_UINT32, BASE_DEC, NULL, 0,
5867
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
5868
16
    { &hf_h450_9_ccShortArg_extension_item,
5869
16
      { "MixedExtension", "h450.9.MixedExtension",
5870
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
5871
16
        NULL, HFILL }},
5872
16
    { &hf_h450_9_ccLongArg_extension,
5873
16
      { "extension", "h450.9.ccLongArg_extension",
5874
16
        FT_UINT32, BASE_DEC, NULL, 0,
5875
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
5876
16
    { &hf_h450_9_ccLongArg_extension_item,
5877
16
      { "MixedExtension", "h450.9.MixedExtension",
5878
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
5879
16
        NULL, HFILL }},
5880
5881
/* --- Module Call-Offer-Operations --- --- ---                               */
5882
5883
16
    { &hf_h450_10_h450_10_CoReqOptArg_PDU,
5884
16
      { "CoReqOptArg", "h450.10.CoReqOptArg_element",
5885
16
        FT_NONE, BASE_NONE, NULL, 0,
5886
16
        NULL, HFILL }},
5887
16
    { &hf_h450_10_h450_10_RUAlertOptArg_PDU,
5888
16
      { "RUAlertOptArg", "h450.10.RUAlertOptArg_element",
5889
16
        FT_NONE, BASE_NONE, NULL, 0,
5890
16
        NULL, HFILL }},
5891
16
    { &hf_h450_10_h450_10_CfbOvrOptArg_PDU,
5892
16
      { "CfbOvrOptArg", "h450.10.CfbOvrOptArg_element",
5893
16
        FT_NONE, BASE_NONE, NULL, 0,
5894
16
        NULL, HFILL }},
5895
16
    { &hf_h450_10_coReqOptArg_extension,
5896
16
      { "extension", "h450.10.coReqOptArg_extension",
5897
16
        FT_UINT32, BASE_DEC, NULL, 0,
5898
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
5899
16
    { &hf_h450_10_coReqOptArg_extension_item,
5900
16
      { "MixedExtension", "h450.10.MixedExtension",
5901
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
5902
16
        NULL, HFILL }},
5903
16
    { &hf_h450_10_rUAlertOptArg_extension,
5904
16
      { "extension", "h450.10.rUAlertOptArg_extension",
5905
16
        FT_UINT32, BASE_DEC, NULL, 0,
5906
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
5907
16
    { &hf_h450_10_rUAlertOptArg_extension_item,
5908
16
      { "MixedExtension", "h450.10.MixedExtension",
5909
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
5910
16
        NULL, HFILL }},
5911
16
    { &hf_h450_10_cfbOvrOptArg_extension,
5912
16
      { "extension", "h450.10.cfbOvrOptArg_extension",
5913
16
        FT_UINT32, BASE_DEC, NULL, 0,
5914
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
5915
16
    { &hf_h450_10_cfbOvrOptArg_extension_item,
5916
16
      { "MixedExtension", "h450.10.MixedExtension",
5917
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
5918
16
        NULL, HFILL }},
5919
5920
/* --- Module Call-Intrusion-Operations --- --- ---                           */
5921
5922
16
    { &hf_h450_11_h450_11_CIRequestArg_PDU,
5923
16
      { "CIRequestArg", "h450.11.CIRequestArg_element",
5924
16
        FT_NONE, BASE_NONE, NULL, 0,
5925
16
        NULL, HFILL }},
5926
16
    { &hf_h450_11_h450_11_CIRequestRes_PDU,
5927
16
      { "CIRequestRes", "h450.11.CIRequestRes_element",
5928
16
        FT_NONE, BASE_NONE, NULL, 0,
5929
16
        NULL, HFILL }},
5930
16
    { &hf_h450_11_h450_11_CIGetCIPLOptArg_PDU,
5931
16
      { "CIGetCIPLOptArg", "h450.11.CIGetCIPLOptArg_element",
5932
16
        FT_NONE, BASE_NONE, NULL, 0,
5933
16
        NULL, HFILL }},
5934
16
    { &hf_h450_11_h450_11_CIGetCIPLRes_PDU,
5935
16
      { "CIGetCIPLRes", "h450.11.CIGetCIPLRes_element",
5936
16
        FT_NONE, BASE_NONE, NULL, 0,
5937
16
        NULL, HFILL }},
5938
16
    { &hf_h450_11_h450_11_CIIsOptArg_PDU,
5939
16
      { "CIIsOptArg", "h450.11.CIIsOptArg_element",
5940
16
        FT_NONE, BASE_NONE, NULL, 0,
5941
16
        NULL, HFILL }},
5942
16
    { &hf_h450_11_h450_11_CIIsOptRes_PDU,
5943
16
      { "CIIsOptRes", "h450.11.CIIsOptRes_element",
5944
16
        FT_NONE, BASE_NONE, NULL, 0,
5945
16
        NULL, HFILL }},
5946
16
    { &hf_h450_11_h450_11_CIFrcRelArg_PDU,
5947
16
      { "CIFrcRelArg", "h450.11.CIFrcRelArg_element",
5948
16
        FT_NONE, BASE_NONE, NULL, 0,
5949
16
        NULL, HFILL }},
5950
16
    { &hf_h450_11_h450_11_CIFrcRelOptRes_PDU,
5951
16
      { "CIFrcRelOptRes", "h450.11.CIFrcRelOptRes_element",
5952
16
        FT_NONE, BASE_NONE, NULL, 0,
5953
16
        NULL, HFILL }},
5954
16
    { &hf_h450_11_h450_11_CIWobOptArg_PDU,
5955
16
      { "CIWobOptArg", "h450.11.CIWobOptArg_element",
5956
16
        FT_NONE, BASE_NONE, NULL, 0,
5957
16
        NULL, HFILL }},
5958
16
    { &hf_h450_11_h450_11_CIWobOptRes_PDU,
5959
16
      { "CIWobOptRes", "h450.11.CIWobOptRes_element",
5960
16
        FT_NONE, BASE_NONE, NULL, 0,
5961
16
        NULL, HFILL }},
5962
16
    { &hf_h450_11_h450_11_CISilentArg_PDU,
5963
16
      { "CISilentArg", "h450.11.CISilentArg_element",
5964
16
        FT_NONE, BASE_NONE, NULL, 0,
5965
16
        NULL, HFILL }},
5966
16
    { &hf_h450_11_h450_11_CISilentOptRes_PDU,
5967
16
      { "CISilentOptRes", "h450.11.CISilentOptRes_element",
5968
16
        FT_NONE, BASE_NONE, NULL, 0,
5969
16
        NULL, HFILL }},
5970
16
    { &hf_h450_11_h450_11_CINotificationArg_PDU,
5971
16
      { "CINotificationArg", "h450.11.CINotificationArg_element",
5972
16
        FT_NONE, BASE_NONE, NULL, 0,
5973
16
        NULL, HFILL }},
5974
16
    { &hf_h450_11_ciCapabilityLevel,
5975
16
      { "ciCapabilityLevel", "h450.11.ciCapabilityLevel",
5976
16
        FT_UINT32, BASE_DEC, VALS(h450_11_CICapabilityLevel_vals), 0,
5977
16
        NULL, HFILL }},
5978
16
    { &hf_h450_11_cIRequestArg_argumentExtension,
5979
16
      { "argumentExtension", "h450.11.cIRequestArg_argumentExtension",
5980
16
        FT_UINT32, BASE_DEC, NULL, 0,
5981
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
5982
16
    { &hf_h450_11_cIRequestArg_argumentExtension_item,
5983
16
      { "MixedExtension", "h450.11.MixedExtension",
5984
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
5985
16
        NULL, HFILL }},
5986
16
    { &hf_h450_11_ciStatusInformation,
5987
16
      { "ciStatusInformation", "h450.11.ciStatusInformation",
5988
16
        FT_UINT32, BASE_DEC, VALS(h450_11_CIStatusInformation_vals), 0,
5989
16
        NULL, HFILL }},
5990
16
    { &hf_h450_11_cIRequestRes_resultExtension,
5991
16
      { "resultExtension", "h450.11.cIRequestRes_resultExtension",
5992
16
        FT_UINT32, BASE_DEC, NULL, 0,
5993
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
5994
16
    { &hf_h450_11_cIRequestRes_resultExtension_item,
5995
16
      { "MixedExtension", "h450.11.MixedExtension",
5996
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
5997
16
        NULL, HFILL }},
5998
16
    { &hf_h450_11_cIGetCIPLOptArg_argumentExtension,
5999
16
      { "argumentExtension", "h450.11.cIGetCIPLOptArg_argumentExtension",
6000
16
        FT_UINT32, BASE_DEC, NULL, 0,
6001
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
6002
16
    { &hf_h450_11_cIGetCIPLOptArg_argumentExtension_item,
6003
16
      { "MixedExtension", "h450.11.MixedExtension",
6004
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
6005
16
        NULL, HFILL }},
6006
16
    { &hf_h450_11_ciProtectionLevel,
6007
16
      { "ciProtectionLevel", "h450.11.ciProtectionLevel",
6008
16
        FT_UINT32, BASE_DEC, VALS(h450_11_CIProtectionLevel_vals), 0,
6009
16
        NULL, HFILL }},
6010
16
    { &hf_h450_11_silentMonitoringPermitted,
6011
16
      { "silentMonitoringPermitted", "h450.11.silentMonitoringPermitted_element",
6012
16
        FT_NONE, BASE_NONE, NULL, 0,
6013
16
        NULL, HFILL }},
6014
16
    { &hf_h450_11_cIGetCIPLRes_resultExtension,
6015
16
      { "resultExtension", "h450.11.cIGetCIPLRes_resultExtension",
6016
16
        FT_UINT32, BASE_DEC, NULL, 0,
6017
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
6018
16
    { &hf_h450_11_cIGetCIPLRes_resultExtension_item,
6019
16
      { "MixedExtension", "h450.11.MixedExtension",
6020
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
6021
16
        NULL, HFILL }},
6022
16
    { &hf_h450_11_cIIsOptArg_argumentExtension,
6023
16
      { "argumentExtension", "h450.11.cIIsOptArg_argumentExtension",
6024
16
        FT_UINT32, BASE_DEC, NULL, 0,
6025
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
6026
16
    { &hf_h450_11_cIIsOptArg_argumentExtension_item,
6027
16
      { "MixedExtension", "h450.11.MixedExtension",
6028
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
6029
16
        NULL, HFILL }},
6030
16
    { &hf_h450_11_cIIsOptRes_resultExtension,
6031
16
      { "resultExtension", "h450.11.cIIsOptRes_resultExtension",
6032
16
        FT_UINT32, BASE_DEC, NULL, 0,
6033
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
6034
16
    { &hf_h450_11_cIIsOptRes_resultExtension_item,
6035
16
      { "MixedExtension", "h450.11.MixedExtension",
6036
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
6037
16
        NULL, HFILL }},
6038
16
    { &hf_h450_11_cIFrcRelArg_argumentExtension,
6039
16
      { "argumentExtension", "h450.11.cIFrcRelArg_argumentExtension",
6040
16
        FT_UINT32, BASE_DEC, NULL, 0,
6041
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
6042
16
    { &hf_h450_11_cIFrcRelArg_argumentExtension_item,
6043
16
      { "MixedExtension", "h450.11.MixedExtension",
6044
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
6045
16
        NULL, HFILL }},
6046
16
    { &hf_h450_11_cIFrcRelOptRes_resultExtension,
6047
16
      { "resultExtension", "h450.11.cIFrcRelOptRes_resultExtension",
6048
16
        FT_UINT32, BASE_DEC, NULL, 0,
6049
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
6050
16
    { &hf_h450_11_cIFrcRelOptRes_resultExtension_item,
6051
16
      { "MixedExtension", "h450.11.MixedExtension",
6052
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
6053
16
        NULL, HFILL }},
6054
16
    { &hf_h450_11_cIWobOptArg_argumentExtension,
6055
16
      { "argumentExtension", "h450.11.cIWobOptArg_argumentExtension",
6056
16
        FT_UINT32, BASE_DEC, NULL, 0,
6057
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
6058
16
    { &hf_h450_11_cIWobOptArg_argumentExtension_item,
6059
16
      { "MixedExtension", "h450.11.MixedExtension",
6060
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
6061
16
        NULL, HFILL }},
6062
16
    { &hf_h450_11_cIWobOptRes_resultExtension,
6063
16
      { "resultExtension", "h450.11.cIWobOptRes_resultExtension",
6064
16
        FT_UINT32, BASE_DEC, NULL, 0,
6065
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
6066
16
    { &hf_h450_11_cIWobOptRes_resultExtension_item,
6067
16
      { "MixedExtension", "h450.11.MixedExtension",
6068
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
6069
16
        NULL, HFILL }},
6070
16
    { &hf_h450_11_specificCall,
6071
16
      { "specificCall", "h450.11.specificCall_element",
6072
16
        FT_NONE, BASE_NONE, NULL, 0,
6073
16
        "CallIdentifier", HFILL }},
6074
16
    { &hf_h450_11_cISilentArg_argumentExtension,
6075
16
      { "argumentExtension", "h450.11.cISilentArg_argumentExtension",
6076
16
        FT_UINT32, BASE_DEC, NULL, 0,
6077
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
6078
16
    { &hf_h450_11_cISilentArg_argumentExtension_item,
6079
16
      { "MixedExtension", "h450.11.MixedExtension",
6080
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
6081
16
        NULL, HFILL }},
6082
16
    { &hf_h450_11_cISilentOptRes_resultExtension,
6083
16
      { "resultExtension", "h450.11.cISilentOptRes_resultExtension",
6084
16
        FT_UINT32, BASE_DEC, NULL, 0,
6085
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
6086
16
    { &hf_h450_11_cISilentOptRes_resultExtension_item,
6087
16
      { "MixedExtension", "h450.11.MixedExtension",
6088
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
6089
16
        NULL, HFILL }},
6090
16
    { &hf_h450_11_cINotificationArg_argumentExtension,
6091
16
      { "argumentExtension", "h450.11.cINotificationArg_argumentExtension",
6092
16
        FT_UINT32, BASE_DEC, NULL, 0,
6093
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
6094
16
    { &hf_h450_11_cINotificationArg_argumentExtension_item,
6095
16
      { "MixedExtension", "h450.11.MixedExtension",
6096
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
6097
16
        NULL, HFILL }},
6098
16
    { &hf_h450_11_callIntrusionImpending,
6099
16
      { "callIntrusionImpending", "h450.11.callIntrusionImpending_element",
6100
16
        FT_NONE, BASE_NONE, NULL, 0,
6101
16
        NULL, HFILL }},
6102
16
    { &hf_h450_11_callIntruded,
6103
16
      { "callIntruded", "h450.11.callIntruded_element",
6104
16
        FT_NONE, BASE_NONE, NULL, 0,
6105
16
        NULL, HFILL }},
6106
16
    { &hf_h450_11_callIsolated,
6107
16
      { "callIsolated", "h450.11.callIsolated_element",
6108
16
        FT_NONE, BASE_NONE, NULL, 0,
6109
16
        NULL, HFILL }},
6110
16
    { &hf_h450_11_callForceReleased,
6111
16
      { "callForceReleased", "h450.11.callForceReleased_element",
6112
16
        FT_NONE, BASE_NONE, NULL, 0,
6113
16
        NULL, HFILL }},
6114
16
    { &hf_h450_11_callIntrusionComplete,
6115
16
      { "callIntrusionComplete", "h450.11.callIntrusionComplete_element",
6116
16
        FT_NONE, BASE_NONE, NULL, 0,
6117
16
        NULL, HFILL }},
6118
16
    { &hf_h450_11_callIntrusionEnd,
6119
16
      { "callIntrusionEnd", "h450.11.callIntrusionEnd_element",
6120
16
        FT_NONE, BASE_NONE, NULL, 0,
6121
16
        NULL, HFILL }},
6122
6123
/* --- Module Common-Information-Operations --- --- ---                       */
6124
6125
16
    { &hf_h450_12_h450_12_DummyArg_PDU,
6126
16
      { "DummyArg", "h450.12.DummyArg_element",
6127
16
        FT_NONE, BASE_NONE, NULL, 0,
6128
16
        NULL, HFILL }},
6129
16
    { &hf_h450_12_h450_12_CmnArg_PDU,
6130
16
      { "CmnArg", "h450.12.CmnArg_element",
6131
16
        FT_NONE, BASE_NONE, NULL, 0,
6132
16
        NULL, HFILL }},
6133
16
    { &hf_h450_12_featureList,
6134
16
      { "featureList", "h450.12.featureList_element",
6135
16
        FT_NONE, BASE_NONE, NULL, 0,
6136
16
        NULL, HFILL }},
6137
16
    { &hf_h450_12_featureValues,
6138
16
      { "featureValues", "h450.12.featureValues_element",
6139
16
        FT_NONE, BASE_NONE, NULL, 0,
6140
16
        NULL, HFILL }},
6141
16
    { &hf_h450_12_featureControl,
6142
16
      { "featureControl", "h450.12.featureControl_element",
6143
16
        FT_NONE, BASE_NONE, NULL, 0,
6144
16
        NULL, HFILL }},
6145
16
    { &hf_h450_12_cmnArg_extension,
6146
16
      { "extension", "h450.12.cmnArg_extension",
6147
16
        FT_UINT32, BASE_DEC, NULL, 0,
6148
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
6149
16
    { &hf_h450_12_cmnArg_extension_item,
6150
16
      { "MixedExtension", "h450.12.MixedExtension",
6151
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
6152
16
        NULL, HFILL }},
6153
16
    { &hf_h450_12_extensionArg,
6154
16
      { "extensionArg", "h450.12.extensionArg",
6155
16
        FT_UINT32, BASE_DEC, NULL, 0,
6156
16
        "SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
6157
16
    { &hf_h450_12_extensionArg_item,
6158
16
      { "MixedExtension", "h450.12.MixedExtension",
6159
16
        FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
6160
16
        NULL, HFILL }},
6161
16
    { &hf_h450_12_ssCFreRoutingSupported,
6162
16
      { "ssCFreRoutingSupported", "h450.12.ssCFreRoutingSupported_element",
6163
16
        FT_NONE, BASE_NONE, NULL, 0,
6164
16
        NULL, HFILL }},
6165
16
    { &hf_h450_12_ssCTreRoutingSupported,
6166
16
      { "ssCTreRoutingSupported", "h450.12.ssCTreRoutingSupported_element",
6167
16
        FT_NONE, BASE_NONE, NULL, 0,
6168
16
        NULL, HFILL }},
6169
16
    { &hf_h450_12_ssCCBSPossible,
6170
16
      { "ssCCBSPossible", "h450.12.ssCCBSPossible_element",
6171
16
        FT_NONE, BASE_NONE, NULL, 0,
6172
16
        NULL, HFILL }},
6173
16
    { &hf_h450_12_ssCCNRPossible,
6174
16
      { "ssCCNRPossible", "h450.12.ssCCNRPossible_element",
6175
16
        FT_NONE, BASE_NONE, NULL, 0,
6176
16
        NULL, HFILL }},
6177
16
    { &hf_h450_12_ssCOSupported,
6178
16
      { "ssCOSupported", "h450.12.ssCOSupported_element",
6179
16
        FT_NONE, BASE_NONE, NULL, 0,
6180
16
        NULL, HFILL }},
6181
16
    { &hf_h450_12_ssCIForcedReleaseSupported,
6182
16
      { "ssCIForcedReleaseSupported", "h450.12.ssCIForcedReleaseSupported_element",
6183
16
        FT_NONE, BASE_NONE, NULL, 0,
6184
16
        NULL, HFILL }},
6185
16
    { &hf_h450_12_ssCIIsolationSupported,
6186
16
      { "ssCIIsolationSupported", "h450.12.ssCIIsolationSupported_element",
6187
16
        FT_NONE, BASE_NONE, NULL, 0,
6188
16
        NULL, HFILL }},
6189
16
    { &hf_h450_12_ssCIWaitOnBusySupported,
6190
16
      { "ssCIWaitOnBusySupported", "h450.12.ssCIWaitOnBusySupported_element",
6191
16
        FT_NONE, BASE_NONE, NULL, 0,
6192
16
        NULL, HFILL }},
6193
16
    { &hf_h450_12_ssCISilentMonitoringSupported,
6194
16
      { "ssCISilentMonitoringSupported", "h450.12.ssCISilentMonitoringSupported_element",
6195
16
        FT_NONE, BASE_NONE, NULL, 0,
6196
16
        NULL, HFILL }},
6197
16
    { &hf_h450_12_ssCIConferenceSupported,
6198
16
      { "ssCIConferenceSupported", "h450.12.ssCIConferenceSupported_element",
6199
16
        FT_NONE, BASE_NONE, NULL, 0,
6200
16
        NULL, HFILL }},
6201
16
    { &hf_h450_12_ssCHFarHoldSupported,
6202
16
      { "ssCHFarHoldSupported", "h450.12.ssCHFarHoldSupported_element",
6203
16
        FT_NONE, BASE_NONE, NULL, 0,
6204
16
        NULL, HFILL }},
6205
16
    { &hf_h450_12_ssMWICallbackSupported,
6206
16
      { "ssMWICallbackSupported", "h450.12.ssMWICallbackSupported_element",
6207
16
        FT_NONE, BASE_NONE, NULL, 0,
6208
16
        NULL, HFILL }},
6209
16
    { &hf_h450_12_ssCPCallParkSupported,
6210
16
      { "ssCPCallParkSupported", "h450.12.ssCPCallParkSupported_element",
6211
16
        FT_NONE, BASE_NONE, NULL, 0,
6212
16
        NULL, HFILL }},
6213
16
    { &hf_h450_12_partyCategory,
6214
16
      { "partyCategory", "h450.12.partyCategory",
6215
16
        FT_UINT32, BASE_DEC, VALS(h450_12_PartyCategory_vals), 0,
6216
16
        NULL, HFILL }},
6217
16
    { &hf_h450_12_ssCIprotectionLevel,
6218
16
      { "ssCIprotectionLevel", "h450.12.ssCIprotectionLevel",
6219
16
        FT_UINT32, BASE_DEC, NULL, 0,
6220
16
        NULL, HFILL }},
6221
16
    { &hf_h450_12_ssCHDoNotHold,
6222
16
      { "ssCHDoNotHold", "h450.12.ssCHDoNotHold_element",
6223
16
        FT_NONE, BASE_NONE, NULL, 0,
6224
16
        NULL, HFILL }},
6225
16
    { &hf_h450_12_ssCTDoNotTransfer,
6226
16
      { "ssCTDoNotTransfer", "h450.12.ssCTDoNotTransfer_element",
6227
16
        FT_NONE, BASE_NONE, NULL, 0,
6228
16
        NULL, HFILL }},
6229
16
    { &hf_h450_12_ssMWICallbackCall,
6230
16
      { "ssMWICallbackCall", "h450.12.ssMWICallbackCall_element",
6231
16
        FT_NONE, BASE_NONE, NULL, 0,
6232
16
        NULL, HFILL }},
6233
16
    { &hf_h450_12_ssCISilentMonitorPermitted,
6234
16
      { "ssCISilentMonitorPermitted", "h450.12.ssCISilentMonitorPermitted_element",
6235
16
        FT_NONE, BASE_NONE, NULL, 0,
6236
16
        NULL, HFILL }},
6237
16
  };
6238
6239
  /* List of subtrees */
6240
16
  static int *ett[] = {
6241
6242
/* --- Modules H4501-Supplementary-ServiceAPDU-Structure Addressing-Data-Elements H225-generic-parameters-definition Manufacturer-specific-service-extension-definition H4501-General-Error-List --- --- --- */
6243
6244
16
    &ett_h450_H4501SupplementaryService,
6245
16
    &ett_h450_NetworkFacilityExtension,
6246
16
    &ett_h450_EntityType,
6247
16
    &ett_h450_InterpretationApdu,
6248
16
    &ett_h450_ServiceApdus,
6249
16
    &ett_h450_T_rosApdus,
6250
16
    &ett_h450_EndpointAddress,
6251
16
    &ett_h450_SEQUENCE_OF_AliasAddress,
6252
16
    &ett_h450_PartySubaddress,
6253
16
    &ett_h450_UserSpecifiedSubaddress,
6254
16
    &ett_h450_Extension,
6255
6256
/* --- Module Call-Transfer-Operations --- --- ---                            */
6257
6258
16
    &ett_h450_2_DummyArg,
6259
16
    &ett_h450_2_DummyRes,
6260
16
    &ett_h450_2_CTInitiateArg,
6261
16
    &ett_h450_2_T_cTInitiateArg_argumentExtension,
6262
16
    &ett_h450_2_CTSetupArg,
6263
16
    &ett_h450_2_T_cTSetupArg_argumentExtension,
6264
16
    &ett_h450_2_CTIdentifyRes,
6265
16
    &ett_h450_2_T_resultExtension,
6266
16
    &ett_h450_2_CTUpdateArg,
6267
16
    &ett_h450_2_T_cTUpdateArg_argumentExtension,
6268
16
    &ett_h450_2_SubaddressTransferArg,
6269
16
    &ett_h450_2_T_subaddressTransferArg_argumentExtension,
6270
16
    &ett_h450_2_CTCompleteArg,
6271
16
    &ett_h450_2_T_cTCompleteArg_argumentExtension,
6272
16
    &ett_h450_2_CTActiveArg,
6273
16
    &ett_h450_2_T_cTActiveArg_argumentExtension,
6274
16
    &ett_h450_2_ExtensionSeq,
6275
16
    &ett_h450_2_PAR_unspecified,
6276
6277
/* --- Module Call-Diversion-Operations --- --- ---                           */
6278
6279
16
    &ett_h450_3_ARG_activateDiversionQ,
6280
16
    &ett_h450_3_ActivateDiversionQArg_extension,
6281
16
    &ett_h450_3_RES_activateDiversionQ,
6282
16
    &ett_h450_3_ARG_deactivateDiversionQ,
6283
16
    &ett_h450_3_DeactivateDiversionQArg_extension,
6284
16
    &ett_h450_3_RES_deactivateDiversionQ,
6285
16
    &ett_h450_3_ARG_interrogateDiversionQ,
6286
16
    &ett_h450_3_InterrogateDiversionQ_extension,
6287
16
    &ett_h450_3_ARG_checkRestriction,
6288
16
    &ett_h450_3_CheckRestrictionArg_extension,
6289
16
    &ett_h450_3_RES_checkRestriction,
6290
16
    &ett_h450_3_ARG_callRerouting,
6291
16
    &ett_h450_3_CallReroutingArg_extension,
6292
16
    &ett_h450_3_RES_callRerouting,
6293
16
    &ett_h450_3_ARG_divertingLegInformation1,
6294
16
    &ett_h450_3_DivertingLegInformation1Arg_extension,
6295
16
    &ett_h450_3_ARG_divertingLegInformation2,
6296
16
    &ett_h450_3_DivertingLegInformation2Arg_extension,
6297
16
    &ett_h450_3_ARG_divertingLegInformation3,
6298
16
    &ett_h450_3_DivertingLegInformation3Arg_extension,
6299
16
    &ett_h450_3_ARG_divertingLegInformation4,
6300
16
    &ett_h450_3_DivertingLegInformation4Arg_extension,
6301
16
    &ett_h450_3_ARG_cfnrDivertedLegFailed,
6302
16
    &ett_h450_3_IntResultList,
6303
16
    &ett_h450_3_IntResult,
6304
16
    &ett_h450_3_IntResult_extension,
6305
16
    &ett_h450_3_PAR_unspecified,
6306
16
    &ett_h450_3_ExtensionSeq,
6307
6308
/* --- Module Call-Hold-Operations --- --- ---                                */
6309
6310
16
    &ett_h450_4_HoldNotificArg,
6311
16
    &ett_h450_4_SEQUENCE_SIZE_0_255_OF_MixedExtension,
6312
16
    &ett_h450_4_RetrieveNotificArg,
6313
16
    &ett_h450_4_RemoteHoldArg,
6314
16
    &ett_h450_4_RemoteHoldRes,
6315
16
    &ett_h450_4_RemoteRetrieveArg,
6316
16
    &ett_h450_4_RemoteRetrieveRes,
6317
16
    &ett_h450_4_MixedExtension,
6318
16
    &ett_h450_4_PAR_undefined,
6319
6320
/* --- Module Call-Park-Pickup-Operations --- --- ---                         */
6321
6322
16
    &ett_h450_5_CpRequestArg,
6323
16
    &ett_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension,
6324
16
    &ett_h450_5_CpRequestRes,
6325
16
    &ett_h450_5_CpSetupArg,
6326
16
    &ett_h450_5_CpSetupRes,
6327
16
    &ett_h450_5_GroupIndicationOnArg,
6328
16
    &ett_h450_5_GroupIndicationOnRes,
6329
16
    &ett_h450_5_GroupIndicationOffArg,
6330
16
    &ett_h450_5_GroupIndicationOffRes,
6331
16
    &ett_h450_5_PickrequArg,
6332
16
    &ett_h450_5_PickrequRes,
6333
16
    &ett_h450_5_PickupArg,
6334
16
    &ett_h450_5_PickupRes,
6335
16
    &ett_h450_5_PickExeArg,
6336
16
    &ett_h450_5_PickExeRes,
6337
16
    &ett_h450_5_CpNotifyArg,
6338
16
    &ett_h450_5_CpickupNotifyArg,
6339
16
    &ett_h450_5_PAR_undefined,
6340
6341
/* --- Module Call-Waiting-Operations --- --- ---                             */
6342
6343
16
    &ett_h450_6_CallWaitingArg,
6344
16
    &ett_h450_6_SEQUENCE_SIZE_0_255_OF_MixedExtension,
6345
6346
/* --- Module Message-Waiting-Indication-Operations --- --- ---               */
6347
6348
16
    &ett_h450_7_MWIActivateArg,
6349
16
    &ett_h450_7_SEQUENCE_SIZE_0_255_OF_MixedExtension,
6350
16
    &ett_h450_7_DummyRes,
6351
16
    &ett_h450_7_MWIDeactivateArg,
6352
16
    &ett_h450_7_MWIInterrogateArg,
6353
16
    &ett_h450_7_MWIInterrogateRes,
6354
16
    &ett_h450_7_MWIInterrogateResElt,
6355
16
    &ett_h450_7_MsgCentreId,
6356
16
    &ett_h450_7_PAR_undefined,
6357
6358
/* --- Module Name-Operations --- --- ---                                     */
6359
6360
16
    &ett_h450_8_ARG_callingName,
6361
16
    &ett_h450_8_SEQUENCE_SIZE_0_255_OF_MixedExtension,
6362
16
    &ett_h450_8_ARG_alertingName,
6363
16
    &ett_h450_8_ARG_connectedName,
6364
16
    &ett_h450_8_ARG_busyName,
6365
16
    &ett_h450_8_Name,
6366
16
    &ett_h450_8_NamePresentationAllowed,
6367
16
    &ett_h450_8_NamePresentationRestricted,
6368
6369
/* --- Module Call-Completion-Operations --- --- ---                          */
6370
6371
16
    &ett_h450_9_CcRequestArg,
6372
16
    &ett_h450_9_SEQUENCE_SIZE_0_255_OF_MixedExtension,
6373
16
    &ett_h450_9_CcRequestRes,
6374
16
    &ett_h450_9_CcArg,
6375
16
    &ett_h450_9_CcShortArg,
6376
16
    &ett_h450_9_CcLongArg,
6377
6378
/* --- Module Call-Offer-Operations --- --- ---                               */
6379
6380
16
    &ett_h450_10_CoReqOptArg,
6381
16
    &ett_h450_10_SEQUENCE_SIZE_0_255_OF_MixedExtension,
6382
16
    &ett_h450_10_RUAlertOptArg,
6383
16
    &ett_h450_10_CfbOvrOptArg,
6384
6385
/* --- Module Call-Intrusion-Operations --- --- ---                           */
6386
6387
16
    &ett_h450_11_CIRequestArg,
6388
16
    &ett_h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension,
6389
16
    &ett_h450_11_CIRequestRes,
6390
16
    &ett_h450_11_CIGetCIPLOptArg,
6391
16
    &ett_h450_11_CIGetCIPLRes,
6392
16
    &ett_h450_11_CIIsOptArg,
6393
16
    &ett_h450_11_CIIsOptRes,
6394
16
    &ett_h450_11_CIFrcRelArg,
6395
16
    &ett_h450_11_CIFrcRelOptRes,
6396
16
    &ett_h450_11_CIWobOptArg,
6397
16
    &ett_h450_11_CIWobOptRes,
6398
16
    &ett_h450_11_CISilentArg,
6399
16
    &ett_h450_11_CISilentOptRes,
6400
16
    &ett_h450_11_CINotificationArg,
6401
16
    &ett_h450_11_CIStatusInformation,
6402
6403
/* --- Module Common-Information-Operations --- --- ---                       */
6404
6405
16
    &ett_h450_12_CmnArg,
6406
16
    &ett_h450_12_SEQUENCE_SIZE_0_255_OF_MixedExtension,
6407
16
    &ett_h450_12_DummyArg,
6408
16
    &ett_h450_12_FeatureList,
6409
16
    &ett_h450_12_FeatureValues,
6410
16
    &ett_h450_12_FeatureControl,
6411
16
  };
6412
6413
16
  static ei_register_info ei[] = {
6414
16
    { &ei_h450_unsupported_arg_type, { "h450.unsupported.arg_type", PI_UNDECODED, PI_WARN, "UNSUPPORTED ARGUMENT TYPE (H.450)", EXPFILL }},
6415
16
    { &ei_h450_unsupported_result_type, { "h450.unsupported.result_type", PI_UNDECODED, PI_WARN, "UNSUPPORTED RESULT TYPE (H.450)", EXPFILL }},
6416
16
    { &ei_h450_unsupported_error_type, { "h450.unsupported.error_type", PI_UNDECODED, PI_WARN, "UNSUPPORTED ERROR TYPE (H.450)", EXPFILL }},
6417
16
  };
6418
6419
16
  expert_module_t* expert_h450;
6420
6421
  /* Register protocol */
6422
16
  proto_h450 = proto_register_protocol("H.450 Supplementary Services", "H.450", "h450");
6423
16
  register_dissector("h4501", dissect_h450_H4501SupplementaryService_PDU, proto_h450);
6424
  /* Register fields and subtrees */
6425
16
  proto_register_field_array(proto_h450, hf, array_length(hf));
6426
16
  proto_register_subtree_array(ett, array_length(ett));
6427
16
  expert_h450 = expert_register_protocol(proto_h450);
6428
16
  expert_register_field_array(expert_h450, ei, array_length(ei));
6429
6430
16
  rose_ctx_init(&h450_rose_ctx);
6431
6432
  /* Register dissectors */
6433
16
  h450_arg_handle = register_dissector("h4501_arg", dissect_h450_arg, proto_h450);
6434
16
  h450_res_handle = register_dissector("h4501_res", dissect_h450_res, proto_h450);
6435
16
  h450_err_handle = register_dissector("h4501_err", dissect_h450_err, proto_h450);
6436
6437
  /* Register dissector tables */
6438
16
  h450_rose_ctx.arg_global_dissector_table = register_dissector_table("h450.ros.global.arg", "H.450 Operation Argument (global opcode)", proto_h450, FT_STRING, STRING_CASE_SENSITIVE);
6439
16
  h450_rose_ctx.res_global_dissector_table = register_dissector_table("h450.ros.global.res", "H.450 Operation Result (global opcode)", proto_h450, FT_STRING, STRING_CASE_SENSITIVE);
6440
16
  h450_rose_ctx.arg_local_dissector_table = register_dissector_table("h450.ros.local.arg", "H.450 Operation Argument (local opcode)", proto_h450, FT_UINT32, BASE_HEX);
6441
16
  h450_rose_ctx.res_local_dissector_table = register_dissector_table("h450.ros.local.res", "H.450 Operation Result (local opcode)", proto_h450, FT_UINT32, BASE_HEX);
6442
16
  h450_rose_ctx.err_global_dissector_table = register_dissector_table("h450.ros.global.err", "H.450 Error (global opcode)", proto_h450, FT_STRING, STRING_CASE_SENSITIVE);
6443
16
  h450_rose_ctx.err_local_dissector_table = register_dissector_table("h450.ros.local.err", "H.450 Error (local opcode)", proto_h450, FT_UINT32, BASE_HEX);
6444
6445
16
}
6446
6447
6448
/*--- proto_reg_handoff_h450 ---------------------------------------*/
6449
void
6450
proto_reg_handoff_h450(void)
6451
16
{
6452
16
  int i;
6453
6454
944
  for (i=0; i<(int)array_length(h450_op_tab); i++) {
6455
928
    dissector_add_uint("h450.ros.local.arg", h450_op_tab[i].opcode, h450_arg_handle);
6456
928
    dissector_add_uint("h450.ros.local.res", h450_op_tab[i].opcode, h450_res_handle);
6457
928
  }
6458
624
  for (i=0; i<(int)array_length(h450_err_tab); i++) {
6459
608
    dissector_add_uint("h450.ros.local.err", h450_err_tab[i].errcode, h450_err_handle);
6460
608
  }
6461
6462
16
}